You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

files_sharing_tab.js.map 5.3MB

1
  1. {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/ical.js/build/ical.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/@nextcloud/axios/dist/index.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/@nextcloud/router/dist/index.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@nextcloud/auth/dist/index.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/escape-html/index.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///./node_modules/@nextcloud/initial-state/dist/index.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/Avatar.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionButton.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-object.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/@nextcloud/l10n/dist/gettext.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/has.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionLink.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/Actions.js","webpack:///./node_modules/@nextcloud/vue/dist/Directives/Tooltip.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/v-click-outside/dist/v-click-outside.umd.js","webpack:///./node_modules/striptags/src/striptags.js","webpack:///./node_modules/linkifyjs/string.js","webpack:///./node_modules/md5/md5.js","webpack:///./node_modules/@nextcloud/capabilities/dist/index.js","webpack:///./node_modules/@nextcloud/browser-storage/dist/index.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/export.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/@nextcloud/l10n/dist/index.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/linkifyjs/lib/linkify/utils/class.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-length.js","webpack:///./node_modules/vue-material-design-icons/DotsHorizontal.vue?04c4","webpack:///./node_modules/vue-material-design-icons/DotsHorizontal.vue?9b49","webpack:///node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack:///./node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack:///./node_modules/debounce/index.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionText.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionCheckbox.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionInput.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionTextEditable.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/internals/array-species-constructor.js","webpack:///./node_modules/core-js/modules/es.symbol.js","webpack:///./node_modules/core-js/modules/es.symbol.description.js","webpack:///./node_modules/core-js/modules/es.array.slice.js","webpack:///./node_modules/core-js/modules/es.symbol.iterator.js","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/@nextcloud/auth/dist/requesttoken.js","webpack:///./node_modules/core-js/modules/es.array.for-each.js","webpack:///./node_modules/@nextcloud/auth/node_modules/@nextcloud/event-bus/dist/index.es.js","webpack:///./node_modules/@nextcloud/auth/dist/user.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/text.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/set-global.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-object.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/vue-multiselect/dist/vue-multiselect.min.js","webpack:///../lib/index.ts","webpack:///./node_modules/semver/internal/constants.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Components/Avatar.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Directives/Tooltip.js","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue?1130","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue?7ce8","webpack:///./apps/files_sharing/src/components/SharingInput.vue?39dd","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue?7bbb","webpack:///./apps/files_sharing/src/views/SharingInherited.vue?77b7","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue?fe50","webpack:///./apps/files_sharing/src/components/SharingEntry.vue?b903","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./node_modules/lodash/_assignMergeValue.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/lodash/_safeGet.js","webpack:///./node_modules/lodash/keysIn.js","webpack:///./node_modules/lodash/identity.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/core-js/internals/dom-token-list-prototype.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/core-js/internals/define-well-known-symbol.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/router/dist/index.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///../node_modules/core-js/internals/global.js","webpack:///../node_modules/core-js/internals/fails.js","webpack:///../node_modules/core-js/internals/descriptors.js","webpack:///../node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///../node_modules/core-js/internals/create-property-descriptor.js","webpack:///../node_modules/core-js/internals/classof-raw.js","webpack:///../node_modules/core-js/internals/indexed-object.js","webpack:///../node_modules/core-js/internals/require-object-coercible.js","webpack:///../node_modules/core-js/internals/to-indexed-object.js","webpack:///../node_modules/core-js/internals/is-object.js","webpack:///../node_modules/core-js/internals/to-primitive.js","webpack:///../node_modules/core-js/internals/to-object.js","webpack:///../node_modules/core-js/internals/has.js","webpack:///../node_modules/core-js/internals/document-create-element.js","webpack:///../node_modules/core-js/internals/ie8-dom-define.js","webpack:///../node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///../node_modules/core-js/internals/an-object.js","webpack:///../node_modules/core-js/internals/object-define-property.js","webpack:///../node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///../node_modules/core-js/internals/set-global.js","webpack:///../node_modules/core-js/internals/shared-store.js","webpack:///../node_modules/core-js/internals/inspect-source.js","webpack:///../node_modules/core-js/internals/internal-state.js","webpack:///../node_modules/core-js/internals/native-weak-map.js","webpack:///../node_modules/core-js/internals/shared.js","webpack:///../node_modules/core-js/internals/uid.js","webpack:///../node_modules/core-js/internals/shared-key.js","webpack:///../node_modules/core-js/internals/hidden-keys.js","webpack:///../node_modules/core-js/internals/redefine.js","webpack:///../node_modules/core-js/internals/path.js","webpack:///../node_modules/core-js/internals/get-built-in.js","webpack:///../node_modules/core-js/internals/to-integer.js","webpack:///../node_modules/core-js/internals/to-length.js","webpack:///../node_modules/core-js/internals/to-absolute-index.js","webpack:///../node_modules/core-js/internals/array-includes.js","webpack:///../node_modules/core-js/internals/object-keys-internal.js","webpack:///../node_modules/core-js/internals/enum-bug-keys.js","webpack:///../node_modules/core-js/internals/object-get-own-property-names.js","webpack:///../node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///../node_modules/core-js/internals/own-keys.js","webpack:///../node_modules/core-js/internals/copy-constructor-properties.js","webpack:///../node_modules/core-js/internals/is-forced.js","webpack:///../node_modules/core-js/internals/export.js","webpack:///../node_modules/core-js/modules/es.number.max-safe-integer.js","webpack:///../node_modules/core-js/internals/a-possible-prototype.js","webpack:///../node_modules/core-js/internals/object-create.js","webpack:///../node_modules/core-js/internals/object-set-prototype-of.js","webpack:///../node_modules/core-js/internals/inherit-if-required.js","webpack:///../node_modules/core-js/internals/object-keys.js","webpack:///../node_modules/core-js/internals/object-define-properties.js","webpack:///../node_modules/core-js/internals/html.js","webpack:///../node_modules/core-js/internals/whitespaces.js","webpack:///../node_modules/core-js/internals/string-trim.js","webpack:///../node_modules/core-js/modules/es.number.constructor.js","webpack:///../node_modules/semver/internal/constants.js","webpack:///../node_modules/core-js/internals/engine-v8-version.js","webpack:///../node_modules/core-js/internals/engine-is-node.js","webpack:///../node_modules/core-js/internals/engine-user-agent.js","webpack:///../node_modules/core-js/internals/native-symbol.js","webpack:///../node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///../node_modules/core-js/internals/well-known-symbol.js","webpack:///../node_modules/core-js/internals/is-regexp.js","webpack:///../node_modules/core-js/internals/regexp-flags.js","webpack:///../node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///../node_modules/core-js/internals/set-species.js","webpack:///../node_modules/core-js/modules/es.regexp.constructor.js","webpack:///../node_modules/core-js/internals/regexp-exec.js","webpack:///../node_modules/core-js/modules/es.regexp.exec.js","webpack:///../node_modules/core-js/modules/es.regexp.to-string.js","webpack:///../node_modules/core-js/internals/is-array.js","webpack:///../node_modules/core-js/internals/create-property.js","webpack:///../node_modules/core-js/internals/array-species-create.js","webpack:///../node_modules/core-js/internals/array-method-has-species-support.js","webpack:///../node_modules/core-js/modules/es.array.concat.js","webpack:///../node_modules/semver/internal/debug.js","webpack:///../node_modules/semver/internal/re.js","webpack:///../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///../node_modules/core-js/internals/string-multibyte.js","webpack:///../node_modules/core-js/internals/advance-string-index.js","webpack:///../node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///../node_modules/core-js/modules/es.string.match.js","webpack:///../node_modules/core-js/internals/string-trim-forced.js","webpack:///../node_modules/core-js/modules/es.string.trim.js","webpack:///../node_modules/core-js/internals/a-function.js","webpack:///../node_modules/core-js/internals/function-bind-context.js","webpack:///../node_modules/core-js/internals/array-iteration.js","webpack:///../node_modules/core-js/modules/es.array.map.js","webpack:///../node_modules/core-js/internals/species-constructor.js","webpack:///../node_modules/core-js/modules/es.string.split.js","webpack:///../node_modules/core-js/internals/array-method-is-strict.js","webpack:///../node_modules/core-js/modules/es.array.join.js","webpack:///../node_modules/core-js/modules/es.array.filter.js","webpack:///../node_modules/semver/internal/parse-options.js","webpack:///../node_modules/semver/internal/identifiers.js","webpack:///../node_modules/semver/classes/semver.js","webpack:///../node_modules/semver/functions/parse.js","webpack:///../node_modules/semver/functions/valid.js","webpack:///../node_modules/semver/functions/major.js","webpack:///../node_modules/core-js/internals/add-to-unscopables.js","webpack:///../node_modules/core-js/internals/iterators-core.js","webpack:///../node_modules/core-js/internals/iterators.js","webpack:///../node_modules/core-js/internals/correct-prototype-getter.js","webpack:///../node_modules/core-js/internals/object-get-prototype-of.js","webpack:///../node_modules/core-js/internals/set-to-string-tag.js","webpack:///../node_modules/core-js/internals/create-iterator-constructor.js","webpack:///../node_modules/core-js/internals/define-iterator.js","webpack:///../node_modules/core-js/modules/es.array.iterator.js","webpack:///../node_modules/core-js/internals/freezing.js","webpack:///../node_modules/core-js/internals/internal-metadata.js","webpack:///../node_modules/core-js/internals/is-array-iterator-method.js","webpack:///../node_modules/core-js/internals/to-string-tag-support.js","webpack:///../node_modules/core-js/internals/classof.js","webpack:///../node_modules/core-js/internals/get-iterator-method.js","webpack:///../node_modules/core-js/internals/iterator-close.js","webpack:///../node_modules/core-js/internals/iterate.js","webpack:///../node_modules/core-js/internals/an-instance.js","webpack:///../node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///../node_modules/core-js/internals/redefine-all.js","webpack:///../node_modules/core-js/internals/collection-strong.js","webpack:///../node_modules/core-js/internals/collection.js","webpack:///../node_modules/core-js/modules/es.map.js","webpack:///../node_modules/core-js/internals/object-to-string.js","webpack:///../node_modules/core-js/modules/es.object.to-string.js","webpack:///../node_modules/core-js/modules/es.string.iterator.js","webpack:///../node_modules/core-js/internals/dom-iterables.js","webpack:///../node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///../node_modules/core-js/internals/array-for-each.js","webpack:///../node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/state.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/create-token-class.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/charenc/charenc.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/an-object.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/uid.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-array.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/v8-version.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.map.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.string.starts-with.js","webpack:///./node_modules/@nextcloud/browser-storage/dist/scopedstorage.js","webpack:///./node_modules/core-js/modules/es.array.includes.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es.array.flat.js","webpack:///./node_modules/core-js/modules/es.string.match.js","webpack:///./node_modules/core-js/modules/es.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es.string.code-point-at.js","webpack:///./node_modules/semver/internal/re.js","webpack:///./node_modules/semver/internal/debug.js","webpack:///./node_modules/semver/classes/semver.js","webpack:///./node_modules/semver/internal/parse-options.js","webpack:///./node_modules/vue-material-design-icons/ArrowRight.vue?d360","webpack:///./node_modules/vue-material-design-icons/ArrowRight.vue?2bca","webpack:///node_modules/vue-material-design-icons/ArrowRight.vue","webpack:///./node_modules/vue-material-design-icons/ArrowRight.vue","webpack:///./node_modules/vue-clipboard2/vue-clipboard.js","webpack:///./node_modules/nextcloud-vue-collections/dist/nextcloud-vue-collections.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Components/Actions.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/lodash/isEqual.js","webpack:///./node_modules/v-tooltip/node_modules/vue-resize/dist/vue-resize.esm.js","webpack:///./node_modules/lodash/merge.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Components/ActionButton.js","webpack:///./node_modules/nextcloud-vue-collections/node_modules/@nextcloud/vue/dist/Components/Multiselect.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/Multiselect.js","webpack:///./node_modules/@nextcloud/paths/dist/index.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///./node_modules/@nextcloud/vue/dist/Components/ActionRadio.js","webpack:///./node_modules/clipboard/dist/clipboard.min.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/lodash/_stackClear.js","webpack:///./node_modules/lodash/_stackDelete.js","webpack:///./node_modules/lodash/_stackGet.js","webpack:///./node_modules/lodash/_stackHas.js","webpack:///./node_modules/lodash/_stackSet.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_equalByTag.js","webpack:///./node_modules/lodash/_mapToArray.js","webpack:///./node_modules/lodash/_setToArray.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/lodash/_arrayPush.js","webpack:///./node_modules/lodash/_getSymbols.js","webpack:///./node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/lodash/stubArray.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_DataView.js","webpack:///./node_modules/lodash/_Promise.js","webpack:///./node_modules/lodash/_Set.js","webpack:///./node_modules/lodash/_WeakMap.js","webpack:///./node_modules/lodash/_baseMerge.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/lodash/_baseMergeDeep.js","webpack:///./node_modules/lodash/_cloneBuffer.js","webpack:///./node_modules/lodash/_cloneTypedArray.js","webpack:///./node_modules/lodash/_cloneArrayBuffer.js","webpack:///./node_modules/lodash/_copyArray.js","webpack:///./node_modules/lodash/_initCloneObject.js","webpack:///./node_modules/lodash/_baseCreate.js","webpack:///./node_modules/lodash/isArrayLikeObject.js","webpack:///./node_modules/lodash/isPlainObject.js","webpack:///./node_modules/lodash/toPlainObject.js","webpack:///./node_modules/lodash/_copyObject.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_baseKeysIn.js","webpack:///./node_modules/lodash/_nativeKeysIn.js","webpack:///./node_modules/lodash/_createAssigner.js","webpack:///./node_modules/lodash/_baseRest.js","webpack:///./node_modules/lodash/_overRest.js","webpack:///./node_modules/lodash/_apply.js","webpack:///./node_modules/lodash/_setToString.js","webpack:///./node_modules/lodash/_baseSetToString.js","webpack:///./node_modules/lodash/constant.js","webpack:///./node_modules/lodash/_shortOut.js","webpack:///./node_modules/lodash/_isIterateeCall.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/node-gettext/lib/gettext.js","webpack:///./node_modules/lodash.get/index.js","webpack:///./node_modules/node-gettext/lib/plurals.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/core-js/modules/es.array.index-of.js","webpack:///./node_modules/linkifyjs/lib/linkify-string.js","webpack:///./node_modules/linkifyjs/lib/linkify.js","webpack:///./node_modules/linkifyjs/lib/linkify/utils/options.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/scanner.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/parser.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/multi.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/engine-is-ios-pebble.js","webpack:///./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/core-js/internals/engine-is-browser.js","webpack:///./node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/crypt/crypt.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/redefine.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/path.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/bind-context.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/a-function.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/user-agent.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/not-a-regexp.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/correct-is-regexp-logic.js","webpack:///./node_modules/@nextcloud/browser-storage/dist/storagebuilder.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/@nextcloud/browser-storage/node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/flatten-into-array.js","webpack:///./node_modules/core-js/modules/es.array.reduce.js","webpack:///./node_modules/core-js/internals/array-reduce.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///../lib/ProxyBus.ts","webpack:///./node_modules/semver/functions/valid.js","webpack:///./node_modules/semver/functions/parse.js","webpack:///./node_modules/semver/internal/identifiers.js","webpack:///./node_modules/semver/functions/major.js","webpack:///../lib/SimpleBus.ts","webpack:///./node_modules/url-search-params-polyfill/index.js","webpack:///./node_modules/@nextcloud/logger/dist/index.js","webpack:///./node_modules/@nextcloud/logger/dist/ConsoleLogger.js","webpack:///./node_modules/@nextcloud/logger/dist/contracts.js","webpack:///./node_modules/@nextcloud/logger/dist/LoggerBuilder.js","webpack:///./apps/files_sharing/src/services/ConfigService.js","webpack:///./apps/files_sharing/src/models/Share.js","webpack:///./apps/files_sharing/src/mixins/ShareTypes.js","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue?5c05","webpack:///apps/files_sharing/src/components/SharingEntrySimple.vue","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue?b9e5","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue","webpack:///./apps/files_sharing/src/components/SharingEntrySimple.vue?b770","webpack:///apps/files_sharing/src/components/SharingEntryInternal.vue","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue?5d83","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue?02ab","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue","webpack:///./apps/files_sharing/src/components/SharingEntryInternal.vue?d8cf","webpack:///./apps/files_sharing/src/utils/GeneratePassword.js","webpack:///./apps/files_sharing/src/mixins/ShareRequests.js","webpack:///apps/files_sharing/src/components/SharingInput.vue","webpack:///./apps/files_sharing/src/components/SharingInput.vue?c43f","webpack:///./apps/files_sharing/src/components/SharingInput.vue?fdeb","webpack:///./apps/files_sharing/src/components/SharingInput.vue","webpack:///./apps/files_sharing/src/components/SharingInput.vue?aa34","webpack:///./node_modules/p-timeout/index.js","webpack:///./node_modules/p-queue/dist/priority-queue.js","webpack:///./node_modules/p-queue/dist/lower-bound.js","webpack:///./node_modules/p-queue/dist/index.js","webpack:///./apps/files_sharing/src/mixins/SharesMixin.js","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue?ad66","webpack:///apps/files_sharing/src/components/SharingEntryInherited.vue","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue?9c75","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue","webpack:///./apps/files_sharing/src/components/SharingEntryInherited.vue?f2f0","webpack:///apps/files_sharing/src/views/SharingInherited.vue","webpack:///./apps/files_sharing/src/views/SharingInherited.vue?b3b1","webpack:///./apps/files_sharing/src/views/SharingInherited.vue?fbba","webpack:///./apps/files_sharing/src/views/SharingInherited.vue","webpack:///./apps/files_sharing/src/views/SharingInherited.vue?dc74","webpack:///apps/files_sharing/src/components/SharingEntryLink.vue","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue?3d3a","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue?c051","webpack:///./apps/files_sharing/src/views/SharingLinkList.vue?8435","webpack:///apps/files_sharing/src/views/SharingLinkList.vue","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue","webpack:///./apps/files_sharing/src/components/SharingEntryLink.vue?6b98","webpack:///./apps/files_sharing/src/views/SharingLinkList.vue","webpack:///./apps/files_sharing/src/views/SharingLinkList.vue?f11f","webpack:///apps/files_sharing/src/components/SharingEntry.vue","webpack:///./apps/files_sharing/src/components/SharingEntry.vue?80b0","webpack:///./apps/files_sharing/src/components/SharingEntry.vue?4515","webpack:///apps/files_sharing/src/views/SharingList.vue","webpack:///./apps/files_sharing/src/views/SharingList.vue?2354","webpack:///./apps/files_sharing/src/components/SharingEntry.vue","webpack:///./apps/files_sharing/src/components/SharingEntry.vue?4c8b","webpack:///./apps/files_sharing/src/views/SharingList.vue","webpack:///./apps/files_sharing/src/views/SharingList.vue?910b","webpack:///apps/files_sharing/src/views/SharingTab.vue","webpack:///./apps/files_sharing/src/views/SharingTab.vue?4620","webpack:///./apps/files_sharing/src/utils/SharedWithMe.js","webpack:///./apps/files_sharing/src/views/SharingTab.vue","webpack:///./apps/files_sharing/src/views/SharingTab.vue?9823","webpack:///./apps/files_sharing/src/services/ShareSearch.js","webpack:///./apps/files_sharing/src/services/ExternalLinkActions.js","webpack:///./apps/files_sharing/src/services/TabSections.js","webpack:///./apps/files_sharing/src/files_sharing_tab.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/abstractParser.js","webpack:///./node_modules/@nextcloud/calendar-js/src/errors/modificationNotAllowedError.js","webpack:///./node_modules/@nextcloud/calendar-js/src/traits/lockable.js","webpack:///./node_modules/@nextcloud/calendar-js/src/errors/expectedICalJSError.js","webpack:///./node_modules/@nextcloud/calendar-js/src/helpers/stringHelper.js","webpack:///./node_modules/@nextcloud/calendar-js/src/config.js","webpack:///./node_modules/@nextcloud/calendar-js/src/factories/icalFactory.js","webpack:///./node_modules/@nextcloud/calendar-js/src/traits/observer.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parameters/parameter.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/abstractValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/binaryValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/durationValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/dateTimeValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/periodValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/recurValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/utcOffsetValue.js","webpack:///./node_modules/@nextcloud/calendar-js/src/errors/unknownICALTypeError.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/property.js","webpack:///./node_modules/@nextcloud/calendar-js/src/values/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/attachmentProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/attendeeProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/conferenceProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/freeBusyProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/geoProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/imageProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/relationProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/requestStatusProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/textProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/triggerProperty.js","webpack:///./node_modules/@nextcloud/calendar-js/src/properties/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/abstractComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/factories/dateFactory.js","webpack:///./node_modules/@nextcloud/calendar-js/src/errors/recurringWithoutDtStartError.js","webpack:///./node_modules/@nextcloud/calendar-js/src/recurrence/recurrenceManager.js","webpack:///./node_modules/uuid/dist/esm-browser/rng.js","webpack:///./node_modules/uuid/dist/esm-browser/regex.js","webpack:///./node_modules/uuid/dist/esm-browser/stringify.js","webpack:///./node_modules/uuid/dist/esm-browser/validate.js","webpack:///./node_modules/uuid/dist/esm-browser/v4.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/timezoneComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/timezones/timezone.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/nested/alarmComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/abstractRecurringComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/nested/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/helpers/birthdayHelper.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/eventComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/freeBusyComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/journalComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/toDoComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/root/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/components/calendarComponent.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/abstractRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarAddMissingUIDRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarAddMissingValueDateDoubleColonRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarAddMissingValueDateRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarEmptyTriggerRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarIllegalCreatedRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarMultipleVCalendarBlocksRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/icalendarRemoveXNCGroupIdRepairStep.js","webpack:///./node_modules/@nextcloud/calendar-js/src/timezones/timezoneManager.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/icalendarParser.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/repairsteps/icalendar/index.js","webpack:///./node_modules/@nextcloud/calendar-js/src/parsers/parserManager.js","webpack:///./node_modules/@nextcloud/calendar-js/src/timezones/timezoneAdapter.js","webpack:///./node_modules/@nextcloud/calendar-js/src/index.js","webpack:///./node_modules/date-format-parse/es/util.js","webpack:///./node_modules/date-format-parse/es/locale/en.js","webpack:///./node_modules/date-format-parse/es/format.js","webpack:///./node_modules/date-format-parse/es/parse.js","webpack:///./node_modules/vue2-datepicker/index.esm.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","OPTIONS","zones","TimezoneService","ICAL","foldLength","newLineChar","helpers","updateTimezones","vcal","allsubs","properties","vtimezones","reqTzid","tzid","getAllSubcomponents","length","getFirstProperty","getFirstValue","concat","getAllProperties","getParameter","removeSubcomponent","has","addSubcomponent","component","isStrictlyNaN","number","isNaN","strictParseInt","string","result","parseInt","Error","formatClassType","data","type","unescapedIndexOf","buffer","search","pos","indexOf","binsearchInsert","list","seekVal","cmpfunc","mid","cmpval","low","high","Math","floor","dumpn","debug","console","input","log","dump","arguments","clone","aSrc","aDeep","Date","getTime","Array","isArray","arr","push","obj","foldline","aLine","line","substr","pad2","String","trunc","ceil","inherits","base","child","extra","F","extend","source","target","descr","getOwnPropertyDescriptor","design","FROM_VCARD_NEWLINE","TO_VCARD_NEWLINE","createTextType","fromNewline","toNewline","matches","fromICAL","aValue","structuredEscape","newline","RegExp","replace","replaceNewlineReplace","replaceNewline","toICAL","regEx","str","DEFAULT_TYPE_TEXT","defaultType","DEFAULT_TYPE_TEXT_MULTI","multiValue","DEFAULT_TYPE_TEXT_STRUCTURED","structuredValue","DEFAULT_TYPE_INTEGER","DEFAULT_TYPE_DATETIME_DATE","allowedTypes","DEFAULT_TYPE_DATETIME","DEFAULT_TYPE_URI","DEFAULT_TYPE_UTCOFFSET","DEFAULT_TYPE_RECUR","DEFAULT_TYPE_DATE_ANDOR_TIME","commonProperties","commonValues","values","float","parsed","parseFloat","integer","decorate","UtcOffset","fromString","undecorate","toString","icalValues","text","uri","aString","Binary","aBinary","aProp","strict","Time","fromDateString","len","date","fromDateTimeString","duration","Duration","period","parts","split","isValueString","join","Period","fromJSON","toJSON","recur","Recur","_stringToData","k","val","numericDayToIcalDay","toUpperCase","fromData","aRecur","time","icalProperties","detectType","vcardValues","VCardTime","fromDateAndOrTimeString","splitzone","_splitZone","zone","isFromIcal","lastChar","signChar","sign","timestamp","vcardProperties","vcard3Values","binary","vcard","vcard3Properties","fn","nickname","photo","bday","adr","label","tel","email","mailer","tz","geo","title","role","logo","agent","org","note","prodid","rev","sound","class","icalSet","param","allowXName","allowIanaToken","valueType","multiValueSeparateDQuote","vcardSet","vcard3Set","defaultSet","components","vcard3","vevent","vtodo","vjournal","valarm","vtimezone","daylight","standard","icalendar","getDesignSet","componentName","stringify","jCal","designSet","props","propIdx","propLen","designSetName","comps","compIdx","compLen","noFold","paramName","jsName","params","map","_rfc6868Unescape","propertyValue","propDetails","isDefault","slice","delim","innerMulti","x","RFC6868_REPLACE_MAP","parse","CHAR","ParserError","message","this","e","stack","shift","parser","state","root","_eachLine","err","_handleContentLine","lastParamIndex","lastValuePos","parsedParams","valuePos","paramPos","substring","toLowerCase","_parseParameters","newComponent","pop","propertyDetails","_parseMultiValue","_parseValue","start","lcname","mvdelim","lastParam","_rfc6868Escape","extendedValue","nextPos","propValuePos","delimiter","lastPos","callback","firstChar","newlineOffset","trim","Component","parent","_hydratedPropertyCount","_hydratedComponentCount","_designSet","_hydrateComponent","index","_components","comp","_hydrateProperty","_properties","prop","Property","getFirstSubcomponent","jCalLen","hasProperty","getFirstPropertyValue","_removeObjectByIndex","jCalIndex","cache","splice","_removeObject","nameOrObject","objects","cached","_removeAllObjects","idx","nameOrComp","removed","removeAllSubcomponents","addProperty","TypeError","removeProperty","addPropertyWithValue","setValue","updatePropertyWithValue","nameOrProp","removeAllProperties","_parent","getDefaultType","_updateType","designSetChanged","isDecorated","isMultiValue","isStructuredValue","_hydrateValue","_values","_decorate","_undecorate","_setDecoratedValue","getFirstParameter","parameters","setParameter","removeParameter","details","resetType","removeAllValues","getValues","setValues","icaltype","toICALString","aData","hours","minutes","factor","fromSeconds","toSeconds","_normalize","aSeconds","secs","abs","compare","other","a","b","options","instance","decodeValue","_b64_decode","setEncodedValue","_b64_encode","h1","h2","h3","h4","bits","b64","ac","enc","tmp_arr","charCodeAt","charAt","o1","o2","o3","fromCharCode","wrappedJSObject","end","icalclass","getDuration","subtractDate","getEnd","addDuration","aLenient","fromDateOrDateTimeString","DURATION_LETTERS","parseDurationChunk","letter","isNegative","num","weeks","days","seconds","propsToCopy","reset","aOther","thisSeconds","otherSeconds","normalize","aStr","dict","chunks","numeric","Timezone","location","tznames","latitude","longitude","expandedUntilYear","changes","utcOffset","tt","utcTimezone","localTimezone","_ensureCoverage","year","tt_change","month","day","hour","minute","second","change_num","_findNearbyChange","change_num_to_use","step","change","prevUtcOffset","adjust_change","_compare_change_fn","zone_change","tmp_change","prev_zone_change","is_daylight","aYear","_minimumExpansionYear","today","now","changesEndYear","EXTRA_COVERAGE","MAX_YEAR","subcomps","_expandComponent","sort","aComponent","dtstart","convert_tzoffset","offset","init_changes","changebase","rdatekey","isDate","rrule","until","adjust","occ","iterator","next","convert_time","from_zone","to_zone","keys","utc","Z","UTC","GMT","register","timezone","remove","_time","_dowCache","_wnCache","_cachedUnixTime","_pendingNormalization","epochTime","resetTo","fromJSDate","aDate","useUTC","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","aZone","dayOfWeek","aWeekStart","firstDow","SUNDAY","dowCacheKey","q","Y","h","dayOfYear","is_leap","isLeapYear","daysInYearPassedMonth","startOfWeek","endOfWeek","startOfMonth","endOfMonth","daysInMonth","startOfYear","endOfYear","startDoyWeek","aFirstDayOfWeek","delta","getDominicalLetter","nthWeekDay","aDayOfWeek","aPos","weekday","otherDay","isNthWeekDay","dow","weekNumber","week1","wnCacheKey","dt","isoyear","weekOneStarts","daysBetween","answer","aDuration","mult","unixTime","toUnixTime","subtractDateTz","compareDateOnlyTz","cmp","attr","_cmp_attr","convertToZone","rc","copy","zone_equals","toJSDate","aExtraDays","aExtraHours","aExtraMinutes","aExtraSeconds","aTime","minutesOverflow","hoursOverflow","daysOverflow","yearsOverflow","fromUnixTime","epoch","ms","defineAttr","set","fromDayOfYear","aDayOfYear","doy","auto_normalize","fromStringv2","aProperty","wkst","DEFAULT_WEEK_START","THURSDAY","yr","dom","MONDAY","TUESDAY","WEDNESDAY","FRIDAY","SATURDAY","apply","p2","y","mm","hasMonth","hasDay","hasHour","hasMinute","hasSecond","datepart","timepart","aIcalType","part","v","tmz","tm","dtlen","tmlen","hasDashDate","hasDashTime","DOW_MAP","SU","MO","TU","WE","TH","FR","SA","REVERSE_DOW_MAP","parseNumericValue","min","max","undefined","interval","count","freq","aStart","RecurIterator","rule","isFinite","isByCount","addComponent","aType","ucname","setComponent","aValues","getComponent","getNextOccurrence","aStartTime","aRecurrenceId","iter","uckey","partDesign","optionDesign","INTERVAL","icalDayToNumericDay","res","kparts","VALID_DAY_NAMES","VALID_BYDAY_PART","ALLOWED_FREQ","FREQ","fmtIcal","COUNT","UNTIL","WKST","test","BYSECOND","BYMINUTE","BYHOUR","BYDAY","BYMONTHDAY","BYYEARDAY","BYWEEKNO","BYMONTH","BYSETPOS","partArr","partArrIdx","partArrLen","icalrecur_iterator","completed","last","occurrence_number","by_indices","initialized","by_data","days_index","init","sort_byday_rules","setup_defaults","bydayParts","ruleDayOfWeek","wkdy","dayName","expand_year_days","increment_year","_nextByYearDay","has_by_data","tempLast","initLast","dayOfMonth","increment_month","_byDayAndMonthDay","valid","before","next_second","next_minute","next_hour","next_day","next_week","next_month","next_year","check_contracting_rules","next_generic","increment_second","inc","increment_generic","increment_minute","increment_hour","this_freq","increment_monthday","end_of_data","next_weekday_by_week","week_no","normalizeByMonthDayRules","rules","newRules","ruleIdx","isInit","byMonthDay","dateLen","byDay","dateIdx","dayLen","dataIsValid","self","lastDay","initMonth","nextMonth","monthsCounter","dayIdx","data_valid","setpos","setpos_total","last_day","is_day_in_byday","check_set_position","coded_day","match","aRuleType","aInterval","aDateAttr","aFollowingAttr","aPreviousIncr","has_by_rule","dta","years","aFactor","aNextIncrement","nextunit","validWeeks","monthIdx","first_week","last_week","weekIdx","weekno","partCount","t1","monthkey","t2","monthdaykey","t3","day_","month_","expand_by_day","first_dow","doy_offset","last_dow","by_month_day","spIndex","daycodedkey","month_day","first_matching_day","last_matching_day","expandedDays","daykey","days_list","tmp","start_dow","end_dow","end_year_day","first","this_dow","aRules","j","check_contract_restriction","indexMapValue","_indexMap","ruleMapValue","_expandMap","pass","CONTRACT","ruleType","bydatakey","weekNo","req","deftime","UNKNOWN","EXPAND","ILLEGAL","RecurExpansion","formatTime","item","compareTime","ruleDates","exDates","complete","ruleIterators","ruleDateInc","exDateInc","exDate","ruleDate","_init","currentTry","_nextRecurrenceIter","_nextRuleDay","_nextExDay","_extractDates","propertyName","handleProp","forEach","iters","iterTime","chosenIter","iterIdx","Event","_rangeExceptionCache","exceptions","rangeExceptions","strictExceptions","relateException","isRecurrenceException","event","compareRangeException","THISANDFUTURE","uid","id","recurrenceId","modifiesFuture","findRangeException","rangeItem","getOccurrenceDetails","occurrence","utcId","startDate","endDate","rangeExceptionId","exception","startDiff","original","newStart","startTime","isRecurring","getRecurrenceTypes","_firstProp","_setProp","_setTime","propName","ComponentParser","parseEvent","parseTimezone","oncomplete","onerror","ontimezone","onevent","process","ical","it","check","globalThis","window","global","Function","exec","error","shared","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","emptyObject","freeze","isUndef","isDef","isTrue","isPrimitive","isObject","_toString","isPlainObject","isRegExp","isValidArrayIndex","isPromise","then","catch","JSON","toNumber","makeMap","expectsLowerCase","isReservedAttribute","hasOwn","camelizeRE","camelize","_","capitalize","hyphenateRE","hyphenate","ctx","boundFn","_length","toArray","ret","to","_from","toObject","noop","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","keysA","keysB","looseIndexOf","once","called","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","def","writable","configurable","bailRE","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","navigator","userAgent","isIE","isIE9","isEdge","isIOS","isFF","nativeWatch","watch","supportsPassive","opts","addEventListener","isServerRendering","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Set","add","clear","warn","Dep","subs","addSub","sub","removeSub","depend","addDep","notify","update","targetStack","pushTarget","popTarget","VNode","tag","children","elm","context","componentOptions","asyncFactory","fnContext","fnOptions","fnScopeId","componentInstance","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","method","args","inserted","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","src","__proto__","protoAugment","copyAugment","walk","observe","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","setter","childOb","dependArray","newVal","del","items","strats","mergeData","from","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","hooks","dedupeHooks","mergeAssets","hook","key$1","methods","inject","computed","provide","defaultStrat","mergeOptions","normalizeProps","normalized","normalizeInject","dirs","directives","def$$1","normalizeDirectives","_base","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","Boolean","stringIndex","default","$options","_props","getType","getPropDefaultValue","prevShouldObserve","functionTypeCheckRE","isSameType","expectedTypes","handleError","info","cur","$parent","errorCaptured","globalHandleError","invokeWithErrorHandling","handler","_handled","logError","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","Promise","resolve","setTimeout","MutationObserver","setImmediate","counter","observer","textNode","document","createTextNode","characterData","nextTick","cb","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","capture","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","createOnceHandler","old","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","checkProp","hash","altKey","preserve","normalizeChildren","normalizeArrayChildren","nestedIndex","lastIndex","isTextNode","_isVList","resolveInject","provideKey","_provided","provideDefault","resolveSlots","slots","attrs","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","render","done","renderSlot","fallbackRender","bindObject","nodes","scopedSlotFn","$scopedSlots","$slots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","tree","markStatic","staticRenderFns","_renderProxy","markOnce","markStaticNode","bindObjectListeners","existing","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_t","_q","_i","_m","_f","_k","_b","_v","_e","_u","_g","_d","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","_compiled","needNormalization","listeners","injections","scopedSlots","_scopeId","_c","createElement","cloneAndMarkFunctionalResult","renderContext","mergeProps","componentVNodeHooks","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","_isComponent","_parentVnode","inlineTemplate","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","parentVnode","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","_renderChildren","$vnode","_vnode","$attrs","$listeners","propKeys","_propKeys","oldListeners","_parentListeners","updateComponentListeners","$forceUpdate","updateChildComponent","insert","_isMounted","callHook","_inactive","activatedChildren","activateChildComponent","destroy","deactivateChildComponent","direct","_directInactive","isInInactiveTree","$children","$destroy","hooksToMerge","createComponent","baseCtor","cid","factory","errorComp","resolved","owner","currentRenderingInstance","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","clearTimeout","ensureCtor","reject","reason","delay","timeout","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","transformModel","extractPropsFromVNodeData","functional","vnodes","createFunctionalComponent","nativeOn","abstract","toMerge","_merged","mergeHook$1","installComponentHooks","f1","f2","normalizationType","alwaysNormalize","is","simpleNormalizeChildren","pre","applyNS","force","style","registerDeepBindings","_createElement","getFirstComponentChild","remove$1","$off","_target","onceHandler","setActiveInstance","prevActiveInstance","handlers","_hasHookEvent","$emit","queue","waiting","flushing","currentFlushTimestamp","getNow","createEvent","timeStamp","flushSchedulerQueue","watcher","run","activatedQueue","updatedQueue","callActivatedHooks","_watcher","callUpdatedHooks","emit","uid$2","Watcher","expOrFn","isRenderWatcher","_watchers","deep","user","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","path","segments","parsePath","cleanupDeps","queueWatcher","oldValue","evaluate","teardown","_isBeingDestroyed","sharedPropertyDefinition","sourceKey","initState","propsOptions","initProps","initMethods","_data","getData","initData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","initComputed","createWatcher","initWatch","shouldCache","createComputedGetter","createGetterInvoker","$watch","uid$3","super","superOptions","modifiedOptions","modified","latest","sealed","sealedOptions","resolveModifiedOptions","extendOptions","Vue","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","constructor","Comp","initProps$1","initComputed$1","mixin","use","getComponentName","pattern","pruneCache","keepAliveInstance","filter","entry","pruneCacheEntry","current","_uid","vnodeComponentOptions","_componentTag","initInternalComponent","_self","$root","$refs","initLifecycle","_events","initEvents","parentData","initRender","initInjections","initProvide","el","initMixin","dataDef","propsDef","$set","$delete","immediate","stateMixin","hookRE","$once","i$1","cbs","eventsMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","lifecycleMixin","$nextTick","_render","ref","renderMixin","patternTypes","builtInComponents","KeepAlive","include","exclude","Number","cacheVNode","vnodeToCache","keyToCache","created","destroyed","mounted","updated","configDef","util","defineReactive","delete","observable","plugin","installedPlugins","_installedPlugins","unshift","install","initUse","initMixin$1","definition","initAssetRegisters","initGlobalAPI","ssrContext","version","acceptValue","isEnumeratedAttr","isValidContentEditableValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","parentNode","childNode","mergeClassData","staticClass","dynamicClass","stringifyClass","renderClass","stringified","stringifyArray","stringifyObject","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","isTextInputType","nodeOps","tagName","multiple","setAttribute","createElementNS","namespace","createComment","insertBefore","newNode","referenceNode","removeChild","appendChild","nextSibling","setTextContent","textContent","setStyleScope","scopeId","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","typeA","typeB","sameInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldDir","dir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","arg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","removeAttribute","isInPre","baseSetAttr","convertEnumeratedValue","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","ownerDocument","updateDOMListeners","normalizeEvents","svgContainer","events","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","innerHTML","firstChild","checkVal","composing","notInFocus","activeElement","isNotInFocusAndDirty","_vModifiers","isDirtyWithModifiers","parseStyleText","cssText","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","checkChild","styleData","getStyle","whitespaceRE","addClass","classList","getAttribute","removeClass","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","nodeType","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","rm","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","patch","backend","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","isReactivated","initComponent","innerNode","activate","reactivateComponent","setScope","createChildren","invokeCreateHooks","pendingInsert","isPatchable","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","childElm","createRmCb","findIdxInOld","oldCh","patchVnode","removeOnly","hydrate","newCh","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","updateChildren","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","patchable","i$2","createPatchFunction","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","hasNoMatchingOption","actuallySetSelected","isMultiple","selected","option","selectedIndex","initEvent","dispatchEvent","locateNode","platformDirectives","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","isNotTextNode","isVShowDirective","Transition","hasParentTransition","_leaving","oldRawChild","oldChild","isSameChild","delayedLeave","moveClass","callPendingCbs","_moveCb","recordPosition","newPos","getBoundingClientRect","applyTranslation","oldPos","dx","left","dy","top","moved","transform","WebkitTransform","transitionDuration","platformComponents","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","c$1","hasMove","_reflow","body","offsetHeight","_hasMove","cloneNode","HTMLUnknownElement","HTMLElement","updateComponent","mountComponent","querySelector","query","normalizeComponent","scriptExports","functionalTemplate","injectStyles","moduleIdentifier","shadowMode","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","beforeCreate","isUndefined","getPrototypeOf","isFunction","isArrayBuffer","isBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","isString","isNumber","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","product","merge","assignValue","thisArg","stripBOM","content","_axios","_auth","client","headers","requesttoken","getRequestToken","cancelableClient","assign","CancelToken","isCancel","onRequestTokenUpdate","token","defaults","_default","getRootUrl","generateFilePath","imagePath","generateUrl","generateOcsUrl","generateRemoteUrl","linkTo","app","file","service","protocol","host","linkToRemoteBase","url","ocsVersion","_generateUrlPath","allOptions","escape","vars","encodeURIComponent","noRewrite","OC","modRewriteWorking","isCore","coreApps","link","appswebroots","encodeURI","webroot","fails","memo","isOldIE","all","atob","getTarget","styleTarget","HTMLIFrameElement","contentDocument","head","stylesInDom","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","media","sourceMap","references","updater","addStyle","insertStyleElement","attributes","nonce","textStore","replaceText","replacement","applyToSingletonTag","styleSheet","cssNode","applyToTag","btoa","unescape","singleton","singletonCounter","styleIndex","removeStyleElement","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","_slicedToArray","_arrayWithHoles","_arr","_iterableToArrayLimit","minLen","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","arr2","_item","cssMapping","base64","sourceMapping","sourceURLs","sources","sourceRoot","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","g","toInteger","argument","requireObjectCoercible","DESCRIPTORS","IE8_DOM_DEFINE","anObject","toPropertyKey","$defineProperty","O","P","Attributes","isSymbol","definePropertyModule","createPropertyDescriptor","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","_requesttoken","_user","getCurrentUser","IndexedObject","aFunction","variable","matchHtmlRegExp","html","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","store","wmget","wmhas","wmset","metadata","facade","STATE","getterFor","TYPE","propertyIsEnumerableModule","toIndexedObject","$getOwnPropertyDescriptor","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","array","browser","argv","versions","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","bitmap","fixRegExpWellKnownSymbolLogic","toLength","advanceStringIndex","getSubstitution","regExpExec","REPLACE","wellKnownSymbol","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","nativeReplace","maybeCallNative","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","rx","S","functionalReplace","fullUnicode","unicode","results","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","groups","replacerArgs","re","freeGlobal","freeSelf","$","proto","classof","propertyIsEnumerable","getBuiltIn","$Symbol","Deno","v8","activeXDocument","enumBugKeys","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","domain","contentWindow","open","Properties","SVGAnimatedString","convertToArray","addClasses","classes","newClasses","className","baseVal","newClass","SVGElement","removeClasses","ownKeys$2","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread$2","_defineProperty","getOwnPropertyDescriptors","DEFAULT_OPTIONS","container","placement","template","openTooltips","Tooltip","_reference","_options","_this","_classCallCheck","evt","reference","relatedreference","toElement","relatedTarget","_tooltipNode","contains","evt2","relatedreference2","_scheduleHide","jquery","hide","_isOpen","_createClass","_show","_hide","_dispose","_classes","_setContent","classesUpdated","defaultClass","isEqual","setClasses","getOptions","needPopperUpdate","needRestart","isOpen","dispose","popperInstance","_isDisposed","_enableDocumentTouch","_setEventListeners","$_originalTitle","_this2","tooltipGenerator","tooltipNode","ariaId","random","autoHide","_this3","asyncContent","_applyContent","_this4","allowHtml","rootNode","titleNode","innerSelector","loadingClass","loadingContent","asyncResult","innerText","_disposeTimer","updateClasses","_ensureShown","_this5","enableEventListeners","_create","_findContainer","_append","popperOptions","arrow","element","arrowSelector","boundariesElement","preventOverflow","Popper","_this6","_noLongerOpen","disableEventListeners","disposeTime","disposeTimeout","_removeTooltipNode","_this7","_ref","func","removeOnDestroy","_this8","directEvents","oppositeEvents","hideOnTargetClick","usedByTooltip","_scheduleShow","_this9","computedDelay","_scheduleTimer","_this10","_setTooltipNodeEvent","ownKeys$1","_objectSpread$1","_onDocumentTouch","enabled","positions","defaultOptions","defaultPlacement","defaultTargetClass","defaultHtml","defaultTemplate","defaultArrowSelector","defaultInnerSelector","defaultDelay","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","defaultPopperOptions","defaultLoadingClass","defaultLoadingContent","defaultHideOnTargetClick","popover","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultOpenClass","defaultAutoHide","defaultHandleResize","typeofOffset","_typeof","getPlacement","getContent","createTooltip","tooltip","_tooltip","_vueEl","targetClasses","_tooltipTargetClasses","destroyTooltip","_tooltipOldShow","setContent","setOptions","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","changedTouches","touch","$_vclosepopover_touchPoint","firstTouch","screenY","screenX","vclosepopover","_ref2","_objectSpread","getDefault","MSStream","openPopovers","Element","script","ResizeObserver","disabled","popoverClass","popoverBaseClass","popoverInnerClass","popoverWrapperClass","popoverArrowClass","handleResize","openGroup","openClass","cssClass","popoverId","oldVal","popoverNode","$_findContainer","scheduleUpdate","$_removeEventListeners","$_addEventListeners","$_updatePopper","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","deactivated","beforeDestroy","skipDelay","_ref2$force","$_scheduleShow","$_beingShowed","_ref3","$_scheduleHide","$_show","$_disposeTimer","hidden","$_getOffset","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref4","$_restartPopper","$_handleGlobalClose","$_handleResize","handleGlobalClose","_loop","isFunctionalTemplate","createInjector","createInjectorSSR","createInjectorShadow","__vue_script__","__vue_render__","_vm","_h","tabindex","visibility","keyup","keyCode","_withStripped","__vue_component__","installed","finalOptions","insertAt","getElementsByTagName","styleInject","VTooltip","VClosePopover","VPopover","GlobalVue","loadState","fallback","elem","toPrimitive","IS_PURE","copyright","re1","re2","regexpFlags","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","group","sticky","flags","charsAdded","strCopy","multiline","that","return","u","A","nc","getGettextBuilder","detectLocale","locale","translations","Actions","Activities","Choose","Close","Custom","Flags","Next","Objects","Previous","Search","Settings","Symbols","Submit","Global","pluralId","msgid","msgid_plural","msgstr","addTranslation","build","ngettext","gettext","needQuotes","names","mappings","sourcesContent","locals","isMobile","handleWindowResize","documentElement","clientWidth","onIsMobileChanged","hasStatus","userStatus","status","icon","fetchUserStatus","regeneratorRuntime","mark","wrap","prev","abrupt","getCapabilities","user_status","userId","sent","ocs","t0","response","stop","C","required","primary","avatarUrl","getAvatarUrl","mentionText","size","contenteditable","backgroundImage","userData","renderContent","flat","startsWith","defaultProtocol","rel","genSelectTemplate","parseContent","renderComponentHtml","excludeClickOutsideClasses","clickOutsideMiddleware","hasNodeOrAnyParentClass","parentElement","isFullscreen","_isFullscreen","_onResize","outerHeight","screen","height","href","validator","round","iconIsUrl","URL","action","PopoverMenuItem","download","click","longtext","submit","preventDefault","checked","for","stopPropagation","menu","getBuilder","persist","getItem","setItem","ClickOutside","DotsHorizontal","Popover","PopoverMenu","iconClass","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","displayName","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","menuPosition","menuContainer","ariaLabel","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","avatarAriaLabel","canDisplayUserStatus","includes","showUserStatusIconOnAvatar","getUserIdentifier","isDisplayNameDefined","isUserDefined","isUrlDefined","hasMenu","shouldShowPlaceholder","avatarStyle","lineHeight","fontSize","backgroundColor","initials","fromCodePoint","codePointAt","hyperlink","loadAvatarUrl","subscribe","handleUserStatusUpdated","beforeDestroyed","unsubscribe","handlePopoverAfterShow","popoverMenu","focus","handlePopoverAfterHide","main","toggleMenu","fetchContactsMenu","closeMenu","post","topAction","actions","updateImageIfValid","avatarUrlGenerator","oc_userconfig","avatar","Image","onload","srcset","w","B","N","z","E","keydown","alt","decorative","0","1","2","27","beforeUpdate","getText","isLongText","3","32","closeAfterClick","isIconUrl","6","62","63","69","isFocusable","focusable","78","EXISTS","internalObjectKeys","baseIsNative","arraySpeciesConstructor","originalArray","propertyKey","V8_VERSION","SPECIES","METHOD_NAME","foo","$propertyIsEnumerable","NASHORN_BUG","V","postfix","functionToString","feature","detection","POLYFILL","NATIVE","regexpExec","RegExpPrototype","KEY","FORCED","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","regexp","arg2","forceStringMethod","$exec","createMethod","CONVERT_TO_STRING","$this","codeAt","R","TO_STRING_TAG_SUPPORT","addToUnscopables","Iterators","defineIterator","setInternalState","iterated","kind","Arguments","TO_STRING_TAG","TAG","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","find","findIndex","filterReject","GettextBuilder","_nodeGettext","Constructor","_defineProperties","protoProps","staticProps","language","setLanguage","getLanguage","GettextWrapper","gt","sourceLocale","addTranslations","setLocale","translated","placeholders","subtitudePlaceholders","singular","plural","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","105","84","85","VNodes","forceMenu","menuTitle","defaultIcon","opened","focusIndex","randomId","hasMultipleActions","isValidSingleAction","firstActionElement","firstActionVNode","firstAction","firstActionBinding","$props","exact","firstActionEvent","firstActionEventBinding","firstActionIconSlot","firstActionClass","iconSlotIsPopulated","initActions","openMenu","menuButton","onOpen","focusFirstAction","onMouseFocusAction","closest","querySelectorAll","focusAction","removeCurrentActive","focusPreviousAction","preventIfEvent","focusNextAction","focusLastAction","execFirstAction","onFocus","onBlur","auto","blur","ctrlKey","shiftKey","metaKey","mousemove","toAbsoluteIndex","IS_INCLUDES","fromIndex","ignoreCase","dotAll","$RegExp","getRawTag","objectToString","symToStringTag","point","DOMIterables","DOMTokenListPrototype","ArrayIteratorMethods","ITERATOR","ArrayValues","handlePrototype","CollectionPrototype","COLLECTION_NAME","$toString","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","utils","encode","paramsSerializer","serializedParams","toISOString","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","adapter","XMLHttpRequest","transformRequest","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","request","auth","username","password","Authorization","fullPath","baseURL","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","responseType","responseText","statusText","onabort","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","cancel","abort","send","enhanceError","code","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","Cancel","msMaxTouchPoints","middleware","isActive","detectIframe","srcTarget","composedPath","nonNative","STATE_PLAINTEXT","STATE_HTML","STATE_COMMENT","ALLOWED_TAGS_REGEX","NORMALIZE_TAG_REGEX","striptags","allowable_tags","tag_replacement","striptags_internal","init_context","tag_set","parse_allowable_tags","tag_buffer","depth","in_quote_char","output","char","normalize_tag","init_streaming_mode","define","crypt","utf8","bin","md5","encoding","stringToBytes","Uint8Array","bytesToWords","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","endian","_blocksize","_digestsize","digestbytes","wordsToBytes","asBytes","asString","bytesToString","bytesToHex","_initialState","appId","_storagebuilder","clearAll","sessionStorage","localStorage","clearStorage","clearNonPersistent","_scopedstorage","GLOBAL_SCOPE_PERSISTENT","_interopRequireDefault","storage","pred","removeItem","getLocale","getCanonicalLocale","translate","L10N","translatePlural","textSingular","textPlural","getFirstDay","firstDay","getDayNames","dayNames","getDayNamesShort","dayNamesShort","getDayNamesMin","dayNamesMin","getMonthNames","monthNames","getMonthNamesShort","monthNamesShort","ordinaryToPrimitive","TO_PRIMITIVE","pref","exoticToPrim","getOwnPropertyDescriptorModule","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","objectKeys","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","entries","eq","nativeCreate","getNative","isKeyable","__data__","isLength","FunctionPrototype","FunctionPrototypeToString","nameRE","$forEach","STRICT_METHOD","arrayMethodIsStrict","$assign","chr","T","argumentsLength","extended","fillColor","debounce","wait","later","debounced","callNow","flush","135","209","128","129","17","205","checkInput","onChange","checkbox","D","highlight","ranges","reduce","Highlight","needsTruncate","part1","part2","highlight1","highlight2","EllipsisedOption","ListItemIcon","VueMultiselect","limit","trackBy","userSelect","autoLimit","tagWidth","elWidth","maxOptions","limitString","localValue","updateWidth","getOptionLabel","formatLimitTitle","offsetWidth","Avatar","subtitle","avatarSize","noMargin","margin","hasIcon","hasSlot","isValidSubtitle","isSizeBigEnough","cssVars","getLoggerBuilder","detectUser","setApp","getTimezoneManager","Multiselect","additionalTimezones","selectedTimezone","timezoneId","continent","regions","cities","ics","registerTimezoneFromICS","aliases","registerAlias","aliasTo","listAllTimezones","DatePicker","TimezonePicker","clearable","minuteStep","format","datetime","week","formatter","showTimezoneSelect","highlightTimezone","appendToBody","showWeekNumber","showTimezonePopover","tzVal","handleSelectYear","datepicker","currentValue","setFullYear","selectDate","handleSelectMonth","setMonth","toggleTimezonePopover","mousedown","ArrowRight","DatetimePicker","isMultiselectType","isDatePickerType","onLeave","datetimepicker","closePopup","onInput","onSubmit","mouseleave","136","137","210","72","valueOf","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","tailPos","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","attachEvent","task","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","Map","baseGetTag","stubFalse","freeExports","freeModule","Buffer","webpackPolyfill","deprecate","paths","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","isTypedArray","objectProto","aPossiblePrototype","setPrototypeOf","CORRECT_SETTER","$trim","forcedStringTrimMethod","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","setToStringTag","HIDDEN","ObjectPrototype","$stringify","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","description","$defineProperties","$getOwnPropertySymbols","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","useSetter","useSimple","space","$replacer","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","nativeSymbol","desc","HAS_SPECIES_SUPPORT","nativeSlice","fin","checkCorrectnessOfIteration","iterable","getIteratorMethod","usingIterator","iteratorMethod","EOF","USE_NATIVE_URL","anInstance","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","getInternalSearchParamsState","getState","getInternalURLState","pow","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","radix","ipv4","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","serializeHost","ignore0","ipv6","maxIndex","maxLength","currStart","currLength","findLongestZeroSequence","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","http","https","ws","wss","scheme","includesCredentials","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","port","fragment","codePoint","encodedCodePoints","URLConstructor","baseState","urlString","searchParams","searchParamsState","updateSearchParams","updateURL","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","observers","_eventBus","tokenElement","commonjsGlobal","createCommonjsModule","global$1","descriptors","getOwnPropertyDescriptor$2","objectPropertyIsEnumerable","indexedObject","PREFERRED_STRING","has$1","document$1","ie8DomDefine","objectGetOwnPropertyDescriptor","objectDefineProperty","sharedStore","WeakMap$1","nativeWeakMap","keys$2","hiddenKeys$1","internalState","aFunction$1","min$2","min$1","createMethod$3","objectKeysInternal","objectGetOwnPropertyNames","objectGetOwnPropertySymbols","isForced_1","getOwnPropertyDescriptor$1","_export","MAX_SAFE_INTEGER","objectSetPrototypeOf","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","objectDefineProperties","IE_PROTO$1","objectCreate","whitespaces","whitespace","ltrim","rtrim","createMethod$2","stringTrim","getOwnPropertyNames$1","defineProperty$3","NativeNumber","NumberPrototype","BROKEN_CLASSOF","maxCode","digits","NaN","NumberWrapper","keys$1","constants","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_COMPONENT_LENGTH","engineIsNode","engineUserAgent","process$1","engineV8Version","useSymbolAsUid","Symbol$1","MATCH$1","isRegexp","RE","regexpStickyHelpers","SPECIES$4","setSpecies","CONSTRUCTOR_NAME","defineProperty$2","MATCH","NativeRegExp","RegExpPrototype$1","CORRECT_NEW","UNSUPPORTED_Y$2","RegExpWrapper","thisIsRegExp","patternIsRegExp","flagsAreUndefined","UNSUPPORTED_Y$1","SPECIES$3","SPECIES$2","debug_1","NODE_DEBUG","_console","_len","_key","re_1","createToken","isGlobal","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCE","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","SPECIES$1","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","fixRegexpWellKnownSymbolLogic","stringMethod","regexMethod","createMethod$1","stringMultibyte","charAt$1","regexpExecAbstract","nativeMatch","matcher","matchStr","stringTrimForced","functionBindContext","IS_FILTER_OUT","arrayIteration","filterOut","$map","HAS_SPECIES_SUPPORT$1","arrayPush","SPLIT","nativeSplit","internalSplit","separator","lim","lastLength","lastLastIndex","separatorCopy","splitter","defaultConstructor","speciesConstructor","unicodeMatching","nativeJoin","ES3_STRINGS","STRICT_METHOD$1","$filter","parseOptions_1","loose","compareIdentifiers$1","anum","bnum","MAX_LENGTH$1","re$1","t$1","compareIdentifiers","semver","SemVer","includePrerelease","LOOSE","FULL","major","minor","prerelease","compareMain","comparePre","release","parse_1","er","valid_1","major_1","packageJson$1","ProxyBus","bus","getVersion","UNSCOPABLES","ArrayPrototype$1","IteratorPrototype$2","PrototypeOfArrayIteratorPrototype","arrayIterator","iterators","correctPrototypeGetter","objectGetPrototypeOf","ITERATOR$5","BUGGY_SAFARI_ITERATORS$1","iteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","defineProperty$1","TO_STRING_TAG$3","IteratorPrototype$1","returnThis$1","ITERATOR$4","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","createIteratorConstructor","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","setInternalState$2","getInternalState$1","es_array_iterator","freezing","preventExtensions","internalMetadata","METADATA","setMetadata","objectID","weakData","meta","REQUIRED","fastKey","getWeakData","onFreeze","ITERATOR$3","ArrayPrototype","toStringTagSupport","TO_STRING_TAG$1","ITERATOR$2","iteratorClose","returnMethod","Result","stopped","iterate","unboundFunction","iterFn","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","condition","callFn","ITERATOR$1","SAFE_CLOSING","iteratorWithReturn","redefineAll","setInternalState$1","internalStateGetterFor","wrapper","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","SKIP_CLOSING","ITERATION_SUPPORT","BUGGY_ZERO","$instance","setStrong","collection","previous","getEntry","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","COLLECTION_NAME$1","Collection$1","CollectionPrototype$1","arrayForEach","Collection","packageJson","SimpleBus","_nc_event_bus","isAdmin","uidElement","displayNameElement","isUserAdmin","Axios","mergeConfig","createInstance","defaultConfig","axios","instanceConfig","promises","spread","isAxiosError","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","fulfilled","rejected","getUri","eject","transformData","throwIfCancellationRequested","throwIfRequested","fileName","lineNumber","columnNumber","expires","secure","cookie","toGMTString","decodeURIComponent","isAbsoluteURL","combineURLs","requestedURL","relativeURL","ignoreDuplicateOf","originURL","msie","urlParsingNode","resolveURL","requestURL","executor","resolvePromise","payload","AMPERSAND","CLOSEPAREN","CLOSEANGLEBRACKET","CLOSEBRACKET","CLOSEBRACE","OPENPAREN","OPENANGLEBRACKET","OPENBRACKET","OPENBRACE","WS","TLD","SYM","UNDERSCORE","SLASH","MAILTO","PROTOCOL","POUND","PLUS","NUM","NL","LOCALHOST","PUNCTUATION","DOT","COLON","AT","DOMAIN","Base","_createTokenClass","_class","TextToken","createTokenClass","inheritsToken","__g","G","U","core","W","__e","$isLabel","$groupLabel","preferredOpenDirection","optimizedHeight","maxHeight","internalSearch","searchable","clearOnSelect","hideSelected","allowEmpty","resetAfter","closeOnSelect","customLabel","taggable","tagPlaceholder","tagPosition","optionsLimit","groupValues","groupLabel","groupSelect","blockKeys","preserveSearch","preselectFirst","internalValue","select","filteredOptions","filterAndFlat","isSelected","isExistingOption","isTag","valueKeys","optionKeys","flatAndStrip","currentOptionLabel","updateSearch","isOptionDisabled","$isDisabled","selectGroup","pointerDirty","deactivate","removeElement","wholeGroupSelected","wholeGroupDisabled","removeLastElement","adjustPosition","toggle","innerHeight","bottom","openDirection","showPointer","optionHeight","pointerPosition","visibleElements","pointerAdjust","optionHighlight","groupHighlight","addPointerElement","pointerReset","pointerForward","scrollTop","pointerBackward","pointerSet","selectLabel","selectGroupLabel","selectedLabel","deselectLabel","deselectGroupLabel","showLabels","limitText","showNoOptions","showNoResults","isSingleLabelVisible","singleValue","visibleValues","isPlaceholderVisible","deselectLabelText","deselectGroupLabelText","selectLabelText","selectGroupLabelText","selectedLabelText","inputStyle","width","padding","contentStyle","isAbove","showSearchInput","hasSingleSelectedSlot","visibleSingleValue","Dispatch","L","PromiseRejectionEvent","ok","fail","exit","onunhandledrejection","_a","onrejectionhandled","_w","M","race","finally","BREAK","RETURN","WebKitMutationObserver","standalone","esModule","keypress","autocomplete","mouseenter","isBrowser","timeoutDuration","longerTimeoutBrowsers","scheduled","functionToCheck","getStyleComputedProperty","defaultView","getParentNode","nodeName","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","getOffsetParent","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","firstElementChild","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollLeft","modifier","right","getBordersSize","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","classCallCheck","createClass","_extends","getClientRect","offsets","sizes","clientHeight","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","isFixed","getFixedPositionOffsetParent","getBoundaries","popper","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","refRect","rects","sortedAreas","area","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","marginRight","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","ends","isDestroyed","arrowStyles","flipped","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","prefix","toCheck","willChange","getWindow","setupEventListeners","updateBound","scrollElement","attachToScrollParents","scrollParents","isBody","eventsEnabled","cancelAnimationFrame","isNumeric","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","toValue","index2","Defaults","shiftvariation","_data$offsets","isVertical","shiftOffsets","transformProp","popperStyles","priority","escapeWithReference","secondary","keepTogether","opSide","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","placementOpposite","flipOrder","behavior","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","applyStyle","onLoad","modifierOptions","Utils","PopperUtils","statusColor","xmlns","viewBox","fill","stroke","21","23","7","___CSS_LOADER_EXPORT___","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","funcToString","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","SetCache","arraySome","cacheHas","bitmask","customizer","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","arrValue","othValue","compared","othIndex","baseTimes","isArguments","isIndex","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseIsArguments","isObjectLike","reIsUint","baseAssignValue","getPrototype","overArg","arrayLikeKeys","baseKeysIn","isArrayLike","IteratorsCore","CORRECT_PROTOTYPE_GETTER","callWithSafeIterationClosing","isArrayIteratorMethod","getIterator","arrayLike","mapfn","mapping","innerResult","innerError","nativeKeys","FAILS_ON_PRIMITIVES","_build","require$$0","require$$1","require$$2","require$$3","IS_NODE","getFlags","callRegExpExec","parseOptions","FREEZING","InternalMetadataModule","stateify","TokenState","CharacterState","BaseState","tClass","defaultTransition","jump","accepts","character","charOrRegExp","tokenClass","endToken","defaultToken","newStates","nextState","runtime","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","unwrapped","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","isGeneratorFunction","genFun","ctor","awrap","skipTempReset","rootRecord","rval","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","accidentalStrictMode","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","NativePromise","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","IS_BROWSER","PROMISE","getInternalPromiseState","NativePromisePrototype","PromiseConstructor","PromiseConstructorPrototype","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","NATIVE_REJECTION_EVENT","SUBCLASSING","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","INCORRECT_ITERATION","isThenable","isReject","notified","reactions","exited","reaction","rejection","onHandleUnhandled","onUnhandled","isUnhandled","unwrap","internalReject","internalResolve","onFulfilled","onRejected","capability","$promiseResolve","remaining","alreadyCalled","defer","IS_IOS","runner","listener","PromiseCapability","$$resolve","$$reject","notARegExp","correctIsRegExpLogic","$startsWith","CORRECT_IS_REGEXP_LOGIC","searchString","charenc","bytes","USES_TO_LENGTH","nativeStartsWith","ScopedStorage","wrapped","persistent","GLOBAL_SCOPE_VOLATILE","scopeKey","$includes","IS_NCG","BASE_FORCED","rawFlags","handled","rawPattern","named","brackets","ncg","groupid","groupname","SyntaxError","handleNCG","handleDotAll","flattenIntoArray","depthArg","sourceLen","$fromCodePoint","elements","RangeError","require","Clipboard","VueClipboardConfig","autoSetContainer","VueClipboard","globalPrototype","globalProperties","$clipboardConfig","$copyText","fakeElement","clipboard","_vClipboard_success","_vClipboard_error","_vClipboard","I","K","X","H","J","Q","et","nt","ot","rt","at","ct","lt","st","ut","ft","pt","vt","mt","yt","bt","xt","Ct","wt","Ot","St","Rt","Et","jt","kt","Tt","It","Ut","At","Nt","$t","Mt","Dt","Ft","Lt","Bt","zt","Vt","Gt","Kt","Wt","Xt","Yt","qt","Ht","Jt","Qt","Zt","te","ee","ne","oe","ae","ie","ce","le","se","ue","fe","pe","de","ve","me","he","ge","ACCESSORS","ye","be","xe","Ce","we","Oe","Se","Re","Ee","je","ke","Te","Ie","Pe","Ue","Ae","Ne","$e","Me","De","Fe","Le","Be","ze","Ve","Ge","Ke","We","Xe","Ye","qe","He","Qe","Ze","tn","en","rn","an","cn","ln","sn","un","pn","dn","vn","mn","hn","baseUrl","put","collectionName","resourceType","resourceId","gn","collections","Cn","fetchCollectionsByResource","getCollectionsByResource","yn","createCollection","baseResourceType","baseResourceId","bn","addResourceToCollection","collectionId","renameCollection","addResource","removeResource","resources","xn","wn","ActionButton","detailsOpen","newName","getIcon","typeClass","limitedResources","iconUrl","mimetype","MimeType","getIconUrl","toggleDetails","showDetails","hideDetails","openRename","On","En","Sn","Rn","jn","ids","kn","shouldshake","rename","autocapitalize","Tn","leading","maxWait","trailing","searchCollections","In","showSelect","CollectionListItem","selectIsOpen","generatingCodes","codes","OCP","Collaboration","getTypes","getLabel","setError","hideSelect","isVueComponent","baseIsEqual","initCompat","ua","rv","edge","getInternetExplorerVersion","emitOnMount","ignoreWidth","ignoreHeight","emitSize","_resizeObject","addResizeHandlers","removeResizeHandlers","compareAndNotify","baseMerge","createAssigner","srcIndex","102","110","14","16","18","22","39","40","49","5","94","95","joinPaths","nonEmptyArgs","lastArg","leadingSlash","trailingSlash","sections","acc","section","encodePath","basename","dirname","isSamePath","path1","path2","pathSections1","pathSections2","Events","EE","emitter","_eventsCount","clearEvent","EventEmitter","eventNames","listenerCount","a1","a2","a3","a4","a5","prefixed","132","133","207","toggleInput","radio","134","resolveOptions","initSelection","selectedText","selectFake","selectTarget","fakeElem","border","pageYOffset","createFakeElement","fakeHandlerCallback","removeFake","fakeHandler","copyText","execCommand","handleResult","clearSelection","getSelection","removeAllRanges","_action","construct","Proxy","ReferenceError","listenClick","queryCommandSupported","defaultAction","defaultTarget","defaultText","delegateTarget","clipboardAction","828","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","438","879","nodeList","370","817","setSelectionRange","selectNodeContents","addRange","279","TinyEmitter","baseIsEqualDeep","equalArrays","equalByTag","equalObjects","getTag","objectTag","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","assocIndexOf","pairs","LARGE_ARRAY_SIZE","isMasked","toSource","reIsHostCtor","funcProto","reIsNative","nativeObjectToString","isOwn","unmasked","coreJsData","maskSrcKey","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","getMapData","setCacheAdd","setCacheHas","predicate","mapToArray","setToArray","symbolProto","symbolValueOf","byteLength","byteOffset","convert","stacked","getAllKeys","objProps","objLength","objStacked","skipCtor","objValue","objCtor","othCtor","baseGetAllKeys","getSymbols","keysFunc","symbolsFunc","arrayFilter","stubArray","nativeGetSymbols","resIndex","baseKeys","iteratee","typedArrayTags","freeProcess","types","isPrototype","DataView","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ctorString","assignMergeValue","baseFor","baseMergeDeep","keysIn","safeGet","srcValue","newValue","createBaseFor","fromRight","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","isArrayLikeObject","toPlainObject","mergeFunc","isCommon","isTyped","allocUnsafe","isDeep","cloneArrayBuffer","typedArray","arrayBuffer","baseCreate","objectCtorString","copyObject","isNew","nativeKeysIn","isProto","baseRest","isIterateeCall","assigner","guard","overRest","setToString","nativeMax","otherArgs","baseSetToString","shortOut","constant","nativeNow","lastCalled","stamp","windowNames","getWindowNames","plurals","Gettext","catalogs","eventName","eventData","setTextDomain","dnpgettext","dgettext","msgidPlural","dngettext","pgettext","msgctxt","dpgettext","npgettext","translation","defaultTranslation","_getTranslation","pluralsFunc","getLanguageCode","getComment","comments","textdomain","setlocale","addTextdomain","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reEscapeChar","baseGet","isKey","stringToPath","toKey","isHostObject","memoize","baseToString","quote","resolver","memoized","Cache","defaultValue","ach","examples","sample","nplurals","pluralsText","af","ak","am","ar","arn","ast","ay","az","bg","bo","br","brx","bs","ca","cgg","cs","csb","cy","da","doi","dz","eo","es","eu","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gu","gun","ha","hi","hne","hr","hu","hy","ja","jbo","jv","ka","kk","km","ko","ku","kw","ky","lb","lo","lv","mai","mfe","mg","mi","mk","ml","mni","mnk","mr","my","nah","nap","nb","nl","nn","nso","oc","or","pa","pap","pl","pms","ps","ro","ru","rw","sah","sat","sco","sd","si","sk","sl","so","son","sq","sr","su","sv","sw","ta","tg","th","ti","tk","tr","ug","uk","ur","uz","vi","wa","wo","yo","zh","ENTRIES","deleteCount","insertCount","actualDeleteCount","actualStart","regexNonASCII","regexSeparators","OVERFLOW_ERROR","stringFromCharCode","digitToBasic","digit","adapt","numPoints","firstTime","baseMinusTMin","inputLength","ucs2decode","bias","basicLength","handledCPCount","handledCPCountPlusOne","qMinusT","baseMinusT","encoded","labels","nativeFetch","NativeRequest","RequestPrototype","Headers","getInternalParamsState","URL_SEARCH_PARAMS","plus","sequences","percentSequence","percentDecode","sequence","deserialize","serialize","parseSearchParams","attribute","validateArgumentsLength","passed","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","wrapRequestOptions","fetch","RequestConstructor","Request","$indexOf","nativeIndexOf","NEGATIVE_ZERO","searchElement","linkify","_interopRequireWildcard","tokenize","Options","escapeText","escapeAttr","attributesToString","linkifyStr","tokens","nl2br","isLink","_opts$resolve","formatted","formattedHref","scanner","filtered","formatHref","validate","ignoreTags","linkAttributes","linkClass","ignoredTags","toHref","getObject","operator","optionValue","TOKENS","State","_state","_text","tlds","NUMBERS","ALPHANUM","WHITESPACE","domainStates","makeState","S_START","S_NUM","S_DOMAIN","S_DOMAIN_HYPHEN","S_WS","partialProtocolFileStates","partialProtocolFtpStates","partialProtocolHttpStates","partialProtocolMailtoStates","S_PROTOCOL_FILE","S_PROTOCOL_FTP","S_PROTOCOL_HTTP","S_MAILTO","S_PROTOCOL_SECURE","S_FULL_PROTOCOL","S_FULL_MAILTO","partialLocalhostStates","lowerStr","cursor","tokenLength","latestAccepting","sinceAccepts","TOKEN","_multi","MULTI_TOKENS","S_PROTOCOL","S_PROTOCOL_SLASH","S_PROTOCOL_SLASH_SLASH","S_DOMAIN_DOT","S_TLD","S_TLD_COLON","S_TLD_PORT","S_URL","S_URL_NON_ACCEPTING","S_URL_OPENBRACE","S_URL_OPENBRACKET","S_URL_OPENANGLEBRACKET","S_URL_OPENPAREN","S_URL_OPENBRACE_Q","S_URL_OPENBRACKET_Q","S_URL_OPENANGLEBRACKET_Q","S_URL_OPENPAREN_Q","S_URL_OPENBRACE_SYMS","S_URL_OPENBRACKET_SYMS","S_URL_OPENANGLEBRACKET_SYMS","S_URL_OPENPAREN_SYMS","S_EMAIL_DOMAIN","S_EMAIL_DOMAIN_DOT","S_EMAIL","EMAIL","S_EMAIL_COLON","S_EMAIL_PORT","S_MAILTO_EMAIL","MAILTOEMAIL","S_MAILTO_EMAIL_NON_ACCEPTING","S_LOCALPART","S_LOCALPART_AT","S_LOCALPART_DOT","S_NL","qsAccepting","qsNonAccepting","localpartAccepting","multis","textTokens","secondState","multiLength","TEXT","MULTI","isDomainToken","MultiToken","hasProtocol","hasSlashSlash","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","queueMicrotaskDescriptor","queueMicrotask","Pebble","promiseCapability","error1","error2","base64map","rotl","rotr","randomBytes","words","hex","hexToBytes","bytesToBase64","triplet","base64ToBytes","imod4","readFloatLE","isSlowBuffer","_isBuffer","StorageBuilder","_persist","persisted","clearedOnLogout","mapper","targetIndex","sourceIndex","mapFn","$reduce","CHROME_VERSION","IS_RIGHT","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","rcompareIdentifiers","ampersandTest","nativeURLSearchParams","isSupportObjectConstructor","decodesPlusesCorrectly","encodesAmpersandsCorrectly","URLSearchParamsPolyfill","propValue","appendTo","USPProto","polyfill","parseToDict","makeIterator","decode","getLogger","_ConsoleLogger","_LoggerBuilder","LoggerBuilder","buildConsoleLogger","ConsoleLogger","_contracts","level","msg","formatMessage","LogLevel","Debug","Info","Warn","Fatal","Config","getElementById","dataset","allowPublicUpload","appConfig","federatedCloudShareDoc","expireDateString","isDefaultExpireDateEnabled","moment","expireAfterDays","defaultExpireDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","defaultExpireDateEnforced","defaultExpireDateEnabled","defaultInternalExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultInternalExpireDateEnabled","remoteShareAllowed","capabilities","files_sharing","sharebymail","public","resharingAllowed","enforced","sharee","always_show_unique","allowGroupSharing","password_policy","Share","ocsData","hide_download","mail_send","_share","share_type","permissions","uid_owner","displayname_owner","share_with","share_with_displayname","share_with_displayname_unique","share_with_link","share_with_avatar","uid_file_owner","displayname_file_owner","stime","expiration","send_password_by_talk","sendPasswordByTalk","item_type","file_source","file_target","file_parent","PERMISSION_READ","PERMISSION_CREATE","PERMISSION_DELETE","PERMISSION_UPDATE","PERMISSION_SHARE","can_edit","can_delete","via_fileid","via_path","storage_id","item_source","SHARE_TYPES","SHARE_TYPE_USER","SHARE_TYPE_GROUP","SHARE_TYPE_LINK","SHARE_TYPE_EMAIL","SHARE_TYPE_REMOTE","SHARE_TYPE_CIRCLE","SHARE_TYPE_GUEST","SHARE_TYPE_DECK","SHARE_TYPE_REMOTE_GROUP","SHARE_TYPE_ROOM","internalLinkSubtitle","internalLink","copied","copySuccess","copyLink","clipboardTooltip","passwordSet","passwordPolicy","api","generate","curr","shareUrl","createShare","shareType","shareWith","publicUpload","expireDate","errorMessage","Notification","showTemporary","deleteShare","updateShare","canReshare","inputPlaceholder","asyncFind","addShare","noResultText","TimeoutError","pTimeout","milliseconds","timer","cancelablePromise","POSITIVE_INFINITY","customTimers","timeoutError","PriorityQueue","_queue","comparator","lowerBound","empty","PQueue","carryoverConcurrencyCount","intervalCap","concurrency","autoStart","queueClass","_carryoverConcurrencyCount","_isIntervalIgnored","_intervalCap","_interval","_queueClass","_timeout","_throwOnTimeout","throwOnTimeout","_isPaused","_intervalCount","_pendingCount","_concurrency","_tryToStartAnother","_resolveEmpty","_resolveIdle","_onInterval","_initializeIntervalIfNeeded","_timeoutId","_intervalId","_intervalEnd","_onResumeInterval","_resolvePromises","canInitializeInterval","_isIntervalPaused","_doesIntervalAllowAnother","_doesConcurrentAllowAnother","job","dequeue","_processQueue","newConcurrency","operation","_next","enqueue","functions","function_","existingResolve","SharesRequests","ShareTypes","fileInfo","share","isUnique","errors","saving","updateQueue","reactiveState","hasNote","dateTomorrow","lang","months","isShareOwner","checkShare","expirationDate","isValid","onExpirationChange","queueUpdate","onExpirationDisable","onNoteChange","onNoteSubmit","newNote","onDelete","propertyNames","onSyncError","propertyEl","debounceQueueUpdate","disabledDate","dateMoment","isBefore","dateMaxEnforced","isSameOrAfter","shareWithDisplayName","initiator","ownerDisplayName","viaPath","viaFileid","viaFileTargetUrl","folder","viaFolderName","mainTitle","subTitle","showInheritedSharesIcon","toggleInheritedShares","toggleTooltip","isEmailShareType","shareLink","pendingPassword","pendingExpirationDate","onMenuClose","canEdit","newLabel","onLabelChange","onLabelSubmit","isFolder","fileHasCreatePermission","isPublicUploadEnabled","sharePermissions","publicUploadRValue","togglePermissions","publicUploadRWValue","publicUploadWValue","canUpdate","hideDownload","isPasswordProtected","onPasswordDisable","hasUnsavedPassword","newPassword","onPasswordChange","onPasswordSubmit","isPasswordProtectedByTalk","canTogglePasswordProtectedByTalkAvailable","onPasswordProtectedByTalkChange","hasExpirationDate","isDefaultExpireDateEnforced","onNewLinkShare","isPasswordPolicyEnabled","minLength","$$v","onCancel","hasLinkShares","shares","awaitForShare","removeShare","shareWithAvatar","shareWithLink","shareWithDisplayNameUnique","permissionsEdit","canSetEdit","canCreate","permissionsCreate","canSetCreate","canDelete","permissionsDelete","canSetDelete","permissionsShare","canSetReshare","isDefaultInternalExpireDateEnforced","circle","conversation","sharedWithMe","linkShares","reshare","ShareSearch","ExternalLinkActions","TabSections","_sections","OCA","Sharing","ShareTabSections","View","SharingTab","TabInstance","Files","Sidebar","registerTab","Tab","mount","AbstractParser","_name","_color","_sourceURL","_refreshInterval","_calendarTimezone","_errors","getItemIterator","ModificationNotAllowedError","lockableTrait","baseClass","_mutable","_modify","ExpectedICalJSError","lc","uc","ucFirst","startStringWith","startWith","GLOBAL_CONFIG","setConfig","getConfig","observerTrait","_subscribers","_modifyContent","parameter","_notifySubscribers","icalValue","_innerValue","decodedValue","fromRawValue","rawValue","icalBinary","fromICALJs","totalSeconds","otherDuration","toICALJs","icalDuration","toICALTimezone","clonedICALTime","jsDate","_start","_end","_duration","lock","isLocked","unlock","icalPeriod","_until","weekStart","icalRecur","icalUTCOffset","UnknownICALTypeError","_parameters","_root","_setParametersFromConstructor","hasValue","parameterName","hasParameter","getParametersIterator","isDecoratedValue","getValueIterator","_cloneValue","icalProperty","getConstructorForICALType","firstValue","getParameterFirstValue","fmtType","updateParameterIfExist","fromDecodedValue","formatType","binaryValue","allowed","userType","rsvp","commonName","vobjectType","VEVENT","VJOURNAL","VTODO","participationStatus","isOrganizer","conference","featureToAdd","hasFeature","deleteParameter","features","lat","long","relationType","relatedId","relType","relId","statusCode","statusMessage","exceptionData","SUCCESS","SUCCESS_FALLBACK","SUCCESS_PROP_IGNORED","SUCCESS_PROPPARAM_IGNORED","SUCCESS_NONSTANDARD_PROP_IGNORED","SUCCESS_NONSTANDARD_PROPPARAM_IGNORED","SUCCESS_COMP_IGNORED","SUCCESS_FORWARDED","SUCCESS_REPEATING_IGNORED","SUCCESS_TRUNCATED_END","SUCCESS_REPEATING_VTODO_IGNORED","SUCCESS_UNBOUND_RRULE_CLIPPED","CLIENT_INVALID_PROPNAME","CLIENT_INVALID_PROPVALUE","CLIENT_INVALID_PROPPARAM","CLIENT_INVALID_PROPPARAMVALUE","CLIENT_INVALUD_CALENDAR_COMP_SEQ","CLIENT_INVALID_DATE_TIME","CLIENT_INVALID_RRULE","CLIENT_INVALID_CU","CLIENT_NO_AUTHORITY","CLIENT_UNSUPPORTED_VERSION","CLIENT_TOO_LARGE","CLIENT_REQUIRED_COMP_OR_PROP_MISSING","CLIENT_UNKNOWN_COMP_OR_PROP","CLIENT_UNSUPPORTED_COMP_OR_PROP","CLIENT_UNSUPPORTED_CAPABILITY","SCHEDULING_EVENT_CONFLICT","SERVER_REQUEST_NOT_SUPPORTED","SERVER_SERVICE_UNAVAILABLE","SERVER_INVALID_CALENDAR_SERVICE","SERVER_NO_SCHEDULING_FOR_USER","altRep","related","getInUTC","alarmTime","alarmOffset","relatedToStart","getConstructorForPropertyName","_setPropertiesFromConstructor","_setComponentsFromConstructor","getPropertyIterator","getComponentIterator","newProperty","_getAllOfPropertyByLang","hasComponent","icalProp","icalComp","_getConstructorForComponentName","advertiseSingleOccurrenceProperty","advertiseValueOnly","iCalendarName","pluralName","allowedValues","unknownValue","getDefaultOncePropConfig","getFirstPropertyFirstValue","deleteAllProperties","advertiseMultipleOccurrenceProperty","getDefaultMultiplePropConfig","deleteProperty","advertiseMultiValueStringPropertySeparatedByLang","_getFirstOfPropertyByLang","addValue","languageParameter","removeValue","dateFactory","RecurringWithoutDtStartError","masterItem","_masterItem","_recurrenceExceptionItems","_rangeRecurrenceExceptionItemsIndex","_rangeRecurrenceExceptionItemsDiffCache","_rangeRecurrenceExceptionItems","getRecurrenceExceptionIterator","recurrenceException","getRangeRecurrenceExceptionForId","originalRecurrenceId","difference","subtractDateWithTimezone","recurrenceExceptionItem","_getRecurrenceIdKey","recurrenceManager","removeRecurrenceExceptionByRecurrenceId","getRecurrenceRuleIterator","recurrenceRule","resetCache","_getPropertiesForRecurrenceDate","getRecurrenceDateIterator","_getValueTypeByValue","markPropertyAsDirty","_getPropertyNameByIsNegative","valueToCheck","allValues","getRecurrenceRuleList","_getRecurExpansionObject","getReferenceRecurrenceId","icalRecurrenceId","_getOccurrenceAtRecurrenceId","dateTimeValue","queriedTimeRangeStart","queriedTimeRangeEnd","isInTimeFrame","queriedICALJsTimeRangeStart","queriedICALJsTimeRangeEnd","recurrenceIdKeys","maximumRecurrenceId","compareDate","getAllOccurrencesBetweenIterator","newUID","newStartDate","oldStartDate","exdate","hasRecurrenceDate","removeRecurrenceException","relateRecurrenceException","hasRecurrenceExceptionForId","getRecurrenceException","canCreateRecurrenceExceptions","forkItem","hasRangeRecurrenceExceptionForId","rangeRecurrenceException","getRangeRecurrenceExceptionDiff","ruleValue","rDateValue","exDateValue","getRandomValues","rnds8","rng","crypto","msCrypto","uuid","byteToHex","buf","rnds","_timezoneId","_ics","_initialized","_initialize","local","floating","attendeeProperty","fromNameAndEMail","triggerProperty","fromAbsolute","fromRelativeAndRelated","_primaryItem","_isExactForkOfPrimary","_originalRecurrenceId","_recurrenceManager","_dirty","_significantChange","_cachedId","primaryItem","isExactForkOfPrimary","updateUID","isMasterItem","updateStartDateOfMasterItem","originalTimezone","getICALTimezone","getInICALTimezone","dtStartValue","recurrenceDate","getRecurrenceDate","dtEnd","due","resetDirty","primaryIsRecurring","thisAndAllFuture","previousPrimaryItem","_overridePrimaryItem","removeThisOccurrence","addRelation","fromEmpty","attendee","getAttendeeIterator","recurDate","valueDateTimeRecurDate","removeRecurrenceDate","addRecurrenceDate","isPartOfRecurrenceSet","getInTimezone","recurValue","exceptionDate","getRecurrenceExceptionList","deleteComponent","isEmptyRecurrenceSet","_addAttendee","fromNameEMailRoleUserTypeAndRSVP","fromLink","contact","comment","fromRelTypeAndId","fromCodeAndMessage","alarmComp","markDirty","markChangesAsSignificant","isDirty","markSubComponentAsDirty","deleteAllComponents","compName","getConstructorForComponentName","getTypeOfBirthdayEvent","eventComponent","getDefaultMultipleCompConfig","dtend","fromPosition","fromURILabelAndFeatures","allDay","defaultTimezone","defaultAllDayDuration","defaultTimedDuration","currentAllDay","isAllDay","canModifyAllDay","replaceTimezone","getIconForBirthday","yearOfOccurrence","yearOfBirth","getAgeOfBirthday","toICS","propertiesToCheck","propertyToCheck","dueTime","getEventIterator","getJournalIterator","getTodoIterator","cleanUpTimezones","vObject","getVObjectIterator","undirtify","icalRoot","additionalProps","AbstractRepairStep","vobjectName","vObjectBlock","containsProdId","containsVersion","containsCalscale","includedTimezones","tzidMatcher","timezoneManager","_aliases","_timezones","_getTimezoneForIdRec","resolvedTimezoneId","includeAliases","timezones","registerTimezone","aliasName","isOlsonTimezone","tzName","hasSlash","hasSpace","startsWithETC","startsWithUS","clearAllTimezones","_rawData","_calendarComponent","_containsVEvents","_containsVJournals","_containsVTodos","_containsVFreeBusy","_items","_masterItems","_forgedMasterItems","_requiredTimezones","_defaultTimezoneManager","_applyRepairSteps","_extractTimezones","_registerTimezones","_createCalendarComponent","_getOption","_extractProperties","_processVObjects","_processVFreeBusy","itemList","calendarComp","_addRequiredTimezonesToCalendarComp","RepairStep","getRepairSteps","repair","_extractPropertyAndPutResultIntoVariable","variableName","hasTimezoneForId","_addItem","_markCompTypeAsSeen","_addRecurrenceException","_addRequiredTimezone","alarm","getAlarmIterator","recurrenceExceptionList","master","forgedMaster","stampTime","getFreebusyIterator","requiredTimezone","getTimezoneForId","_replaceTimezoneWithAnotherOne","timezoneComponent","toTimezoneComponent","calendarComponent","searchTimezone","silentlyReplaceTimezone","ParserManager","_parsers","allFileTypes","getMimeTypes","fileType","Parser","getParserManager","parserManager","registerParser","TimezoneAdapter","_timezoneManager","parseICSAndGetAllOccurrencesBetween","icsParser","getParserForFileType","firstVObject","calendar","createFreeBusyRequest","organizer","attendees","fromMethod","freeBusyComponent","clonedAttendee","toDate","isValidDate","firstDayOfWeek","getDay","diff","setDate","setHours","startOfWeekYear","_ref$firstDayOfWeek","_ref$firstWeekContain","firstWeekContainsDate","firstDateOfFirstWeek","getWeek","_ref2$firstDayOfWeek","_ref2$firstWeekContai","firstDateOfThisWeek","monthsShort","weekdays","weekdaysShort","weekdaysMin","REGEX_FORMAT","pad","formatTimezone","delimeter","absOffset","meridiem","isLowercase","word","toLocaleLowerCase","formatFlags","YY","YYYY","MM","MMM","MMMM","DD","hh","ss","getMilliseconds","SS","SSS","ddd","dddd","getTimezoneOffset","ZZ","ww","formatStr","p1","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","formattingTokens","match1","match2","match1to2","matchSigned","parseFlags","addParseFlag","regex","escapeStringRegExp","matchWordRegExp","localeKey","matchWordCallback","to24hour","isPM","getFullInputArray","backupDate","backupArr","useBackup","createUTCDate","setUTCFullYear","makeParser","dateString","parseTo","_objectSpread2","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_extends$1","cent","meridiemParse","defaultIsPM","_ref9","normalMerge","toArrayMerge","functionalMerge","mergeFn","helper","createDate","isValidRangeDate","getValidDate","backup","startOfDay","assignTime","chunk","pick","formatLocale","yearFormat","monthFormat","monthBeforeYear","defaultLocale","locales","isLocal","getPropertyValue","scroll","scrollBarWidth","prefixClass","visible","displayPopup","_clickoutEvent","handleClickOutside","isRunning","relativeElement","_displayPopup","_scrollParent","popup","_popupRect","originalVisibility","getPopupElementSize","_this$_popupRect","_getRelativePosition","targetWidth","targetHeight","fixed","offsetX","offsetY","relativeRect","dw","dh","pageXOffset","getRelativePosition","__vue_component__$1","__vue_component__$2","__vue_component__$3","__vue_component__$4","handleIconDoubleLeftClick","handleIconLeftClick","handleIconDoubleRightClick","handleIconRightClick","yearMonth","panel","handlePanelChange","handleCellClick","dates","row","getRowClasses","getWeekNumber","cell","getCellClasses","getCellTitle","handleMouseEnter","handleMouseLeave","IconButton","onDateMouseEnter","onDateMouseLeave","titleFormat","_this$getLocale","_this$getLocale$month","yearLabel","formatDate","monthLabel","lastDayInLastMonth","firstDayInLastMonth","lastDayInCurrentMonth","nextMonthLength","_i2","getCalendar","getNextCalendar","diffMonth","_index$split$map2","col","fmt","__vue_component__$5","calendarYear","handleClick","diffYear","__vue_component__$6","firstYear","lastYear","getYearPanel","getYears","CalendarPanel","dispatchDatePicker","defaultPanel","getClasses","partialUpdate","panels","innerCalendar","innerValue","calendarMonth","initCalendar","calendarDate","isDisabled","emitDate","handleCalendarChange","oldCalendar","handelPanelChange","oldPanel","getYearCellDate","_date","getMonthCellDate","_date2","dirtyDate","dirtyMonth","handleSelectDate","getDateClasses","cellDate","notCurrentMonth","getStateClass","getMonthClasses","getYearClasses","getWeekState","CalendarRange","calendars","hoveredValue","calendarMinDiff","calendarMaxDiff","Infinity","defaultValues","updateCalendars","handleSelect","_this$innerValue","startValue","endValue","updateStartCalendar","updateEndCalendar","adjustIndex","gap","getCalendarGap","_calendars","calendarLeft","calendarRight","getRangeClasses","currentDates","classnames","inRange","_range$map","_range$map2","calendarRange","__vue_component__$7","scrollbarWidth","handleScroll","thumbHeight","thumbTop","handleDragstart","outer","getScrollbarWidth","handleDragend","getThumbSize","heightPercentage","scrollHeight","_draggable","offsetTop","thumb","_prevY","clientY","handleDraging","padNumber","generateOptions","scrollTo","tick","__vue_component__$8","columns","ScrollbarVertical","scrollDuration","hourOptions","minuteOptions","secondOptions","showHour","showMinute","showSecond","hourStep","secondStep","use12h","cols","getHoursList","getMinutesList","getSecondsList","getAMPMList","scrollToSelected","setMinutes","setSeconds","colIndex","cellIndex","parseOption","__vue_component__$9","startMinutes","endMinutes","stepMinutes","timeMinutes","scrollTo$1","__vue_component__$a","showTimeHeader","handleClickTitle","timePickerOptions","innerForamt","ShowHourMinuteSecondAMPM","ListColumns","ListOptions","timeTitleFormat","disabledTime","defaultProps","TimeRange","_this$value","emitChange","handleSelectStart","handleSelectEnd","disabledStartTime","disabledEndTime","DatetimePanel","emits","showTimePanel","defaultTimeVisible","timeVisible","closeTimePanel","openTimePanel","calendarProps","timeProps","clicktitle","DatetimeRange","datetimes","componentMap","componentRangeMap","rangeSeparator","editable","inputClass","inputAttr","popupClass","popupStyle","inline","confirm","confirmText","renderInputText","shortcuts","userInput","defaultOpen","popupVisible","innerRangeSeparator","innerFormat","validMultipleType","value2date","isValidValue","showClearIcon","mergeDeep","handleClickOutSide","getFormatter","parseDate","_options$locale","_locale","_options$backupDate","parseResult","millisecond","inputArray","firstDate","utcDate","offsetMilliseconds","parsedDate","date2value","emitValue","afterEmitValue","isValidValueAndNotDisabled","handleMultipleDates","nextDates","handleClear","handleConfirmDate","handleSelectShortcut","openPopup","handleInputChange","handleInputInput","handleInputKeydown","handleInputBlur","handleInputFocus","slotFn","renderInput","readonly","renderSidebar","renderHeader","renderFooter","sidedar","TimePanel"],"mappings":"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","file":"files_sharing_tab.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/js/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 504);\n","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/* istanbul ignore next */\n/* jshint ignore:start */\nif (typeof module === 'object') {\n // CommonJS, where exports may be different each time.\n ICAL = module.exports;\n} else if (typeof ICAL !== 'object') {/* istanbul ignore next */\n /** @ignore */\n this.ICAL = {};\n}\n/* jshint ignore:end */\n\n\n/**\n * The number of characters before iCalendar line folding should occur\n * @type {Number}\n * @default 75\n */\nICAL.foldLength = 75;\n\n\n/**\n * The character(s) to be used for a newline. The default value is provided by\n * rfc5545.\n * @type {String}\n * @default \"\\r\\n\"\n */\nICAL.newLineChar = '\\r\\n';\n\n\n/**\n * Helper functions used in various places within ical.js\n * @namespace\n */\nICAL.helpers = {\n /**\n * Compiles a list of all referenced TZIDs in all subcomponents and\n * removes any extra VTIMEZONE subcomponents. In addition, if any TZIDs\n * are referenced by a component, but a VTIMEZONE does not exist,\n * an attempt will be made to generate a VTIMEZONE using ICAL.TimezoneService.\n *\n * @param {ICAL.Component} vcal The top-level VCALENDAR component.\n * @return {ICAL.Component} The ICAL.Component that was passed in.\n */\n updateTimezones: function(vcal) {\n var allsubs, properties, vtimezones, reqTzid, i, tzid;\n\n if (!vcal || vcal.name !== \"vcalendar\") {\n //not a top-level vcalendar component\n return vcal;\n }\n\n //Store vtimezone subcomponents in an object reference by tzid.\n //Store properties from everything else in another array\n allsubs = vcal.getAllSubcomponents();\n properties = [];\n vtimezones = {};\n for (i = 0; i < allsubs.length; i++) {\n if (allsubs[i].name === \"vtimezone\") {\n tzid = allsubs[i].getFirstProperty(\"tzid\").getFirstValue();\n vtimezones[tzid] = allsubs[i];\n } else {\n properties = properties.concat(allsubs[i].getAllProperties());\n }\n }\n\n //create an object with one entry for each required tz\n reqTzid = {};\n for (i = 0; i < properties.length; i++) {\n if ((tzid = properties[i].getParameter(\"tzid\"))) {\n reqTzid[tzid] = true;\n }\n }\n\n //delete any vtimezones that are not on the reqTzid list.\n for (i in vtimezones) {\n if (vtimezones.hasOwnProperty(i) && !reqTzid[i]) {\n vcal.removeSubcomponent(vtimezones[i]);\n }\n }\n\n //create any missing, but registered timezones\n for (i in reqTzid) {\n if (\n reqTzid.hasOwnProperty(i) &&\n !vtimezones[i] &&\n ICAL.TimezoneService.has(i)\n ) {\n vcal.addSubcomponent(ICAL.TimezoneService.get(i).component);\n }\n }\n\n return vcal;\n },\n\n /**\n * Checks if the given type is of the number type and also NaN.\n *\n * @param {Number} number The number to check\n * @return {Boolean} True, if the number is strictly NaN\n */\n isStrictlyNaN: function(number) {\n return typeof(number) === 'number' && isNaN(number);\n },\n\n /**\n * Parses a string value that is expected to be an integer, when the valid is\n * not an integer throws a decoration error.\n *\n * @param {String} string Raw string input\n * @return {Number} Parsed integer\n */\n strictParseInt: function(string) {\n var result = parseInt(string, 10);\n\n if (ICAL.helpers.isStrictlyNaN(result)) {\n throw new Error(\n 'Could not extract integer from \"' + string + '\"'\n );\n }\n\n return result;\n },\n\n /**\n * Creates or returns a class instance of a given type with the initialization\n * data if the data is not already an instance of the given type.\n *\n * @example\n * var time = new ICAL.Time(...);\n * var result = ICAL.helpers.formatClassType(time, ICAL.Time);\n *\n * (result instanceof ICAL.Time)\n * // => true\n *\n * result = ICAL.helpers.formatClassType({}, ICAL.Time);\n * (result isntanceof ICAL.Time)\n * // => true\n *\n *\n * @param {Object} data object initialization data\n * @param {Object} type object type (like ICAL.Time)\n * @return {?} An instance of the found type.\n */\n formatClassType: function formatClassType(data, type) {\n if (typeof(data) === 'undefined') {\n return undefined;\n }\n\n if (data instanceof type) {\n return data;\n }\n return new type(data);\n },\n\n /**\n * Identical to indexOf but will only match values when they are not preceded\n * by a backslash character.\n *\n * @param {String} buffer String to search\n * @param {String} search Value to look for\n * @param {Number} pos Start position\n * @return {Number} The position, or -1 if not found\n */\n unescapedIndexOf: function(buffer, search, pos) {\n while ((pos = buffer.indexOf(search, pos)) !== -1) {\n if (pos > 0 && buffer[pos - 1] === '\\\\') {\n pos += 1;\n } else {\n return pos;\n }\n }\n return -1;\n },\n\n /**\n * Find the index for insertion using binary search.\n *\n * @param {Array} list The list to search\n * @param {?} seekVal The value to insert\n * @param {function(?,?)} cmpfunc The comparison func, that can\n * compare two seekVals\n * @return {Number} The insert position\n */\n binsearchInsert: function(list, seekVal, cmpfunc) {\n if (!list.length)\n return 0;\n\n var low = 0, high = list.length - 1,\n mid, cmpval;\n\n while (low <= high) {\n mid = low + Math.floor((high - low) / 2);\n cmpval = cmpfunc(seekVal, list[mid]);\n\n if (cmpval < 0)\n high = mid - 1;\n else if (cmpval > 0)\n low = mid + 1;\n else\n break;\n }\n\n if (cmpval < 0)\n return mid; // insertion is displacing, so use mid outright.\n else if (cmpval > 0)\n return mid + 1;\n else\n return mid;\n },\n\n /**\n * Convenience function for debug output\n * @private\n */\n dumpn: /* istanbul ignore next */ function() {\n if (!ICAL.debug) {\n return;\n }\n\n if (typeof (console) !== 'undefined' && 'log' in console) {\n ICAL.helpers.dumpn = function consoleDumpn(input) {\n console.log(input);\n };\n } else {\n ICAL.helpers.dumpn = function geckoDumpn(input) {\n dump(input + '\\n');\n };\n }\n\n ICAL.helpers.dumpn(arguments[0]);\n },\n\n /**\n * Clone the passed object or primitive. By default a shallow clone will be\n * executed.\n *\n * @param {*} aSrc The thing to clone\n * @param {Boolean=} aDeep If true, a deep clone will be performed\n * @return {*} The copy of the thing\n */\n clone: function(aSrc, aDeep) {\n if (!aSrc || typeof aSrc != \"object\") {\n return aSrc;\n } else if (aSrc instanceof Date) {\n return new Date(aSrc.getTime());\n } else if (\"clone\" in aSrc) {\n return aSrc.clone();\n } else if (Array.isArray(aSrc)) {\n var arr = [];\n for (var i = 0; i < aSrc.length; i++) {\n arr.push(aDeep ? ICAL.helpers.clone(aSrc[i], true) : aSrc[i]);\n }\n return arr;\n } else {\n var obj = {};\n for (var name in aSrc) {\n // uses prototype method to allow use of Object.create(null);\n /* istanbul ignore else */\n if (Object.prototype.hasOwnProperty.call(aSrc, name)) {\n if (aDeep) {\n obj[name] = ICAL.helpers.clone(aSrc[name], true);\n } else {\n obj[name] = aSrc[name];\n }\n }\n }\n return obj;\n }\n },\n\n /**\n * Performs iCalendar line folding. A line ending character is inserted and\n * the next line begins with a whitespace.\n *\n * @example\n * SUMMARY:This line will be fold\n * ed right in the middle of a word.\n *\n * @param {String} aLine The line to fold\n * @return {String} The folded line\n */\n foldline: function foldline(aLine) {\n var result = \"\";\n var line = aLine || \"\";\n\n while (line.length) {\n result += ICAL.newLineChar + \" \" + line.substr(0, ICAL.foldLength);\n line = line.substr(ICAL.foldLength);\n }\n return result.substr(ICAL.newLineChar.length + 1);\n },\n\n /**\n * Pads the given string or number with zeros so it will have at least two\n * characters.\n *\n * @param {String|Number} data The string or number to pad\n * @return {String} The number padded as a string\n */\n pad2: function pad(data) {\n if (typeof(data) !== 'string') {\n // handle fractions.\n if (typeof(data) === 'number') {\n data = parseInt(data);\n }\n data = String(data);\n }\n\n var len = data.length;\n\n switch (len) {\n case 0:\n return '00';\n case 1:\n return '0' + data;\n default:\n return data;\n }\n },\n\n /**\n * Truncates the given number, correctly handling negative numbers.\n *\n * @param {Number} number The number to truncate\n * @return {Number} The truncated number\n */\n trunc: function trunc(number) {\n return (number < 0 ? Math.ceil(number) : Math.floor(number));\n },\n\n /**\n * Poor-man's cross-browser inheritance for JavaScript. Doesn't support all\n * the features, but enough for our usage.\n *\n * @param {Function} base The base class constructor function.\n * @param {Function} child The child class constructor function.\n * @param {Object} extra Extends the prototype with extra properties\n * and methods\n */\n inherits: function(base, child, extra) {\n function F() {}\n F.prototype = base.prototype;\n child.prototype = new F();\n\n if (extra) {\n ICAL.helpers.extend(extra, child.prototype);\n }\n },\n\n /**\n * Poor-man's cross-browser object extension. Doesn't support all the\n * features, but enough for our usage. Note that the target's properties are\n * not overwritten with the source properties.\n *\n * @example\n * var child = ICAL.helpers.extend(parent, {\n * \"bar\": 123\n * });\n *\n * @param {Object} source The object to extend\n * @param {Object} target The object to extend with\n * @return {Object} Returns the target.\n */\n extend: function(source, target) {\n for (var key in source) {\n var descr = Object.getOwnPropertyDescriptor(source, key);\n if (descr && !Object.getOwnPropertyDescriptor(target, key)) {\n Object.defineProperty(target, key, descr);\n }\n }\n return target;\n }\n};\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n/** @namespace ICAL */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.design = (function() {\n 'use strict';\n\n var FROM_ICAL_NEWLINE = /\\\\\\\\|\\\\;|\\\\,|\\\\[Nn]/g;\n var TO_ICAL_NEWLINE = /\\\\|;|,|\\n/g;\n var FROM_VCARD_NEWLINE = /\\\\\\\\|\\\\,|\\\\[Nn]/g;\n var TO_VCARD_NEWLINE = /\\\\|,|\\n/g;\n\n function createTextType(fromNewline, toNewline) {\n var result = {\n matches: /.*/,\n\n fromICAL: function(aValue, structuredEscape) {\n return replaceNewline(aValue, fromNewline, structuredEscape);\n },\n\n toICAL: function(aValue, structuredEscape) {\n var regEx = toNewline;\n if (structuredEscape)\n regEx = new RegExp(regEx.source + '|' + structuredEscape);\n return aValue.replace(regEx, function(str) {\n switch (str) {\n case \"\\\\\":\n return \"\\\\\\\\\";\n case \";\":\n return \"\\\\;\";\n case \",\":\n return \"\\\\,\";\n case \"\\n\":\n return \"\\\\n\";\n /* istanbul ignore next */\n default:\n return str;\n }\n });\n }\n };\n return result;\n }\n\n // default types used multiple times\n var DEFAULT_TYPE_TEXT = { defaultType: \"text\" };\n var DEFAULT_TYPE_TEXT_MULTI = { defaultType: \"text\", multiValue: \",\" };\n var DEFAULT_TYPE_TEXT_STRUCTURED = { defaultType: \"text\", structuredValue: \";\" };\n var DEFAULT_TYPE_INTEGER = { defaultType: \"integer\" };\n var DEFAULT_TYPE_DATETIME_DATE = { defaultType: \"date-time\", allowedTypes: [\"date-time\", \"date\"] };\n var DEFAULT_TYPE_DATETIME = { defaultType: \"date-time\" };\n var DEFAULT_TYPE_URI = { defaultType: \"uri\" };\n var DEFAULT_TYPE_UTCOFFSET = { defaultType: \"utc-offset\" };\n var DEFAULT_TYPE_RECUR = { defaultType: \"recur\" };\n var DEFAULT_TYPE_DATE_ANDOR_TIME = { defaultType: \"date-and-or-time\", allowedTypes: [\"date-time\", \"date\", \"text\"] };\n\n function replaceNewlineReplace(string) {\n switch (string) {\n case \"\\\\\\\\\":\n return \"\\\\\";\n case \"\\\\;\":\n return \";\";\n case \"\\\\,\":\n return \",\";\n case \"\\\\n\":\n case \"\\\\N\":\n return \"\\n\";\n /* istanbul ignore next */\n default:\n return string;\n }\n }\n\n function replaceNewline(value, newline, structuredEscape) {\n // avoid regex when possible.\n if (value.indexOf('\\\\') === -1) {\n return value;\n }\n if (structuredEscape)\n newline = new RegExp(newline.source + '|\\\\\\\\' + structuredEscape);\n return value.replace(newline, replaceNewlineReplace);\n }\n\n var commonProperties = {\n \"categories\": DEFAULT_TYPE_TEXT_MULTI,\n \"url\": DEFAULT_TYPE_URI,\n \"version\": DEFAULT_TYPE_TEXT,\n \"uid\": DEFAULT_TYPE_TEXT\n };\n\n var commonValues = {\n \"boolean\": {\n values: [\"TRUE\", \"FALSE\"],\n\n fromICAL: function(aValue) {\n switch (aValue) {\n case 'TRUE':\n return true;\n case 'FALSE':\n return false;\n default:\n //TODO: parser warning\n return false;\n }\n },\n\n toICAL: function(aValue) {\n if (aValue) {\n return 'TRUE';\n }\n return 'FALSE';\n }\n\n },\n float: {\n matches: /^[+-]?\\d+\\.\\d+$/,\n\n fromICAL: function(aValue) {\n var parsed = parseFloat(aValue);\n if (ICAL.helpers.isStrictlyNaN(parsed)) {\n // TODO: parser warning\n return 0.0;\n }\n return parsed;\n },\n\n toICAL: function(aValue) {\n return String(aValue);\n }\n },\n integer: {\n fromICAL: function(aValue) {\n var parsed = parseInt(aValue);\n if (ICAL.helpers.isStrictlyNaN(parsed)) {\n return 0;\n }\n return parsed;\n },\n\n toICAL: function(aValue) {\n return String(aValue);\n }\n },\n \"utc-offset\": {\n toICAL: function(aValue) {\n if (aValue.length < 7) {\n // no seconds\n // -0500\n return aValue.substr(0, 3) +\n aValue.substr(4, 2);\n } else {\n // seconds\n // -050000\n return aValue.substr(0, 3) +\n aValue.substr(4, 2) +\n aValue.substr(7, 2);\n }\n },\n\n fromICAL: function(aValue) {\n if (aValue.length < 6) {\n // no seconds\n // -05:00\n return aValue.substr(0, 3) + ':' +\n aValue.substr(3, 2);\n } else {\n // seconds\n // -05:00:00\n return aValue.substr(0, 3) + ':' +\n aValue.substr(3, 2) + ':' +\n aValue.substr(5, 2);\n }\n },\n\n decorate: function(aValue) {\n return ICAL.UtcOffset.fromString(aValue);\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n }\n };\n\n var icalParams = {\n // Although the syntax is DQUOTE uri DQUOTE, I don't think we should\n // enfoce anything aside from it being a valid content line.\n //\n // At least some params require - if multi values are used - DQUOTEs\n // for each of its values - e.g. delegated-from=\"uri1\",\"uri2\"\n // To indicate this, I introduced the new k/v pair\n // multiValueSeparateDQuote: true\n //\n // \"ALTREP\": { ... },\n\n // CN just wants a param-value\n // \"CN\": { ... }\n\n \"cutype\": {\n values: [\"INDIVIDUAL\", \"GROUP\", \"RESOURCE\", \"ROOM\", \"UNKNOWN\"],\n allowXName: true,\n allowIanaToken: true\n },\n\n \"delegated-from\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n \"delegated-to\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n // \"DIR\": { ... }, // See ALTREP\n \"encoding\": {\n values: [\"8BIT\", \"BASE64\"]\n },\n // \"FMTTYPE\": { ... }, // See ALTREP\n \"fbtype\": {\n values: [\"FREE\", \"BUSY\", \"BUSY-UNAVAILABLE\", \"BUSY-TENTATIVE\"],\n allowXName: true,\n allowIanaToken: true\n },\n // \"LANGUAGE\": { ... }, // See ALTREP\n \"member\": {\n valueType: \"cal-address\",\n multiValue: \",\",\n multiValueSeparateDQuote: true\n },\n \"partstat\": {\n // TODO These values are actually different per-component\n values: [\"NEEDS-ACTION\", \"ACCEPTED\", \"DECLINED\", \"TENTATIVE\",\n \"DELEGATED\", \"COMPLETED\", \"IN-PROCESS\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"range\": {\n values: [\"THISLANDFUTURE\"]\n },\n \"related\": {\n values: [\"START\", \"END\"]\n },\n \"reltype\": {\n values: [\"PARENT\", \"CHILD\", \"SIBLING\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"role\": {\n values: [\"REQ-PARTICIPANT\", \"CHAIR\",\n \"OPT-PARTICIPANT\", \"NON-PARTICIPANT\"],\n allowXName: true,\n allowIanaToken: true\n },\n \"rsvp\": {\n values: [\"TRUE\", \"FALSE\"]\n },\n \"sent-by\": {\n valueType: \"cal-address\"\n },\n \"tzid\": {\n matches: /^\\//\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"binary\", \"boolean\", \"cal-address\", \"date\", \"date-time\",\n \"duration\", \"float\", \"integer\", \"period\", \"recur\", \"text\",\n \"time\", \"uri\", \"utc-offset\"],\n allowXName: true,\n allowIanaToken: true\n }\n };\n\n // When adding a value here, be sure to add it to the parameter types!\n var icalValues = ICAL.helpers.extend(commonValues, {\n text: createTextType(FROM_ICAL_NEWLINE, TO_ICAL_NEWLINE),\n\n uri: {\n // TODO\n /* ... */\n },\n\n \"binary\": {\n decorate: function(aString) {\n return ICAL.Binary.fromString(aString);\n },\n\n undecorate: function(aBinary) {\n return aBinary.toString();\n }\n },\n \"cal-address\": {\n // needs to be an uri\n },\n \"date\": {\n decorate: function(aValue, aProp) {\n if (design.strict) {\n return ICAL.Time.fromDateString(aValue, aProp);\n } else {\n return ICAL.Time.fromString(aValue, aProp);\n }\n },\n\n /**\n * undecorates a time object.\n */\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n // from: 20120901\n // to: 2012-09-01\n if (!design.strict && aValue.length >= 15) {\n // This is probably a date-time, e.g. 20120901T130000Z\n return icalValues[\"date-time\"].fromICAL(aValue);\n } else {\n return aValue.substr(0, 4) + '-' +\n aValue.substr(4, 2) + '-' +\n aValue.substr(6, 2);\n }\n },\n\n toICAL: function(aValue) {\n // from: 2012-09-01\n // to: 20120901\n var len = aValue.length;\n\n if (len == 10) {\n return aValue.substr(0, 4) +\n aValue.substr(5, 2) +\n aValue.substr(8, 2);\n } else if (len >= 19) {\n return icalValues[\"date-time\"].toICAL(aValue);\n } else {\n //TODO: serialize warning?\n return aValue;\n }\n\n }\n },\n \"date-time\": {\n fromICAL: function(aValue) {\n // from: 20120901T130000\n // to: 2012-09-01T13:00:00\n if (!design.strict && aValue.length == 8) {\n // This is probably a date, e.g. 20120901\n return icalValues.date.fromICAL(aValue);\n } else {\n var result = aValue.substr(0, 4) + '-' +\n aValue.substr(4, 2) + '-' +\n aValue.substr(6, 2) + 'T' +\n aValue.substr(9, 2) + ':' +\n aValue.substr(11, 2) + ':' +\n aValue.substr(13, 2);\n\n if (aValue[15] && aValue[15] === 'Z') {\n result += 'Z';\n }\n\n return result;\n }\n },\n\n toICAL: function(aValue) {\n // from: 2012-09-01T13:00:00\n // to: 20120901T130000\n var len = aValue.length;\n\n if (len == 10 && !design.strict) {\n return icalValues.date.toICAL(aValue);\n } else if (len >= 19) {\n var result = aValue.substr(0, 4) +\n aValue.substr(5, 2) +\n // grab the (DDTHH) segment\n aValue.substr(8, 5) +\n // MM\n aValue.substr(14, 2) +\n // SS\n aValue.substr(17, 2);\n\n if (aValue[19] && aValue[19] === 'Z') {\n result += 'Z';\n }\n return result;\n } else {\n // TODO: error\n return aValue;\n }\n },\n\n decorate: function(aValue, aProp) {\n if (design.strict) {\n return ICAL.Time.fromDateTimeString(aValue, aProp);\n } else {\n return ICAL.Time.fromString(aValue, aProp);\n }\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n },\n duration: {\n decorate: function(aValue) {\n return ICAL.Duration.fromString(aValue);\n },\n undecorate: function(aValue) {\n return aValue.toString();\n }\n },\n period: {\n\n fromICAL: function(string) {\n var parts = string.split('/');\n parts[0] = icalValues['date-time'].fromICAL(parts[0]);\n\n if (!ICAL.Duration.isValueString(parts[1])) {\n parts[1] = icalValues['date-time'].fromICAL(parts[1]);\n }\n\n return parts;\n },\n\n toICAL: function(parts) {\n if (!design.strict && parts[0].length == 10) {\n parts[0] = icalValues.date.toICAL(parts[0]);\n } else {\n parts[0] = icalValues['date-time'].toICAL(parts[0]);\n }\n\n if (!ICAL.Duration.isValueString(parts[1])) {\n if (!design.strict && parts[1].length == 10) {\n parts[1] = icalValues.date.toICAL(parts[1]);\n } else {\n parts[1] = icalValues['date-time'].toICAL(parts[1]);\n }\n }\n\n return parts.join(\"/\");\n },\n\n decorate: function(aValue, aProp) {\n return ICAL.Period.fromJSON(aValue, aProp, !design.strict);\n },\n\n undecorate: function(aValue) {\n return aValue.toJSON();\n }\n },\n recur: {\n fromICAL: function(string) {\n return ICAL.Recur._stringToData(string, true);\n },\n\n toICAL: function(data) {\n var str = \"\";\n for (var k in data) {\n /* istanbul ignore if */\n if (!Object.prototype.hasOwnProperty.call(data, k)) {\n continue;\n }\n var val = data[k];\n if (k == \"until\") {\n if (val.length > 10) {\n val = icalValues['date-time'].toICAL(val);\n } else {\n val = icalValues.date.toICAL(val);\n }\n } else if (k == \"wkst\") {\n if (typeof val === 'number') {\n val = ICAL.Recur.numericDayToIcalDay(val);\n }\n } else if (Array.isArray(val)) {\n val = val.join(\",\");\n }\n str += k.toUpperCase() + \"=\" + val + \";\";\n }\n return str.substr(0, str.length - 1);\n },\n\n decorate: function decorate(aValue) {\n return ICAL.Recur.fromData(aValue);\n },\n\n undecorate: function(aRecur) {\n return aRecur.toJSON();\n }\n },\n\n time: {\n fromICAL: function(aValue) {\n // from: MMHHSS(Z)?\n // to: HH:MM:SS(Z)?\n if (aValue.length < 6) {\n // TODO: parser exception?\n return aValue;\n }\n\n // HH::MM::SSZ?\n var result = aValue.substr(0, 2) + ':' +\n aValue.substr(2, 2) + ':' +\n aValue.substr(4, 2);\n\n if (aValue[6] === 'Z') {\n result += 'Z';\n }\n\n return result;\n },\n\n toICAL: function(aValue) {\n // from: HH:MM:SS(Z)?\n // to: MMHHSS(Z)?\n if (aValue.length < 8) {\n //TODO: error\n return aValue;\n }\n\n var result = aValue.substr(0, 2) +\n aValue.substr(3, 2) +\n aValue.substr(6, 2);\n\n if (aValue[8] === 'Z') {\n result += 'Z';\n }\n\n return result;\n }\n }\n });\n\n var icalProperties = ICAL.helpers.extend(commonProperties, {\n\n \"action\": DEFAULT_TYPE_TEXT,\n \"attach\": { defaultType: \"uri\" },\n \"attendee\": { defaultType: \"cal-address\" },\n \"calscale\": DEFAULT_TYPE_TEXT,\n \"class\": DEFAULT_TYPE_TEXT,\n \"comment\": DEFAULT_TYPE_TEXT,\n \"completed\": DEFAULT_TYPE_DATETIME,\n \"contact\": DEFAULT_TYPE_TEXT,\n \"created\": DEFAULT_TYPE_DATETIME,\n \"description\": DEFAULT_TYPE_TEXT,\n \"dtend\": DEFAULT_TYPE_DATETIME_DATE,\n \"dtstamp\": DEFAULT_TYPE_DATETIME,\n \"dtstart\": DEFAULT_TYPE_DATETIME_DATE,\n \"due\": DEFAULT_TYPE_DATETIME_DATE,\n \"duration\": { defaultType: \"duration\" },\n \"exdate\": {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n multiValue: ','\n },\n \"exrule\": DEFAULT_TYPE_RECUR,\n \"freebusy\": { defaultType: \"period\", multiValue: \",\" },\n \"geo\": { defaultType: \"float\", structuredValue: \";\" },\n \"last-modified\": DEFAULT_TYPE_DATETIME,\n \"location\": DEFAULT_TYPE_TEXT,\n \"method\": DEFAULT_TYPE_TEXT,\n \"organizer\": { defaultType: \"cal-address\" },\n \"percent-complete\": DEFAULT_TYPE_INTEGER,\n \"priority\": DEFAULT_TYPE_INTEGER,\n \"prodid\": DEFAULT_TYPE_TEXT,\n \"related-to\": DEFAULT_TYPE_TEXT,\n \"repeat\": DEFAULT_TYPE_INTEGER,\n \"rdate\": {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\", \"period\"],\n multiValue: ',',\n detectType: function(string) {\n if (string.indexOf('/') !== -1) {\n return 'period';\n }\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n \"recurrence-id\": DEFAULT_TYPE_DATETIME_DATE,\n \"resources\": DEFAULT_TYPE_TEXT_MULTI,\n \"request-status\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"rrule\": DEFAULT_TYPE_RECUR,\n \"sequence\": DEFAULT_TYPE_INTEGER,\n \"status\": DEFAULT_TYPE_TEXT,\n \"summary\": DEFAULT_TYPE_TEXT,\n \"transp\": DEFAULT_TYPE_TEXT,\n \"trigger\": { defaultType: \"duration\", allowedTypes: [\"duration\", \"date-time\"] },\n \"tzoffsetfrom\": DEFAULT_TYPE_UTCOFFSET,\n \"tzoffsetto\": DEFAULT_TYPE_UTCOFFSET,\n \"tzurl\": DEFAULT_TYPE_URI,\n \"tzid\": DEFAULT_TYPE_TEXT,\n \"tzname\": DEFAULT_TYPE_TEXT\n });\n\n // When adding a value here, be sure to add it to the parameter types!\n var vcardValues = ICAL.helpers.extend(commonValues, {\n text: createTextType(FROM_VCARD_NEWLINE, TO_VCARD_NEWLINE),\n uri: createTextType(FROM_VCARD_NEWLINE, TO_VCARD_NEWLINE),\n\n date: {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(aValue, \"date\");\n },\n undecorate: function(aValue) {\n return aValue.toString();\n },\n fromICAL: function(aValue) {\n if (aValue.length == 8) {\n return icalValues.date.fromICAL(aValue);\n } else if (aValue[0] == '-' && aValue.length == 6) {\n return aValue.substr(0, 4) + '-' + aValue.substr(4);\n } else {\n return aValue;\n }\n },\n toICAL: function(aValue) {\n if (aValue.length == 10) {\n return icalValues.date.toICAL(aValue);\n } else if (aValue[0] == '-' && aValue.length == 7) {\n return aValue.substr(0, 4) + aValue.substr(5);\n } else {\n return aValue;\n }\n }\n },\n\n time: {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(\"T\" + aValue, \"time\");\n },\n undecorate: function(aValue) {\n return aValue.toString();\n },\n fromICAL: function(aValue) {\n var splitzone = vcardValues.time._splitZone(aValue, true);\n var zone = splitzone[0], value = splitzone[1];\n\n //console.log(\"SPLIT: \",splitzone);\n\n if (value.length == 6) {\n value = value.substr(0, 2) + ':' +\n value.substr(2, 2) + ':' +\n value.substr(4, 2);\n } else if (value.length == 4 && value[0] != '-') {\n value = value.substr(0, 2) + ':' + value.substr(2, 2);\n } else if (value.length == 5) {\n value = value.substr(0, 3) + ':' + value.substr(3, 2);\n }\n\n if (zone.length == 5 && (zone[0] == '-' || zone[0] == '+')) {\n zone = zone.substr(0, 3) + ':' + zone.substr(3);\n }\n\n return value + zone;\n },\n\n toICAL: function(aValue) {\n var splitzone = vcardValues.time._splitZone(aValue);\n var zone = splitzone[0], value = splitzone[1];\n\n if (value.length == 8) {\n value = value.substr(0, 2) +\n value.substr(3, 2) +\n value.substr(6, 2);\n } else if (value.length == 5 && value[0] != '-') {\n value = value.substr(0, 2) + value.substr(3, 2);\n } else if (value.length == 6) {\n value = value.substr(0, 3) + value.substr(4, 2);\n }\n\n if (zone.length == 6 && (zone[0] == '-' || zone[0] == '+')) {\n zone = zone.substr(0, 3) + zone.substr(4);\n }\n\n return value + zone;\n },\n\n _splitZone: function(aValue, isFromIcal) {\n var lastChar = aValue.length - 1;\n var signChar = aValue.length - (isFromIcal ? 5 : 6);\n var sign = aValue[signChar];\n var zone, value;\n\n if (aValue[lastChar] == 'Z') {\n zone = aValue[lastChar];\n value = aValue.substr(0, lastChar);\n } else if (aValue.length > 6 && (sign == '-' || sign == '+')) {\n zone = aValue.substr(signChar);\n value = aValue.substr(0, signChar);\n } else {\n zone = \"\";\n value = aValue;\n }\n\n return [zone, value];\n }\n },\n\n \"date-time\": {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(aValue, \"date-time\");\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n return vcardValues['date-and-or-time'].fromICAL(aValue);\n },\n\n toICAL: function(aValue) {\n return vcardValues['date-and-or-time'].toICAL(aValue);\n }\n },\n\n \"date-and-or-time\": {\n decorate: function(aValue) {\n return ICAL.VCardTime.fromDateAndOrTimeString(aValue, \"date-and-or-time\");\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n },\n\n fromICAL: function(aValue) {\n var parts = aValue.split('T');\n return (parts[0] ? vcardValues.date.fromICAL(parts[0]) : '') +\n (parts[1] ? 'T' + vcardValues.time.fromICAL(parts[1]) : '');\n },\n\n toICAL: function(aValue) {\n var parts = aValue.split('T');\n return vcardValues.date.toICAL(parts[0]) +\n (parts[1] ? 'T' + vcardValues.time.toICAL(parts[1]) : '');\n\n }\n },\n timestamp: icalValues['date-time'],\n \"language-tag\": {\n matches: /^[a-zA-Z0-9-]+$/ // Could go with a more strict regex here\n }\n });\n\n var vcardParams = {\n \"type\": {\n valueType: \"text\",\n multiValue: \",\"\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"text\", \"uri\", \"date\", \"time\", \"date-time\", \"date-and-or-time\",\n \"timestamp\", \"boolean\", \"integer\", \"float\", \"utc-offset\",\n \"language-tag\"],\n allowXName: true,\n allowIanaToken: true\n }\n };\n\n var vcardProperties = ICAL.helpers.extend(commonProperties, {\n \"adr\": { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n \"anniversary\": DEFAULT_TYPE_DATE_ANDOR_TIME,\n \"bday\": DEFAULT_TYPE_DATE_ANDOR_TIME,\n \"caladruri\": DEFAULT_TYPE_URI,\n \"caluri\": DEFAULT_TYPE_URI,\n \"clientpidmap\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"email\": DEFAULT_TYPE_TEXT,\n \"fburl\": DEFAULT_TYPE_URI,\n \"fn\": DEFAULT_TYPE_TEXT,\n \"gender\": DEFAULT_TYPE_TEXT_STRUCTURED,\n \"geo\": DEFAULT_TYPE_URI,\n \"impp\": DEFAULT_TYPE_URI,\n \"key\": DEFAULT_TYPE_URI,\n \"kind\": DEFAULT_TYPE_TEXT,\n \"lang\": { defaultType: \"language-tag\" },\n \"logo\": DEFAULT_TYPE_URI,\n \"member\": DEFAULT_TYPE_URI,\n \"n\": { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n \"nickname\": DEFAULT_TYPE_TEXT_MULTI,\n \"note\": DEFAULT_TYPE_TEXT,\n \"org\": { defaultType: \"text\", structuredValue: \";\" },\n \"photo\": DEFAULT_TYPE_URI,\n \"related\": DEFAULT_TYPE_URI,\n \"rev\": { defaultType: \"timestamp\" },\n \"role\": DEFAULT_TYPE_TEXT,\n \"sound\": DEFAULT_TYPE_URI,\n \"source\": DEFAULT_TYPE_URI,\n \"tel\": { defaultType: \"uri\", allowedTypes: [\"uri\", \"text\"] },\n \"title\": DEFAULT_TYPE_TEXT,\n \"tz\": { defaultType: \"text\", allowedTypes: [\"text\", \"utc-offset\", \"uri\"] },\n \"xml\": DEFAULT_TYPE_TEXT\n });\n\n var vcard3Values = ICAL.helpers.extend(commonValues, {\n binary: icalValues.binary,\n date: vcardValues.date,\n \"date-time\": vcardValues[\"date-time\"],\n \"phone-number\": {\n // TODO\n /* ... */\n },\n uri: icalValues.uri,\n text: icalValues.text,\n time: icalValues.time,\n vcard: icalValues.text,\n \"utc-offset\": {\n toICAL: function(aValue) {\n return aValue.substr(0, 7);\n },\n\n fromICAL: function(aValue) {\n return aValue.substr(0, 7);\n },\n\n decorate: function(aValue) {\n return ICAL.UtcOffset.fromString(aValue);\n },\n\n undecorate: function(aValue) {\n return aValue.toString();\n }\n }\n });\n\n var vcard3Params = {\n \"type\": {\n valueType: \"text\",\n multiValue: \",\"\n },\n \"value\": {\n // since the value here is a 'type' lowercase is used.\n values: [\"text\", \"uri\", \"date\", \"date-time\", \"phone-number\", \"time\",\n \"boolean\", \"integer\", \"float\", \"utc-offset\", \"vcard\", \"binary\"],\n allowXName: true,\n allowIanaToken: true\n }\n };\n\n var vcard3Properties = ICAL.helpers.extend(commonProperties, {\n fn: DEFAULT_TYPE_TEXT,\n n: { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n nickname: DEFAULT_TYPE_TEXT_MULTI,\n photo: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n bday: {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n detectType: function(string) {\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n\n adr: { defaultType: \"text\", structuredValue: \";\", multiValue: \",\" },\n label: DEFAULT_TYPE_TEXT,\n\n tel: { defaultType: \"phone-number\" },\n email: DEFAULT_TYPE_TEXT,\n mailer: DEFAULT_TYPE_TEXT,\n\n tz: { defaultType: \"utc-offset\", allowedTypes: [\"utc-offset\", \"text\"] },\n geo: { defaultType: \"float\", structuredValue: \";\" },\n\n title: DEFAULT_TYPE_TEXT,\n role: DEFAULT_TYPE_TEXT,\n logo: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n agent: { defaultType: \"vcard\", allowedTypes: [\"vcard\", \"text\", \"uri\"] },\n org: DEFAULT_TYPE_TEXT_STRUCTURED,\n\n note: DEFAULT_TYPE_TEXT_MULTI,\n prodid: DEFAULT_TYPE_TEXT,\n rev: {\n defaultType: \"date-time\",\n allowedTypes: [\"date-time\", \"date\"],\n detectType: function(string) {\n return (string.indexOf('T') === -1) ? 'date' : 'date-time';\n }\n },\n \"sort-string\": DEFAULT_TYPE_TEXT,\n sound: { defaultType: \"binary\", allowedTypes: [\"binary\", \"uri\"] },\n\n class: DEFAULT_TYPE_TEXT,\n key: { defaultType: \"binary\", allowedTypes: [\"binary\", \"text\"] }\n });\n\n /**\n * iCalendar design set\n * @type {ICAL.design.designSet}\n */\n var icalSet = {\n value: icalValues,\n param: icalParams,\n property: icalProperties\n };\n\n /**\n * vCard 4.0 design set\n * @type {ICAL.design.designSet}\n */\n var vcardSet = {\n value: vcardValues,\n param: vcardParams,\n property: vcardProperties\n };\n\n /**\n * vCard 3.0 design set\n * @type {ICAL.design.designSet}\n */\n var vcard3Set = {\n value: vcard3Values,\n param: vcard3Params,\n property: vcard3Properties\n };\n\n /**\n * The design data, used by the parser to determine types for properties and\n * other metadata needed to produce correct jCard/jCal data.\n *\n * @alias ICAL.design\n * @namespace\n */\n var design = {\n /**\n * A designSet describes value, parameter and property data. It is used by\n * ther parser and stringifier in components and properties to determine they\n * should be represented.\n *\n * @typedef {Object} designSet\n * @memberOf ICAL.design\n * @property {Object} value Definitions for value types, keys are type names\n * @property {Object} param Definitions for params, keys are param names\n * @property {Object} property Defintions for properties, keys are property names\n */\n\n /**\n * Can be set to false to make the parser more lenient.\n */\n strict: true,\n\n /**\n * The default set for new properties and components if none is specified.\n * @type {ICAL.design.designSet}\n */\n defaultSet: icalSet,\n\n /**\n * The default type for unknown properties\n * @type {String}\n */\n defaultType: 'unknown',\n\n /**\n * Holds the design set for known top-level components\n *\n * @type {Object}\n * @property {ICAL.design.designSet} vcard vCard VCARD\n * @property {ICAL.design.designSet} vevent iCalendar VEVENT\n * @property {ICAL.design.designSet} vtodo iCalendar VTODO\n * @property {ICAL.design.designSet} vjournal iCalendar VJOURNAL\n * @property {ICAL.design.designSet} valarm iCalendar VALARM\n * @property {ICAL.design.designSet} vtimezone iCalendar VTIMEZONE\n * @property {ICAL.design.designSet} daylight iCalendar DAYLIGHT\n * @property {ICAL.design.designSet} standard iCalendar STANDARD\n *\n * @example\n * var propertyName = 'fn';\n * var componentDesign = ICAL.design.components.vcard;\n * var propertyDetails = componentDesign.property[propertyName];\n * if (propertyDetails.defaultType == 'text') {\n * // Yep, sure is...\n * }\n */\n components: {\n vcard: vcardSet,\n vcard3: vcard3Set,\n vevent: icalSet,\n vtodo: icalSet,\n vjournal: icalSet,\n valarm: icalSet,\n vtimezone: icalSet,\n daylight: icalSet,\n standard: icalSet\n },\n\n\n /**\n * The design set for iCalendar (rfc5545/rfc7265) components.\n * @type {ICAL.design.designSet}\n */\n icalendar: icalSet,\n\n /**\n * The design set for vCard (rfc6350/rfc7095) components.\n * @type {ICAL.design.designSet}\n */\n vcard: vcardSet,\n\n /**\n * The design set for vCard (rfc2425/rfc2426/rfc7095) components.\n * @type {ICAL.design.designSet}\n */\n vcard3: vcard3Set,\n\n /**\n * Gets the design set for the given component name.\n *\n * @param {String} componentName The name of the component\n * @return {ICAL.design.designSet} The design set for the component\n */\n getDesignSet: function(componentName) {\n var isInDesign = componentName && componentName in design.components;\n return isInDesign ? design.components[componentName] : design.defaultSet;\n }\n };\n\n return design;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * Contains various functions to convert jCal and jCard data back into\n * iCalendar and vCard.\n * @namespace\n */\nICAL.stringify = (function() {\n 'use strict';\n\n var LINE_ENDING = '\\r\\n';\n var DEFAULT_VALUE_TYPE = 'unknown';\n\n var design = ICAL.design;\n var helpers = ICAL.helpers;\n\n /**\n * Convert a full jCal/jCard array into a iCalendar/vCard string.\n *\n * @function ICAL.stringify\n * @variation function\n * @param {Array} jCal The jCal/jCard document\n * @return {String} The stringified iCalendar/vCard document\n */\n function stringify(jCal) {\n if (typeof jCal[0] == \"string\") {\n // This is a single component\n jCal = [jCal];\n }\n\n var i = 0;\n var len = jCal.length;\n var result = '';\n\n for (; i < len; i++) {\n result += stringify.component(jCal[i]) + LINE_ENDING;\n }\n\n return result;\n }\n\n /**\n * Converts an jCal component array into a ICAL string.\n * Recursive will resolve sub-components.\n *\n * Exact component/property order is not saved all\n * properties will come before subcomponents.\n *\n * @function ICAL.stringify.component\n * @param {Array} component\n * jCal/jCard fragment of a component\n * @param {ICAL.design.designSet} designSet\n * The design data to use for this component\n * @return {String} The iCalendar/vCard string\n */\n stringify.component = function(component, designSet) {\n var name = component[0].toUpperCase();\n var result = 'BEGIN:' + name + LINE_ENDING;\n\n var props = component[1];\n var propIdx = 0;\n var propLen = props.length;\n\n var designSetName = component[0];\n // rfc6350 requires that in vCard 4.0 the first component is the VERSION\n // component with as value 4.0, note that 3.0 does not have this requirement.\n if (designSetName === 'vcard' && component[1].length > 0 &&\n !(component[1][0][0] === \"version\" && component[1][0][3] === \"4.0\")) {\n designSetName = \"vcard3\";\n }\n designSet = designSet || design.getDesignSet(designSetName);\n\n for (; propIdx < propLen; propIdx++) {\n result += stringify.property(props[propIdx], designSet) + LINE_ENDING;\n }\n\n // Ignore subcomponents if none exist, e.g. in vCard.\n var comps = component[2] || [];\n var compIdx = 0;\n var compLen = comps.length;\n\n for (; compIdx < compLen; compIdx++) {\n result += stringify.component(comps[compIdx], designSet) + LINE_ENDING;\n }\n\n result += 'END:' + name;\n return result;\n };\n\n /**\n * Converts a single jCal/jCard property to a iCalendar/vCard string.\n *\n * @function ICAL.stringify.property\n * @param {Array} property\n * jCal/jCard property array\n * @param {ICAL.design.designSet} designSet\n * The design data to use for this property\n * @param {Boolean} noFold\n * If true, the line is not folded\n * @return {String} The iCalendar/vCard string\n */\n stringify.property = function(property, designSet, noFold) {\n var name = property[0].toUpperCase();\n var jsName = property[0];\n var params = property[1];\n\n var line = name;\n\n var paramName;\n for (paramName in params) {\n var value = params[paramName];\n\n /* istanbul ignore else */\n if (params.hasOwnProperty(paramName)) {\n var multiValue = (paramName in designSet.param) && designSet.param[paramName].multiValue;\n if (multiValue && Array.isArray(value)) {\n if (designSet.param[paramName].multiValueSeparateDQuote) {\n multiValue = '\"' + multiValue + '\"';\n }\n value = value.map(stringify._rfc6868Unescape);\n value = stringify.multiValue(value, multiValue, \"unknown\", null, designSet);\n } else {\n value = stringify._rfc6868Unescape(value);\n }\n\n\n line += ';' + paramName.toUpperCase();\n line += '=' + stringify.propertyValue(value);\n }\n }\n\n if (property.length === 3) {\n // If there are no values, we must assume a blank value\n return line + ':';\n }\n\n var valueType = property[2];\n\n if (!designSet) {\n designSet = design.defaultSet;\n }\n\n var propDetails;\n var multiValue = false;\n var structuredValue = false;\n var isDefault = false;\n\n if (jsName in designSet.property) {\n propDetails = designSet.property[jsName];\n\n if ('multiValue' in propDetails) {\n multiValue = propDetails.multiValue;\n }\n\n if (('structuredValue' in propDetails) && Array.isArray(property[3])) {\n structuredValue = propDetails.structuredValue;\n }\n\n if ('defaultType' in propDetails) {\n if (valueType === propDetails.defaultType) {\n isDefault = true;\n }\n } else {\n if (valueType === DEFAULT_VALUE_TYPE) {\n isDefault = true;\n }\n }\n } else {\n if (valueType === DEFAULT_VALUE_TYPE) {\n isDefault = true;\n }\n }\n\n // push the VALUE property if type is not the default\n // for the current property.\n if (!isDefault) {\n // value will never contain ;/:/, so we don't escape it here.\n line += ';VALUE=' + valueType.toUpperCase();\n }\n\n line += ':';\n\n if (multiValue && structuredValue) {\n line += stringify.multiValue(\n property[3], structuredValue, valueType, multiValue, designSet, structuredValue\n );\n } else if (multiValue) {\n line += stringify.multiValue(\n property.slice(3), multiValue, valueType, null, designSet, false\n );\n } else if (structuredValue) {\n line += stringify.multiValue(\n property[3], structuredValue, valueType, null, designSet, structuredValue\n );\n } else {\n line += stringify.value(property[3], valueType, designSet, false);\n }\n\n return noFold ? line : ICAL.helpers.foldline(line);\n };\n\n /**\n * Handles escaping of property values that may contain:\n *\n * COLON (:), SEMICOLON (;), or COMMA (,)\n *\n * If any of the above are present the result is wrapped\n * in double quotes.\n *\n * @function ICAL.stringify.propertyValue\n * @param {String} value Raw property value\n * @return {String} Given or escaped value when needed\n */\n stringify.propertyValue = function(value) {\n\n if ((helpers.unescapedIndexOf(value, ',') === -1) &&\n (helpers.unescapedIndexOf(value, ':') === -1) &&\n (helpers.unescapedIndexOf(value, ';') === -1)) {\n\n return value;\n }\n\n return '\"' + value + '\"';\n };\n\n /**\n * Converts an array of ical values into a single\n * string based on a type and a delimiter value (like \",\").\n *\n * @function ICAL.stringify.multiValue\n * @param {Array} values List of values to convert\n * @param {String} delim Used to join the values (\",\", \";\", \":\")\n * @param {String} type Lowecase ical value type\n * (like boolean, date-time, etc..)\n * @param {?String} innerMulti If set, each value will again be processed\n * Used for structured values\n * @param {ICAL.design.designSet} designSet\n * The design data to use for this property\n *\n * @return {String} iCalendar/vCard string for value\n */\n stringify.multiValue = function(values, delim, type, innerMulti, designSet, structuredValue) {\n var result = '';\n var len = values.length;\n var i = 0;\n\n for (; i < len; i++) {\n if (innerMulti && Array.isArray(values[i])) {\n result += stringify.multiValue(values[i], innerMulti, type, null, designSet, structuredValue);\n } else {\n result += stringify.value(values[i], type, designSet, structuredValue);\n }\n\n if (i !== (len - 1)) {\n result += delim;\n }\n }\n\n return result;\n };\n\n /**\n * Processes a single ical value runs the associated \"toICAL\" method from the\n * design value type if available to convert the value.\n *\n * @function ICAL.stringify.value\n * @param {String|Number} value A formatted value\n * @param {String} type Lowercase iCalendar/vCard value type\n * (like boolean, date-time, etc..)\n * @return {String} iCalendar/vCard value for single value\n */\n stringify.value = function(value, type, designSet, structuredValue) {\n if (type in designSet.value && 'toICAL' in designSet.value[type]) {\n return designSet.value[type].toICAL(value, structuredValue);\n }\n return value;\n };\n\n /**\n * Internal helper for rfc6868. Exposing this on ICAL.stringify so that\n * hackers can disable the rfc6868 parsing if the really need to.\n *\n * @param {String} val The value to unescape\n * @return {String} The escaped value\n */\n stringify._rfc6868Unescape = function(val) {\n return val.replace(/[\\n^\"]/g, function(x) {\n return RFC6868_REPLACE_MAP[x];\n });\n };\n var RFC6868_REPLACE_MAP = { '\"': \"^'\", \"\\n\": \"^n\", \"^\": \"^^\" };\n\n return stringify;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * Contains various functions to parse iCalendar and vCard data.\n * @namespace\n */\nICAL.parse = (function() {\n 'use strict';\n\n var CHAR = /[^ \\t]/;\n var MULTIVALUE_DELIMITER = ',';\n var VALUE_DELIMITER = ':';\n var PARAM_DELIMITER = ';';\n var PARAM_NAME_DELIMITER = '=';\n var DEFAULT_VALUE_TYPE = 'unknown';\n var DEFAULT_PARAM_TYPE = 'text';\n\n var design = ICAL.design;\n var helpers = ICAL.helpers;\n\n /**\n * An error that occurred during parsing.\n *\n * @param {String} message The error message\n * @memberof ICAL.parse\n * @extends {Error}\n * @class\n */\n function ParserError(message) {\n this.message = message;\n this.name = 'ParserError';\n\n try {\n throw new Error();\n } catch (e) {\n if (e.stack) {\n var split = e.stack.split('\\n');\n split.shift();\n this.stack = split.join('\\n');\n }\n }\n }\n\n ParserError.prototype = Error.prototype;\n\n /**\n * Parses iCalendar or vCard data into a raw jCal object. Consult\n * documentation on the {@tutorial layers|layers of parsing} for more\n * details.\n *\n * @function ICAL.parse\n * @variation function\n * @todo Fix the API to be more clear on the return type\n * @param {String} input The string data to parse\n * @return {Object|Object[]} A single jCal object, or an array thereof\n */\n function parser(input) {\n var state = {};\n var root = state.component = [];\n\n state.stack = [root];\n\n parser._eachLine(input, function(err, line) {\n parser._handleContentLine(line, state);\n });\n\n\n // when there are still items on the stack\n // throw a fatal error, a component was not closed\n // correctly in that case.\n if (state.stack.length > 1) {\n throw new ParserError(\n 'invalid ical body. component began but did not end'\n );\n }\n\n state = null;\n\n return (root.length == 1 ? root[0] : root);\n }\n\n /**\n * Parse an iCalendar property value into the jCal for a single property\n *\n * @function ICAL.parse.property\n * @param {String} str\n * The iCalendar property string to parse\n * @param {ICAL.design.designSet=} designSet\n * The design data to use for this property\n * @return {Object}\n * The jCal Object containing the property\n */\n parser.property = function(str, designSet) {\n var state = {\n component: [[], []],\n designSet: designSet || design.defaultSet\n };\n parser._handleContentLine(str, state);\n return state.component[1][0];\n };\n\n /**\n * Convenience method to parse a component. You can use ICAL.parse() directly\n * instead.\n *\n * @function ICAL.parse.component\n * @see ICAL.parse(function)\n * @param {String} str The iCalendar component string to parse\n * @return {Object} The jCal Object containing the component\n */\n parser.component = function(str) {\n return parser(str);\n };\n\n // classes & constants\n parser.ParserError = ParserError;\n\n /**\n * The state for parsing content lines from an iCalendar/vCard string.\n *\n * @private\n * @memberof ICAL.parse\n * @typedef {Object} parserState\n * @property {ICAL.design.designSet} designSet The design set to use for parsing\n * @property {ICAL.Component[]} stack The stack of components being processed\n * @property {ICAL.Component} component The currently active component\n */\n\n\n /**\n * Handles a single line of iCalendar/vCard, updating the state.\n *\n * @private\n * @function ICAL.parse._handleContentLine\n * @param {String} line The content line to process\n * @param {ICAL.parse.parserState} The current state of the line parsing\n */\n parser._handleContentLine = function(line, state) {\n // break up the parts of the line\n var valuePos = line.indexOf(VALUE_DELIMITER);\n var paramPos = line.indexOf(PARAM_DELIMITER);\n\n var lastParamIndex;\n var lastValuePos;\n\n // name of property or begin/end\n var name;\n var value;\n // params is only overridden if paramPos !== -1.\n // we can't do params = params || {} later on\n // because it sacrifices ops.\n var params = {};\n\n /**\n * Different property cases\n *\n *\n * 1. RRULE:FREQ=foo\n * // FREQ= is not a param but the value\n *\n * 2. ATTENDEE;ROLE=REQ-PARTICIPANT;\n * // ROLE= is a param because : has not happened yet\n */\n // when the parameter delimiter is after the\n // value delimiter then its not a parameter.\n\n if ((paramPos !== -1 && valuePos !== -1)) {\n // when the parameter delimiter is after the\n // value delimiter then its not a parameter.\n if (paramPos > valuePos) {\n paramPos = -1;\n }\n }\n\n var parsedParams;\n if (paramPos !== -1) {\n name = line.substring(0, paramPos).toLowerCase();\n parsedParams = parser._parseParameters(line.substring(paramPos), 0, state.designSet);\n if (parsedParams[2] == -1) {\n throw new ParserError(\"Invalid parameters in '\" + line + \"'\");\n }\n params = parsedParams[0];\n lastParamIndex = parsedParams[1].length + parsedParams[2] + paramPos;\n if ((lastValuePos =\n line.substring(lastParamIndex).indexOf(VALUE_DELIMITER)) !== -1) {\n value = line.substring(lastParamIndex + lastValuePos + 1);\n } else {\n throw new ParserError(\"Missing parameter value in '\" + line + \"'\");\n }\n } else if (valuePos !== -1) {\n // without parmeters (BEGIN:VCAENDAR, CLASS:PUBLIC)\n name = line.substring(0, valuePos).toLowerCase();\n value = line.substring(valuePos + 1);\n\n if (name === 'begin') {\n var newComponent = [value.toLowerCase(), [], []];\n if (state.stack.length === 1) {\n state.component.push(newComponent);\n } else {\n state.component[2].push(newComponent);\n }\n state.stack.push(state.component);\n state.component = newComponent;\n if (!state.designSet) {\n state.designSet = design.getDesignSet(state.component[0]);\n }\n return;\n } else if (name === 'end') {\n state.component = state.stack.pop();\n return;\n }\n // If its not begin/end, then this is a property with an empty value,\n // which should be considered valid.\n } else {\n /**\n * Invalid line.\n * The rational to throw an error is we will\n * never be certain that the rest of the file\n * is sane and its unlikely that we can serialize\n * the result correctly either.\n */\n throw new ParserError(\n 'invalid line (no token \";\" or \":\") \"' + line + '\"'\n );\n }\n\n var valueType;\n var multiValue = false;\n var structuredValue = false;\n var propertyDetails;\n\n if (name in state.designSet.property) {\n propertyDetails = state.designSet.property[name];\n\n if ('multiValue' in propertyDetails) {\n multiValue = propertyDetails.multiValue;\n }\n\n if ('structuredValue' in propertyDetails) {\n structuredValue = propertyDetails.structuredValue;\n }\n\n if (value && 'detectType' in propertyDetails) {\n valueType = propertyDetails.detectType(value);\n }\n }\n\n // attempt to determine value\n if (!valueType) {\n if (!('value' in params)) {\n if (propertyDetails) {\n valueType = propertyDetails.defaultType;\n } else {\n valueType = DEFAULT_VALUE_TYPE;\n }\n } else {\n // possible to avoid this?\n valueType = params.value.toLowerCase();\n }\n }\n\n delete params.value;\n\n /**\n * Note on `var result` juggling:\n *\n * I observed that building the array in pieces has adverse\n * effects on performance, so where possible we inline the creation.\n * Its a little ugly but resulted in ~2000 additional ops/sec.\n */\n\n var result;\n if (multiValue && structuredValue) {\n value = parser._parseMultiValue(value, structuredValue, valueType, [], multiValue, state.designSet, structuredValue);\n result = [name, params, valueType, value];\n } else if (multiValue) {\n result = [name, params, valueType];\n parser._parseMultiValue(value, multiValue, valueType, result, null, state.designSet, false);\n } else if (structuredValue) {\n value = parser._parseMultiValue(value, structuredValue, valueType, [], null, state.designSet, structuredValue);\n result = [name, params, valueType, value];\n } else {\n value = parser._parseValue(value, valueType, state.designSet, false);\n result = [name, params, valueType, value];\n }\n // rfc6350 requires that in vCard 4.0 the first component is the VERSION\n // component with as value 4.0, note that 3.0 does not have this requirement.\n if (state.component[0] === 'vcard' && state.component[1].length === 0 &&\n !(name === 'version' && value === '4.0')) {\n state.designSet = design.getDesignSet(\"vcard3\");\n }\n state.component[1].push(result);\n };\n\n /**\n * Parse a value from the raw value into the jCard/jCal value.\n *\n * @private\n * @function ICAL.parse._parseValue\n * @param {String} value Original value\n * @param {String} type Type of value\n * @param {Object} designSet The design data to use for this value\n * @return {Object} varies on type\n */\n parser._parseValue = function(value, type, designSet, structuredValue) {\n if (type in designSet.value && 'fromICAL' in designSet.value[type]) {\n return designSet.value[type].fromICAL(value, structuredValue);\n }\n return value;\n };\n\n /**\n * Parse parameters from a string to object.\n *\n * @function ICAL.parse._parseParameters\n * @private\n * @param {String} line A single unfolded line\n * @param {Numeric} start Position to start looking for properties\n * @param {Object} designSet The design data to use for this property\n * @return {Object} key/value pairs\n */\n parser._parseParameters = function(line, start, designSet) {\n var lastParam = start;\n var pos = 0;\n var delim = PARAM_NAME_DELIMITER;\n var result = {};\n var name, lcname;\n var value, valuePos = -1;\n var type, multiValue, mvdelim;\n\n // find the next '=' sign\n // use lastParam and pos to find name\n // check if \" is used if so get value from \"->\"\n // then increment pos to find next ;\n\n while ((pos !== false) &&\n (pos = helpers.unescapedIndexOf(line, delim, pos + 1)) !== -1) {\n\n name = line.substr(lastParam + 1, pos - lastParam - 1);\n if (name.length == 0) {\n throw new ParserError(\"Empty parameter name in '\" + line + \"'\");\n }\n lcname = name.toLowerCase();\n mvdelim = false;\n multiValue = false;\n\n if (lcname in designSet.param && designSet.param[lcname].valueType) {\n type = designSet.param[lcname].valueType;\n } else {\n type = DEFAULT_PARAM_TYPE;\n }\n\n if (lcname in designSet.param) {\n multiValue = designSet.param[lcname].multiValue;\n if (designSet.param[lcname].multiValueSeparateDQuote) {\n mvdelim = parser._rfc6868Escape('\"' + multiValue + '\"');\n }\n }\n\n var nextChar = line[pos + 1];\n if (nextChar === '\"') {\n valuePos = pos + 2;\n pos = helpers.unescapedIndexOf(line, '\"', valuePos);\n if (multiValue && pos != -1) {\n var extendedValue = true;\n while (extendedValue) {\n if (line[pos + 1] == multiValue && line[pos + 2] == '\"') {\n pos = helpers.unescapedIndexOf(line, '\"', pos + 3);\n } else {\n extendedValue = false;\n }\n }\n }\n if (pos === -1) {\n throw new ParserError(\n 'invalid line (no matching double quote) \"' + line + '\"'\n );\n }\n value = line.substr(valuePos, pos - valuePos);\n lastParam = helpers.unescapedIndexOf(line, PARAM_DELIMITER, pos);\n if (lastParam === -1) {\n pos = false;\n }\n } else {\n valuePos = pos + 1;\n\n // move to next \";\"\n var nextPos = helpers.unescapedIndexOf(line, PARAM_DELIMITER, valuePos);\n var propValuePos = helpers.unescapedIndexOf(line, VALUE_DELIMITER, valuePos);\n if (propValuePos !== -1 && nextPos > propValuePos) {\n // this is a delimiter in the property value, let's stop here\n nextPos = propValuePos;\n pos = false;\n } else if (nextPos === -1) {\n // no \";\"\n if (propValuePos === -1) {\n nextPos = line.length;\n } else {\n nextPos = propValuePos;\n }\n pos = false;\n } else {\n lastParam = nextPos;\n pos = nextPos;\n }\n\n value = line.substr(valuePos, nextPos - valuePos);\n }\n\n value = parser._rfc6868Escape(value);\n if (multiValue) {\n var delimiter = mvdelim || multiValue;\n value = parser._parseMultiValue(value, delimiter, type, [], null, designSet);\n } else {\n value = parser._parseValue(value, type, designSet);\n }\n\n if (multiValue && (lcname in result)) {\n if (Array.isArray(result[lcname])) {\n result[lcname].push(value);\n } else {\n result[lcname] = [\n result[lcname],\n value\n ];\n }\n } else {\n result[lcname] = value;\n }\n }\n return [result, value, valuePos];\n };\n\n /**\n * Internal helper for rfc6868. Exposing this on ICAL.parse so that\n * hackers can disable the rfc6868 parsing if the really need to.\n *\n * @function ICAL.parse._rfc6868Escape\n * @param {String} val The value to escape\n * @return {String} The escaped value\n */\n parser._rfc6868Escape = function(val) {\n return val.replace(/\\^['n^]/g, function(x) {\n return RFC6868_REPLACE_MAP[x];\n });\n };\n var RFC6868_REPLACE_MAP = { \"^'\": '\"', \"^n\": \"\\n\", \"^^\": \"^\" };\n\n /**\n * Parse a multi value string. This function is used either for parsing\n * actual multi-value property's values, or for handling parameter values. It\n * can be used for both multi-value properties and structured value properties.\n *\n * @private\n * @function ICAL.parse._parseMultiValue\n * @param {String} buffer The buffer containing the full value\n * @param {String} delim The multi-value delimiter\n * @param {String} type The value type to be parsed\n * @param {Array.<?>} result The array to append results to, varies on value type\n * @param {String} innerMulti The inner delimiter to split each value with\n * @param {ICAL.design.designSet} designSet The design data for this value\n * @return {?|Array.<?>} Either an array of results, or the first result\n */\n parser._parseMultiValue = function(buffer, delim, type, result, innerMulti, designSet, structuredValue) {\n var pos = 0;\n var lastPos = 0;\n var value;\n if (delim.length === 0) {\n return buffer;\n }\n\n // split each piece\n while ((pos = helpers.unescapedIndexOf(buffer, delim, lastPos)) !== -1) {\n value = buffer.substr(lastPos, pos - lastPos);\n if (innerMulti) {\n value = parser._parseMultiValue(value, innerMulti, type, [], null, designSet, structuredValue);\n } else {\n value = parser._parseValue(value, type, designSet, structuredValue);\n }\n result.push(value);\n lastPos = pos + delim.length;\n }\n\n // on the last piece take the rest of string\n value = buffer.substr(lastPos);\n if (innerMulti) {\n value = parser._parseMultiValue(value, innerMulti, type, [], null, designSet, structuredValue);\n } else {\n value = parser._parseValue(value, type, designSet, structuredValue);\n }\n result.push(value);\n\n return result.length == 1 ? result[0] : result;\n };\n\n /**\n * Process a complete buffer of iCalendar/vCard data line by line, correctly\n * unfolding content. Each line will be processed with the given callback\n *\n * @private\n * @function ICAL.parse._eachLine\n * @param {String} buffer The buffer to process\n * @param {function(?String, String)} callback The callback for each line\n */\n parser._eachLine = function(buffer, callback) {\n var len = buffer.length;\n var lastPos = buffer.search(CHAR);\n var pos = lastPos;\n var line;\n var firstChar;\n\n var newlineOffset;\n\n do {\n pos = buffer.indexOf('\\n', lastPos) + 1;\n\n if (pos > 1 && buffer[pos - 2] === '\\r') {\n newlineOffset = 2;\n } else {\n newlineOffset = 1;\n }\n\n if (pos === 0) {\n pos = len;\n newlineOffset = 0;\n }\n\n firstChar = buffer[lastPos];\n\n if (firstChar === ' ' || firstChar === '\\t') {\n // add to line\n line += buffer.substr(\n lastPos + 1,\n pos - lastPos - (newlineOffset + 1)\n );\n } else {\n if (line)\n callback(null, line);\n // push line\n line = buffer.substr(\n lastPos,\n pos - lastPos - newlineOffset\n );\n }\n\n lastPos = pos;\n } while (pos !== len);\n\n // extra ending line\n line = line.trim();\n\n if (line.length)\n callback(null, line);\n };\n\n return parser;\n\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Component = (function() {\n 'use strict';\n\n var PROPERTY_INDEX = 1;\n var COMPONENT_INDEX = 2;\n var NAME_INDEX = 0;\n\n /**\n * @classdesc\n * Wraps a jCal component, adding convenience methods to add, remove and\n * update subcomponents and properties.\n *\n * @class\n * @alias ICAL.Component\n * @param {Array|String} jCal Raw jCal component data OR name of new\n * component\n * @param {ICAL.Component} parent Parent component to associate\n */\n function Component(jCal, parent) {\n if (typeof(jCal) === 'string') {\n // jCal spec (name, properties, components)\n jCal = [jCal, [], []];\n }\n\n // mostly for legacy reasons.\n this.jCal = jCal;\n\n this.parent = parent || null;\n }\n\n Component.prototype = {\n /**\n * Hydrated properties are inserted into the _properties array at the same\n * position as in the jCal array, so its possible the array contains\n * undefined values for unhydrdated properties. To avoid iterating the\n * array when checking if all properties have been hydrated, we save the\n * count here.\n *\n * @type {Number}\n * @private\n */\n _hydratedPropertyCount: 0,\n\n /**\n * The same count as for _hydratedPropertyCount, but for subcomponents\n *\n * @type {Number}\n * @private\n */\n _hydratedComponentCount: 0,\n\n /**\n * The name of this component\n * @readonly\n */\n get name() {\n return this.jCal[NAME_INDEX];\n },\n\n /**\n * The design set for this component, e.g. icalendar vs vcard\n *\n * @type {ICAL.design.designSet}\n * @private\n */\n get _designSet() {\n var parentDesign = this.parent && this.parent._designSet;\n return parentDesign || ICAL.design.getDesignSet(this.name);\n },\n\n _hydrateComponent: function(index) {\n if (!this._components) {\n this._components = [];\n this._hydratedComponentCount = 0;\n }\n\n if (this._components[index]) {\n return this._components[index];\n }\n\n var comp = new Component(\n this.jCal[COMPONENT_INDEX][index],\n this\n );\n\n this._hydratedComponentCount++;\n return (this._components[index] = comp);\n },\n\n _hydrateProperty: function(index) {\n if (!this._properties) {\n this._properties = [];\n this._hydratedPropertyCount = 0;\n }\n\n if (this._properties[index]) {\n return this._properties[index];\n }\n\n var prop = new ICAL.Property(\n this.jCal[PROPERTY_INDEX][index],\n this\n );\n\n this._hydratedPropertyCount++;\n return (this._properties[index] = prop);\n },\n\n /**\n * Finds first sub component, optionally filtered by name.\n *\n * @param {String=} name Optional name to filter by\n * @return {?ICAL.Component} The found subcomponent\n */\n getFirstSubcomponent: function(name) {\n if (name) {\n var i = 0;\n var comps = this.jCal[COMPONENT_INDEX];\n var len = comps.length;\n\n for (; i < len; i++) {\n if (comps[i][NAME_INDEX] === name) {\n var result = this._hydrateComponent(i);\n return result;\n }\n }\n } else {\n if (this.jCal[COMPONENT_INDEX].length) {\n return this._hydrateComponent(0);\n }\n }\n\n // ensure we return a value (strict mode)\n return null;\n },\n\n /**\n * Finds all sub components, optionally filtering by name.\n *\n * @param {String=} name Optional name to filter by\n * @return {ICAL.Component[]} The found sub components\n */\n getAllSubcomponents: function(name) {\n var jCalLen = this.jCal[COMPONENT_INDEX].length;\n var i = 0;\n\n if (name) {\n var comps = this.jCal[COMPONENT_INDEX];\n var result = [];\n\n for (; i < jCalLen; i++) {\n if (name === comps[i][NAME_INDEX]) {\n result.push(\n this._hydrateComponent(i)\n );\n }\n }\n return result;\n } else {\n if (!this._components ||\n (this._hydratedComponentCount !== jCalLen)) {\n for (; i < jCalLen; i++) {\n this._hydrateComponent(i);\n }\n }\n\n return this._components || [];\n }\n },\n\n /**\n * Returns true when a named property exists.\n *\n * @param {String} name The property name\n * @return {Boolean} True, when property is found\n */\n hasProperty: function(name) {\n var props = this.jCal[PROPERTY_INDEX];\n var len = props.length;\n\n var i = 0;\n for (; i < len; i++) {\n // 0 is property name\n if (props[i][NAME_INDEX] === name) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * Finds the first property, optionally with the given name.\n *\n * @param {String=} name Lowercase property name\n * @return {?ICAL.Property} The found property\n */\n getFirstProperty: function(name) {\n if (name) {\n var i = 0;\n var props = this.jCal[PROPERTY_INDEX];\n var len = props.length;\n\n for (; i < len; i++) {\n if (props[i][NAME_INDEX] === name) {\n var result = this._hydrateProperty(i);\n return result;\n }\n }\n } else {\n if (this.jCal[PROPERTY_INDEX].length) {\n return this._hydrateProperty(0);\n }\n }\n\n return null;\n },\n\n /**\n * Returns first property's value, if available.\n *\n * @param {String=} name Lowercase property name\n * @return {?String} The found property value.\n */\n getFirstPropertyValue: function(name) {\n var prop = this.getFirstProperty(name);\n if (prop) {\n return prop.getFirstValue();\n }\n\n return null;\n },\n\n /**\n * Get all properties in the component, optionally filtered by name.\n *\n * @param {String=} name Lowercase property name\n * @return {ICAL.Property[]} List of properties\n */\n getAllProperties: function(name) {\n var jCalLen = this.jCal[PROPERTY_INDEX].length;\n var i = 0;\n\n if (name) {\n var props = this.jCal[PROPERTY_INDEX];\n var result = [];\n\n for (; i < jCalLen; i++) {\n if (name === props[i][NAME_INDEX]) {\n result.push(\n this._hydrateProperty(i)\n );\n }\n }\n return result;\n } else {\n if (!this._properties ||\n (this._hydratedPropertyCount !== jCalLen)) {\n for (; i < jCalLen; i++) {\n this._hydrateProperty(i);\n }\n }\n\n return this._properties || [];\n }\n },\n\n _removeObjectByIndex: function(jCalIndex, cache, index) {\n cache = cache || [];\n // remove cached version\n if (cache[index]) {\n var obj = cache[index];\n if (\"parent\" in obj) {\n obj.parent = null;\n }\n }\n\n cache.splice(index, 1);\n\n // remove it from the jCal\n this.jCal[jCalIndex].splice(index, 1);\n },\n\n _removeObject: function(jCalIndex, cache, nameOrObject) {\n var i = 0;\n var objects = this.jCal[jCalIndex];\n var len = objects.length;\n var cached = this[cache];\n\n if (typeof(nameOrObject) === 'string') {\n for (; i < len; i++) {\n if (objects[i][NAME_INDEX] === nameOrObject) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n return true;\n }\n }\n } else if (cached) {\n for (; i < len; i++) {\n if (cached[i] && cached[i] === nameOrObject) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n return true;\n }\n }\n }\n\n return false;\n },\n\n _removeAllObjects: function(jCalIndex, cache, name) {\n var cached = this[cache];\n\n // Unfortunately we have to run through all children to reset their\n // parent property.\n var objects = this.jCal[jCalIndex];\n var i = objects.length - 1;\n\n // descending search required because splice\n // is used and will effect the indices.\n for (; i >= 0; i--) {\n if (!name || objects[i][NAME_INDEX] === name) {\n this._removeObjectByIndex(jCalIndex, cached, i);\n }\n }\n },\n\n /**\n * Adds a single sub component.\n *\n * @param {ICAL.Component} component The component to add\n * @return {ICAL.Component} The passed in component\n */\n addSubcomponent: function(component) {\n if (!this._components) {\n this._components = [];\n this._hydratedComponentCount = 0;\n }\n\n if (component.parent) {\n component.parent.removeSubcomponent(component);\n }\n\n var idx = this.jCal[COMPONENT_INDEX].push(component.jCal);\n this._components[idx - 1] = component;\n this._hydratedComponentCount++;\n component.parent = this;\n return component;\n },\n\n /**\n * Removes a single component by name or the instance of a specific\n * component.\n *\n * @param {ICAL.Component|String} nameOrComp Name of component, or component\n * @return {Boolean} True when comp is removed\n */\n removeSubcomponent: function(nameOrComp) {\n var removed = this._removeObject(COMPONENT_INDEX, '_components', nameOrComp);\n if (removed) {\n this._hydratedComponentCount--;\n }\n return removed;\n },\n\n /**\n * Removes all components or (if given) all components by a particular\n * name.\n *\n * @param {String=} name Lowercase component name\n */\n removeAllSubcomponents: function(name) {\n var removed = this._removeAllObjects(COMPONENT_INDEX, '_components', name);\n this._hydratedComponentCount = 0;\n return removed;\n },\n\n /**\n * Adds an {@link ICAL.Property} to the component.\n *\n * @param {ICAL.Property} property The property to add\n * @return {ICAL.Property} The passed in property\n */\n addProperty: function(property) {\n if (!(property instanceof ICAL.Property)) {\n throw new TypeError('must instance of ICAL.Property');\n }\n\n if (!this._properties) {\n this._properties = [];\n this._hydratedPropertyCount = 0;\n }\n\n if (property.parent) {\n property.parent.removeProperty(property);\n }\n\n var idx = this.jCal[PROPERTY_INDEX].push(property.jCal);\n this._properties[idx - 1] = property;\n this._hydratedPropertyCount++;\n property.parent = this;\n return property;\n },\n\n /**\n * Helper method to add a property with a value to the component.\n *\n * @param {String} name Property name to add\n * @param {String|Number|Object} value Property value\n * @return {ICAL.Property} The created property\n */\n addPropertyWithValue: function(name, value) {\n var prop = new ICAL.Property(name);\n prop.setValue(value);\n\n this.addProperty(prop);\n\n return prop;\n },\n\n /**\n * Helper method that will update or create a property of the given name\n * and sets its value. If multiple properties with the given name exist,\n * only the first is updated.\n *\n * @param {String} name Property name to update\n * @param {String|Number|Object} value Property value\n * @return {ICAL.Property} The created property\n */\n updatePropertyWithValue: function(name, value) {\n var prop = this.getFirstProperty(name);\n\n if (prop) {\n prop.setValue(value);\n } else {\n prop = this.addPropertyWithValue(name, value);\n }\n\n return prop;\n },\n\n /**\n * Removes a single property by name or the instance of the specific\n * property.\n *\n * @param {String|ICAL.Property} nameOrProp Property name or instance to remove\n * @return {Boolean} True, when deleted\n */\n removeProperty: function(nameOrProp) {\n var removed = this._removeObject(PROPERTY_INDEX, '_properties', nameOrProp);\n if (removed) {\n this._hydratedPropertyCount--;\n }\n return removed;\n },\n\n /**\n * Removes all properties associated with this component, optionally\n * filtered by name.\n *\n * @param {String=} name Lowercase property name\n * @return {Boolean} True, when deleted\n */\n removeAllProperties: function(name) {\n var removed = this._removeAllObjects(PROPERTY_INDEX, '_properties', name);\n this._hydratedPropertyCount = 0;\n return removed;\n },\n\n /**\n * Returns the Object representation of this component. The returned object\n * is a live jCal object and should be cloned if modified.\n * @return {Object}\n */\n toJSON: function() {\n return this.jCal;\n },\n\n /**\n * The string representation of this component.\n * @return {String}\n */\n toString: function() {\n return ICAL.stringify.component(\n this.jCal, this._designSet\n );\n }\n };\n\n /**\n * Create an {@link ICAL.Component} by parsing the passed iCalendar string.\n *\n * @param {String} str The iCalendar string to parse\n */\n Component.fromString = function(str) {\n return new Component(ICAL.parse.component(str));\n };\n\n return Component;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Property = (function() {\n 'use strict';\n\n var NAME_INDEX = 0;\n var PROP_INDEX = 1;\n var TYPE_INDEX = 2;\n var VALUE_INDEX = 3;\n\n var design = ICAL.design;\n\n /**\n * @classdesc\n * Provides a layer on top of the raw jCal object for manipulating a single\n * property, with its parameters and value.\n *\n * @description\n * Its important to note that mutations done in the wrapper\n * directly mutate the jCal object used to initialize.\n *\n * Can also be used to create new properties by passing\n * the name of the property (as a String).\n *\n * @class\n * @alias ICAL.Property\n * @param {Array|String} jCal Raw jCal representation OR\n * the new name of the property\n *\n * @param {ICAL.Component=} parent Parent component\n */\n function Property(jCal, parent) {\n this._parent = parent || null;\n\n if (typeof(jCal) === 'string') {\n // We are creating the property by name and need to detect the type\n this.jCal = [jCal, {}, design.defaultType];\n this.jCal[TYPE_INDEX] = this.getDefaultType();\n } else {\n this.jCal = jCal;\n }\n this._updateType();\n }\n\n Property.prototype = {\n\n /**\n * The value type for this property\n * @readonly\n * @type {String}\n */\n get type() {\n return this.jCal[TYPE_INDEX];\n },\n\n /**\n * The name of this property, in lowercase.\n * @readonly\n * @type {String}\n */\n get name() {\n return this.jCal[NAME_INDEX];\n },\n\n /**\n * The parent component for this property.\n * @type {ICAL.Component}\n */\n get parent() {\n return this._parent;\n },\n\n set parent(p) {\n // Before setting the parent, check if the design set has changed. If it\n // has, we later need to update the type if it was unknown before.\n var designSetChanged = !this._parent || (p && p._designSet != this._parent._designSet);\n\n this._parent = p;\n\n if (this.type == design.defaultType && designSetChanged) {\n this.jCal[TYPE_INDEX] = this.getDefaultType();\n this._updateType();\n }\n\n return p;\n },\n\n /**\n * The design set for this property, e.g. icalendar vs vcard\n *\n * @type {ICAL.design.designSet}\n * @private\n */\n get _designSet() {\n return this.parent ? this.parent._designSet : design.defaultSet;\n },\n\n /**\n * Updates the type metadata from the current jCal type and design set.\n *\n * @private\n */\n _updateType: function() {\n var designSet = this._designSet;\n\n if (this.type in designSet.value) {\n var designType = designSet.value[this.type];\n\n if ('decorate' in designSet.value[this.type]) {\n this.isDecorated = true;\n } else {\n this.isDecorated = false;\n }\n\n if (this.name in designSet.property) {\n this.isMultiValue = ('multiValue' in designSet.property[this.name]);\n this.isStructuredValue = ('structuredValue' in designSet.property[this.name]);\n }\n }\n },\n\n /**\n * Hydrate a single value. The act of hydrating means turning the raw jCal\n * value into a potentially wrapped object, for example {@link ICAL.Time}.\n *\n * @private\n * @param {Number} index The index of the value to hydrate\n * @return {Object} The decorated value.\n */\n _hydrateValue: function(index) {\n if (this._values && this._values[index]) {\n return this._values[index];\n }\n\n // for the case where there is no value.\n if (this.jCal.length <= (VALUE_INDEX + index)) {\n return null;\n }\n\n if (this.isDecorated) {\n if (!this._values) {\n this._values = [];\n }\n return (this._values[index] = this._decorate(\n this.jCal[VALUE_INDEX + index]\n ));\n } else {\n return this.jCal[VALUE_INDEX + index];\n }\n },\n\n /**\n * Decorate a single value, returning its wrapped object. This is used by\n * the hydrate function to actually wrap the value.\n *\n * @private\n * @param {?} value The value to decorate\n * @return {Object} The decorated value\n */\n _decorate: function(value) {\n return this._designSet.value[this.type].decorate(value, this);\n },\n\n /**\n * Undecorate a single value, returning its raw jCal data.\n *\n * @private\n * @param {Object} value The value to undecorate\n * @return {?} The undecorated value\n */\n _undecorate: function(value) {\n return this._designSet.value[this.type].undecorate(value, this);\n },\n\n /**\n * Sets the value at the given index while also hydrating it. The passed\n * value can either be a decorated or undecorated value.\n *\n * @private\n * @param {?} value The value to set\n * @param {Number} index The index to set it at\n */\n _setDecoratedValue: function(value, index) {\n if (!this._values) {\n this._values = [];\n }\n\n if (typeof(value) === 'object' && 'icaltype' in value) {\n // decorated value\n this.jCal[VALUE_INDEX + index] = this._undecorate(value);\n this._values[index] = value;\n } else {\n // undecorated value\n this.jCal[VALUE_INDEX + index] = value;\n this._values[index] = this._decorate(value);\n }\n },\n\n /**\n * Gets a parameter on the property.\n *\n * @param {String} name Property name (lowercase)\n * @return {Array|String} Property value\n */\n getParameter: function(name) {\n if (name in this.jCal[PROP_INDEX]) {\n return this.jCal[PROP_INDEX][name];\n } else {\n return undefined;\n }\n },\n\n /**\n * Gets first parameter on the property.\n *\n * @param {String} name Property name (lowercase)\n * @return {String} Property value\n */\n getFirstParameter: function(name) {\n var parameters = this.getParameter(name);\n\n if (Array.isArray(parameters)) {\n return parameters[0];\n }\n\n return parameters;\n },\n\n /**\n * Sets a parameter on the property.\n *\n * @param {String} name The parameter name\n * @param {Array|String} value The parameter value\n */\n setParameter: function(name, value) {\n var lcname = name.toLowerCase();\n if (typeof value === \"string\" &&\n lcname in this._designSet.param &&\n 'multiValue' in this._designSet.param[lcname]) {\n value = [value];\n }\n this.jCal[PROP_INDEX][name] = value;\n },\n\n /**\n * Removes a parameter\n *\n * @param {String} name The parameter name\n */\n removeParameter: function(name) {\n delete this.jCal[PROP_INDEX][name];\n },\n\n /**\n * Get the default type based on this property's name.\n *\n * @return {String} The default type for this property\n */\n getDefaultType: function() {\n var name = this.jCal[NAME_INDEX];\n var designSet = this._designSet;\n\n if (name in designSet.property) {\n var details = designSet.property[name];\n if ('defaultType' in details) {\n return details.defaultType;\n }\n }\n return design.defaultType;\n },\n\n /**\n * Sets type of property and clears out any existing values of the current\n * type.\n *\n * @param {String} type New iCAL type (see design.*.values)\n */\n resetType: function(type) {\n this.removeAllValues();\n this.jCal[TYPE_INDEX] = type;\n this._updateType();\n },\n\n /**\n * Finds the first property value.\n *\n * @return {String} First property value\n */\n getFirstValue: function() {\n return this._hydrateValue(0);\n },\n\n /**\n * Gets all values on the property.\n *\n * NOTE: this creates an array during each call.\n *\n * @return {Array} List of values\n */\n getValues: function() {\n var len = this.jCal.length - VALUE_INDEX;\n\n if (len < 1) {\n // its possible for a property to have no value.\n return [];\n }\n\n var i = 0;\n var result = [];\n\n for (; i < len; i++) {\n result[i] = this._hydrateValue(i);\n }\n\n return result;\n },\n\n /**\n * Removes all values from this property\n */\n removeAllValues: function() {\n if (this._values) {\n this._values.length = 0;\n }\n this.jCal.length = 3;\n },\n\n /**\n * Sets the values of the property. Will overwrite the existing values.\n * This can only be used for multi-value properties.\n *\n * @param {Array} values An array of values\n */\n setValues: function(values) {\n if (!this.isMultiValue) {\n throw new Error(\n this.name + ': does not not support mulitValue.\\n' +\n 'override isMultiValue'\n );\n }\n\n var len = values.length;\n var i = 0;\n this.removeAllValues();\n\n if (len > 0 &&\n typeof(values[0]) === 'object' &&\n 'icaltype' in values[0]) {\n this.resetType(values[0].icaltype);\n }\n\n if (this.isDecorated) {\n for (; i < len; i++) {\n this._setDecoratedValue(values[i], i);\n }\n } else {\n for (; i < len; i++) {\n this.jCal[VALUE_INDEX + i] = values[i];\n }\n }\n },\n\n /**\n * Sets the current value of the property. If this is a multi-value\n * property, all other values will be removed.\n *\n * @param {String|Object} value New property value.\n */\n setValue: function(value) {\n this.removeAllValues();\n if (typeof(value) === 'object' && 'icaltype' in value) {\n this.resetType(value.icaltype);\n }\n\n if (this.isDecorated) {\n this._setDecoratedValue(value, 0);\n } else {\n this.jCal[VALUE_INDEX] = value;\n }\n },\n\n /**\n * Returns the Object representation of this component. The returned object\n * is a live jCal object and should be cloned if modified.\n * @return {Object}\n */\n toJSON: function() {\n return this.jCal;\n },\n\n /**\n * The string representation of this component.\n * @return {String}\n */\n toICALString: function() {\n return ICAL.stringify.property(\n this.jCal, this._designSet, true\n );\n }\n };\n\n /**\n * Create an {@link ICAL.Property} by parsing the passed iCalendar string.\n *\n * @param {String} str The iCalendar string to parse\n * @param {ICAL.design.designSet=} designSet The design data to use for this property\n * @return {ICAL.Property} The created iCalendar property\n */\n Property.fromString = function(str, designSet) {\n return new Property(ICAL.parse.property(str, designSet));\n };\n\n return Property;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.UtcOffset = (function() {\n\n /**\n * @classdesc\n * This class represents the \"duration\" value type, with various calculation\n * and manipulation methods.\n *\n * @class\n * @alias ICAL.UtcOffset\n * @param {Object} aData An object with members of the utc offset\n * @param {Number=} aData.hours The hours for the utc offset\n * @param {Number=} aData.minutes The minutes in the utc offset\n * @param {Number=} aData.factor The factor for the utc-offset, either -1 or 1\n */\n function UtcOffset(aData) {\n this.fromData(aData);\n }\n\n UtcOffset.prototype = {\n\n /**\n * The hours in the utc-offset\n * @type {Number}\n */\n hours: 0,\n\n /**\n * The minutes in the utc-offset\n * @type {Number}\n */\n minutes: 0,\n\n /**\n * The sign of the utc offset, 1 for positive offset, -1 for negative\n * offsets.\n * @type {Number}\n */\n factor: 1,\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"utc-offset\"\n */\n icaltype: \"utc-offset\",\n\n /**\n * Returns a clone of the utc offset object.\n *\n * @return {ICAL.UtcOffset} The cloned object\n */\n clone: function() {\n return ICAL.UtcOffset.fromSeconds(this.toSeconds());\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData An object with members of the utc offset\n * @param {Number=} aData.hours The hours for the utc offset\n * @param {Number=} aData.minutes The minutes in the utc offset\n * @param {Number=} aData.factor The factor for the utc-offset, either -1 or 1\n */\n fromData: function(aData) {\n if (aData) {\n for (var key in aData) {\n /* istanbul ignore else */\n if (aData.hasOwnProperty(key)) {\n this[key] = aData[key];\n }\n }\n }\n this._normalize();\n },\n\n /**\n * Sets up the current instance from the given seconds value. The seconds\n * value is truncated to the minute. Offsets are wrapped when the world\n * ends, the hour after UTC+14:00 is UTC-12:00.\n *\n * @param {Number} aSeconds The seconds to convert into an offset\n */\n fromSeconds: function(aSeconds) {\n var secs = Math.abs(aSeconds);\n\n this.factor = aSeconds < 0 ? -1 : 1;\n this.hours = ICAL.helpers.trunc(secs / 3600);\n\n secs -= (this.hours * 3600);\n this.minutes = ICAL.helpers.trunc(secs / 60);\n return this;\n },\n\n /**\n * Convert the current offset to a value in seconds\n *\n * @return {Number} The offset in seconds\n */\n toSeconds: function() {\n return this.factor * (60 * this.minutes + 3600 * this.hours);\n },\n\n /**\n * Compare this utc offset with another one.\n *\n * @param {ICAL.UtcOffset} other The other offset to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare: function icaltime_compare(other) {\n var a = this.toSeconds();\n var b = other.toSeconds();\n return (a > b) - (b > a);\n },\n\n _normalize: function() {\n // Range: 97200 seconds (with 1 hour inbetween)\n var secs = this.toSeconds();\n var factor = this.factor;\n while (secs < -43200) { // = UTC-12:00\n secs += 97200;\n }\n while (secs > 50400) { // = UTC+14:00\n secs -= 97200;\n }\n\n this.fromSeconds(secs);\n\n // Avoid changing the factor when on zero seconds\n if (secs == 0) {\n this.factor = factor;\n }\n },\n\n /**\n * The iCalendar string representation of this utc-offset.\n * @return {String}\n */\n toICALString: function() {\n return ICAL.design.icalendar.value['utc-offset'].toICAL(this.toString());\n },\n\n /**\n * The string representation of this utc-offset.\n * @return {String}\n */\n toString: function toString() {\n return (this.factor == 1 ? \"+\" : \"-\") +\n ICAL.helpers.pad2(this.hours) + ':' +\n ICAL.helpers.pad2(this.minutes);\n }\n };\n\n /**\n * Creates a new {@link ICAL.UtcOffset} instance from the passed string.\n *\n * @param {String} aString The string to parse\n * @return {ICAL.Duration} The created utc-offset instance\n */\n UtcOffset.fromString = function(aString) {\n // -05:00\n var options = {};\n //TODO: support seconds per rfc5545 ?\n options.factor = (aString[0] === '+') ? 1 : -1;\n options.hours = ICAL.helpers.strictParseInt(aString.substr(1, 2));\n options.minutes = ICAL.helpers.strictParseInt(aString.substr(4, 2));\n\n return new ICAL.UtcOffset(options);\n };\n\n /**\n * Creates a new {@link ICAL.UtcOffset} instance from the passed seconds\n * value.\n *\n * @param {Number} aSeconds The number of seconds to convert\n */\n UtcOffset.fromSeconds = function(aSeconds) {\n var instance = new UtcOffset();\n instance.fromSeconds(aSeconds);\n return instance;\n };\n\n return UtcOffset;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Binary = (function() {\n\n /**\n * @classdesc\n * Represents the BINARY value type, which contains extra methods for\n * encoding and decoding.\n *\n * @class\n * @alias ICAL.Binary\n * @param {String} aValue The binary data for this value\n */\n function Binary(aValue) {\n this.value = aValue;\n }\n\n Binary.prototype = {\n /**\n * The type name, to be used in the jCal object.\n * @default \"binary\"\n * @constant\n */\n icaltype: \"binary\",\n\n /**\n * Base64 decode the current value\n *\n * @return {String} The base64-decoded value\n */\n decodeValue: function decodeValue() {\n return this._b64_decode(this.value);\n },\n\n /**\n * Encodes the passed parameter with base64 and sets the internal\n * value to the result.\n *\n * @param {String} aValue The raw binary value to encode\n */\n setEncodedValue: function setEncodedValue(aValue) {\n this.value = this._b64_encode(aValue);\n },\n\n _b64_encode: function base64_encode(data) {\n // http://kevin.vanzonneveld.net\n // + original by: Tyler Akins (http://rumkin.com)\n // + improved by: Bayron Guevara\n // + improved by: Thunder.m\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + bugfixed by: Pellentesque Malesuada\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + improved by: Rafał Kukawski (http://kukawski.pl)\n // * example 1: base64_encode('Kevin van Zonneveld');\n // * returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='\n // mozilla has this native\n // - but breaks in 2.0.0.12!\n //if (typeof this.window['atob'] == 'function') {\n // return atob(data);\n //}\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" +\n \"abcdefghijklmnopqrstuvwxyz0123456789+/=\";\n var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,\n ac = 0,\n enc = \"\",\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n do { // pack three octets into four hexets\n o1 = data.charCodeAt(i++);\n o2 = data.charCodeAt(i++);\n o3 = data.charCodeAt(i++);\n\n bits = o1 << 16 | o2 << 8 | o3;\n\n h1 = bits >> 18 & 0x3f;\n h2 = bits >> 12 & 0x3f;\n h3 = bits >> 6 & 0x3f;\n h4 = bits & 0x3f;\n\n // use hexets to index into b64, and append result to encoded string\n tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);\n } while (i < data.length);\n\n enc = tmp_arr.join('');\n\n var r = data.length % 3;\n\n return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 3);\n\n },\n\n _b64_decode: function base64_decode(data) {\n // http://kevin.vanzonneveld.net\n // + original by: Tyler Akins (http://rumkin.com)\n // + improved by: Thunder.m\n // + input by: Aman Gupta\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + bugfixed by: Onno Marsman\n // + bugfixed by: Pellentesque Malesuada\n // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // + input by: Brett Zamir (http://brett-zamir.me)\n // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // * example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA==');\n // * returns 1: 'Kevin van Zonneveld'\n // mozilla has this native\n // - but breaks in 2.0.0.12!\n //if (typeof this.window['btoa'] == 'function') {\n // return btoa(data);\n //}\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" +\n \"abcdefghijklmnopqrstuvwxyz0123456789+/=\";\n var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,\n ac = 0,\n dec = \"\",\n tmp_arr = [];\n\n if (!data) {\n return data;\n }\n\n data += '';\n\n do { // unpack four hexets into three octets using index points in b64\n h1 = b64.indexOf(data.charAt(i++));\n h2 = b64.indexOf(data.charAt(i++));\n h3 = b64.indexOf(data.charAt(i++));\n h4 = b64.indexOf(data.charAt(i++));\n\n bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;\n\n o1 = bits >> 16 & 0xff;\n o2 = bits >> 8 & 0xff;\n o3 = bits & 0xff;\n\n if (h3 == 64) {\n tmp_arr[ac++] = String.fromCharCode(o1);\n } else if (h4 == 64) {\n tmp_arr[ac++] = String.fromCharCode(o1, o2);\n } else {\n tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);\n }\n } while (i < data.length);\n\n dec = tmp_arr.join('');\n\n return dec;\n },\n\n /**\n * The string representation of this value\n * @return {String}\n */\n toString: function() {\n return this.value;\n }\n };\n\n /**\n * Creates a binary value from the given string.\n *\n * @param {String} aString The binary value string\n * @return {ICAL.Binary} The binary value instance\n */\n Binary.fromString = function(aString) {\n return new Binary(aString);\n };\n\n return Binary;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n /**\n * @classdesc\n * This class represents the \"period\" value type, with various calculation\n * and manipulation methods.\n *\n * @description\n * The passed data object cannot contain both and end date and a duration.\n *\n * @class\n * @param {Object} aData An object with members of the period\n * @param {ICAL.Time=} aData.start The start of the period\n * @param {ICAL.Time=} aData.end The end of the period\n * @param {ICAL.Duration=} aData.duration The duration of the period\n */\n ICAL.Period = function icalperiod(aData) {\n this.wrappedJSObject = this;\n\n if (aData && 'start' in aData) {\n if (aData.start && !(aData.start instanceof ICAL.Time)) {\n throw new TypeError('.start must be an instance of ICAL.Time');\n }\n this.start = aData.start;\n }\n\n if (aData && aData.end && aData.duration) {\n throw new Error('cannot accept both end and duration');\n }\n\n if (aData && 'end' in aData) {\n if (aData.end && !(aData.end instanceof ICAL.Time)) {\n throw new TypeError('.end must be an instance of ICAL.Time');\n }\n this.end = aData.end;\n }\n\n if (aData && 'duration' in aData) {\n if (aData.duration && !(aData.duration instanceof ICAL.Duration)) {\n throw new TypeError('.duration must be an instance of ICAL.Duration');\n }\n this.duration = aData.duration;\n }\n };\n\n ICAL.Period.prototype = {\n\n /**\n * The start of the period\n * @type {ICAL.Time}\n */\n start: null,\n\n /**\n * The end of the period\n * @type {ICAL.Time}\n */\n end: null,\n\n /**\n * The duration of the period\n * @type {ICAL.Duration}\n */\n duration: null,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalperiod\"\n */\n icalclass: \"icalperiod\",\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"period\"\n */\n icaltype: \"period\",\n\n /**\n * Returns a clone of the duration object.\n *\n * @return {ICAL.Period} The cloned object\n */\n clone: function() {\n return ICAL.Period.fromData({\n start: this.start ? this.start.clone() : null,\n end: this.end ? this.end.clone() : null,\n duration: this.duration ? this.duration.clone() : null\n });\n },\n\n /**\n * Calculates the duration of the period, either directly or by subtracting\n * start from end date.\n *\n * @return {ICAL.Duration} The calculated duration\n */\n getDuration: function duration() {\n if (this.duration) {\n return this.duration;\n } else {\n return this.end.subtractDate(this.start);\n }\n },\n\n /**\n * Calculates the end date of the period, either directly or by adding\n * duration to start date.\n *\n * @return {ICAL.Time} The calculated end date\n */\n getEnd: function() {\n if (this.end) {\n return this.end;\n } else {\n var end = this.start.clone();\n end.addDuration(this.duration);\n return end;\n }\n },\n\n /**\n * The string representation of this period.\n * @return {String}\n */\n toString: function toString() {\n return this.start + \"/\" + (this.end || this.duration);\n },\n\n /**\n * The jCal representation of this period type.\n * @return {Object}\n */\n toJSON: function() {\n return [this.start.toString(), (this.end || this.duration).toString()];\n },\n\n /**\n * The iCalendar string representation of this period.\n * @return {String}\n */\n toICALString: function() {\n return this.start.toICALString() + \"/\" +\n (this.end || this.duration).toICALString();\n }\n };\n\n /**\n * Creates a new {@link ICAL.Period} instance from the passed string.\n *\n * @param {String} str The string to parse\n * @param {ICAL.Property} prop The property this period will be on\n * @return {ICAL.Period} The created period instance\n */\n ICAL.Period.fromString = function fromString(str, prop) {\n var parts = str.split('/');\n\n if (parts.length !== 2) {\n throw new Error(\n 'Invalid string value: \"' + str + '\" must contain a \"/\" char.'\n );\n }\n\n var options = {\n start: ICAL.Time.fromDateTimeString(parts[0], prop)\n };\n\n var end = parts[1];\n\n if (ICAL.Duration.isValueString(end)) {\n options.duration = ICAL.Duration.fromString(end);\n } else {\n options.end = ICAL.Time.fromDateTimeString(end, prop);\n }\n\n return new ICAL.Period(options);\n };\n\n /**\n * Creates a new {@link ICAL.Period} instance from the given data object.\n * The passed data object cannot contain both and end date and a duration.\n *\n * @param {Object} aData An object with members of the period\n * @param {ICAL.Time=} aData.start The start of the period\n * @param {ICAL.Time=} aData.end The end of the period\n * @param {ICAL.Duration=} aData.duration The duration of the period\n * @return {ICAL.Period} The period instance\n */\n ICAL.Period.fromData = function fromData(aData) {\n return new ICAL.Period(aData);\n };\n\n /**\n * Returns a new period instance from the given jCal data array. The first\n * member is always the start date string, the second member is either a\n * duration or end date string.\n *\n * @param {Array<String,String>} aData The jCal data array\n * @param {ICAL.Property} aProp The property this jCal data is on\n * @param {Boolean} aLenient If true, data value can be both date and date-time\n * @return {ICAL.Period} The period instance\n */\n ICAL.Period.fromJSON = function(aData, aProp, aLenient) {\n function fromDateOrDateTimeString(aValue, aProp) {\n if (aLenient) {\n return ICAL.Time.fromString(aValue, aProp);\n } else {\n return ICAL.Time.fromDateTimeString(aValue, aProp);\n }\n }\n\n if (ICAL.Duration.isValueString(aData[1])) {\n return ICAL.Period.fromData({\n start: fromDateOrDateTimeString(aData[0], aProp),\n duration: ICAL.Duration.fromString(aData[1])\n });\n } else {\n return ICAL.Period.fromData({\n start: fromDateOrDateTimeString(aData[0], aProp),\n end: fromDateOrDateTimeString(aData[1], aProp)\n });\n }\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n var DURATION_LETTERS = /([PDWHMTS]{1,1})/;\n\n /**\n * @classdesc\n * This class represents the \"duration\" value type, with various calculation\n * and manipulation methods.\n *\n * @class\n * @alias ICAL.Duration\n * @param {Object} data An object with members of the duration\n * @param {Number} data.weeks Duration in weeks\n * @param {Number} data.days Duration in days\n * @param {Number} data.hours Duration in hours\n * @param {Number} data.minutes Duration in minutes\n * @param {Number} data.seconds Duration in seconds\n * @param {Boolean} data.isNegative If true, the duration is negative\n */\n ICAL.Duration = function icalduration(data) {\n this.wrappedJSObject = this;\n this.fromData(data);\n };\n\n ICAL.Duration.prototype = {\n /**\n * The weeks in this duration\n * @type {Number}\n * @default 0\n */\n weeks: 0,\n\n /**\n * The days in this duration\n * @type {Number}\n * @default 0\n */\n days: 0,\n\n /**\n * The days in this duration\n * @type {Number}\n * @default 0\n */\n hours: 0,\n\n /**\n * The minutes in this duration\n * @type {Number}\n * @default 0\n */\n minutes: 0,\n\n /**\n * The seconds in this duration\n * @type {Number}\n * @default 0\n */\n seconds: 0,\n\n /**\n * The seconds in this duration\n * @type {Boolean}\n * @default false\n */\n isNegative: false,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalduration\"\n */\n icalclass: \"icalduration\",\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"duration\"\n */\n icaltype: \"duration\",\n\n /**\n * Returns a clone of the duration object.\n *\n * @return {ICAL.Duration} The cloned object\n */\n clone: function clone() {\n return ICAL.Duration.fromData(this);\n },\n\n /**\n * The duration value expressed as a number of seconds.\n *\n * @return {Number} The duration value in seconds\n */\n toSeconds: function toSeconds() {\n var seconds = this.seconds + 60 * this.minutes + 3600 * this.hours +\n 86400 * this.days + 7 * 86400 * this.weeks;\n return (this.isNegative ? -seconds : seconds);\n },\n\n /**\n * Reads the passed seconds value into this duration object. Afterwards,\n * members like {@link ICAL.Duration#days days} and {@link ICAL.Duration#weeks weeks} will be set up\n * accordingly.\n *\n * @param {Number} aSeconds The duration value in seconds\n * @return {ICAL.Duration} Returns this instance\n */\n fromSeconds: function fromSeconds(aSeconds) {\n var secs = Math.abs(aSeconds);\n\n this.isNegative = (aSeconds < 0);\n this.days = ICAL.helpers.trunc(secs / 86400);\n\n // If we have a flat number of weeks, use them.\n if (this.days % 7 == 0) {\n this.weeks = this.days / 7;\n this.days = 0;\n } else {\n this.weeks = 0;\n }\n\n secs -= (this.days + 7 * this.weeks) * 86400;\n\n this.hours = ICAL.helpers.trunc(secs / 3600);\n secs -= this.hours * 3600;\n\n this.minutes = ICAL.helpers.trunc(secs / 60);\n secs -= this.minutes * 60;\n\n this.seconds = secs;\n return this;\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData An object with members of the duration\n * @param {Number} aData.weeks Duration in weeks\n * @param {Number} aData.days Duration in days\n * @param {Number} aData.hours Duration in hours\n * @param {Number} aData.minutes Duration in minutes\n * @param {Number} aData.seconds Duration in seconds\n * @param {Boolean} aData.isNegative If true, the duration is negative\n */\n fromData: function fromData(aData) {\n var propsToCopy = [\"weeks\", \"days\", \"hours\",\n \"minutes\", \"seconds\", \"isNegative\"];\n for (var key in propsToCopy) {\n /* istanbul ignore if */\n if (!propsToCopy.hasOwnProperty(key)) {\n continue;\n }\n var prop = propsToCopy[key];\n if (aData && prop in aData) {\n this[prop] = aData[prop];\n } else {\n this[prop] = 0;\n }\n }\n },\n\n /**\n * Resets the duration instance to the default values, i.e. PT0S\n */\n reset: function reset() {\n this.isNegative = false;\n this.weeks = 0;\n this.days = 0;\n this.hours = 0;\n this.minutes = 0;\n this.seconds = 0;\n },\n\n /**\n * Compares the duration instance with another one.\n *\n * @param {ICAL.Duration} aOther The instance to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare: function compare(aOther) {\n var thisSeconds = this.toSeconds();\n var otherSeconds = aOther.toSeconds();\n return (thisSeconds > otherSeconds) - (thisSeconds < otherSeconds);\n },\n\n /**\n * Normalizes the duration instance. For example, a duration with a value\n * of 61 seconds will be normalized to 1 minute and 1 second.\n */\n normalize: function normalize() {\n this.fromSeconds(this.toSeconds());\n },\n\n /**\n * The string representation of this duration.\n * @return {String}\n */\n toString: function toString() {\n if (this.toSeconds() == 0) {\n return \"PT0S\";\n } else {\n var str = \"\";\n if (this.isNegative) str += \"-\";\n str += \"P\";\n if (this.weeks) str += this.weeks + \"W\";\n if (this.days) str += this.days + \"D\";\n\n if (this.hours || this.minutes || this.seconds) {\n str += \"T\";\n if (this.hours) str += this.hours + \"H\";\n if (this.minutes) str += this.minutes + \"M\";\n if (this.seconds) str += this.seconds + \"S\";\n }\n return str;\n }\n },\n\n /**\n * The iCalendar string representation of this duration.\n * @return {String}\n */\n toICALString: function() {\n return this.toString();\n }\n };\n\n /**\n * Returns a new ICAL.Duration instance from the passed seconds value.\n *\n * @param {Number} aSeconds The seconds to create the instance from\n * @return {ICAL.Duration} The newly created duration instance\n */\n ICAL.Duration.fromSeconds = function icalduration_from_seconds(aSeconds) {\n return (new ICAL.Duration()).fromSeconds(aSeconds);\n };\n\n /**\n * Internal helper function to handle a chunk of a duration.\n *\n * @param {String} letter type of duration chunk\n * @param {String} number numeric value or -/+\n * @param {Object} dict target to assign values to\n */\n function parseDurationChunk(letter, number, object) {\n var type;\n switch (letter) {\n case 'P':\n if (number && number === '-') {\n object.isNegative = true;\n } else {\n object.isNegative = false;\n }\n // period\n break;\n case 'D':\n type = 'days';\n break;\n case 'W':\n type = 'weeks';\n break;\n case 'H':\n type = 'hours';\n break;\n case 'M':\n type = 'minutes';\n break;\n case 'S':\n type = 'seconds';\n break;\n default:\n // Not a valid chunk\n return 0;\n }\n\n if (type) {\n if (!number && number !== 0) {\n throw new Error(\n 'invalid duration value: Missing number before \"' + letter + '\"'\n );\n }\n var num = parseInt(number, 10);\n if (ICAL.helpers.isStrictlyNaN(num)) {\n throw new Error(\n 'invalid duration value: Invalid number \"' + number + '\" before \"' + letter + '\"'\n );\n }\n object[type] = num;\n }\n\n return 1;\n }\n\n /**\n * Checks if the given string is an iCalendar duration value.\n *\n * @param {String} value The raw ical value\n * @return {Boolean} True, if the given value is of the\n * duration ical type\n */\n ICAL.Duration.isValueString = function(string) {\n return (string[0] === 'P' || string[1] === 'P');\n };\n\n /**\n * Creates a new {@link ICAL.Duration} instance from the passed string.\n *\n * @param {String} aStr The string to parse\n * @return {ICAL.Duration} The created duration instance\n */\n ICAL.Duration.fromString = function icalduration_from_string(aStr) {\n var pos = 0;\n var dict = Object.create(null);\n var chunks = 0;\n\n while ((pos = aStr.search(DURATION_LETTERS)) !== -1) {\n var type = aStr[pos];\n var numeric = aStr.substr(0, pos);\n aStr = aStr.substr(pos + 1);\n\n chunks += parseDurationChunk(type, numeric, dict);\n }\n\n if (chunks < 2) {\n // There must be at least a chunk with \"P\" and some unit chunk\n throw new Error(\n 'invalid duration value: Not enough duration components in \"' + aStr + '\"'\n );\n }\n\n return new ICAL.Duration(dict);\n };\n\n /**\n * Creates a new ICAL.Duration instance from the given data object.\n *\n * @param {Object} aData An object with members of the duration\n * @param {Number} aData.weeks Duration in weeks\n * @param {Number} aData.days Duration in days\n * @param {Number} aData.hours Duration in hours\n * @param {Number} aData.minutes Duration in minutes\n * @param {Number} aData.seconds Duration in seconds\n * @param {Boolean} aData.isNegative If true, the duration is negative\n * @return {ICAL.Duration} The createad duration instance\n */\n ICAL.Duration.fromData = function icalduration_from_data(aData) {\n return new ICAL.Duration(aData);\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2012 */\n\n\n\n(function() {\n var OPTIONS = [\"tzid\", \"location\", \"tznames\",\n \"latitude\", \"longitude\"];\n\n /**\n * @classdesc\n * Timezone representation, created by passing in a tzid and component.\n *\n * @example\n * var vcalendar;\n * var timezoneComp = vcalendar.getFirstSubcomponent('vtimezone');\n * var tzid = timezoneComp.getFirstPropertyValue('tzid');\n *\n * var timezone = new ICAL.Timezone({\n * component: timezoneComp,\n * tzid\n * });\n *\n * @class\n * @param {ICAL.Component|Object} data options for class\n * @param {String|ICAL.Component} data.component\n * If data is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} data.tzid The timezone identifier\n * @param {String} data.location The timezone locationw\n * @param {String} data.tznames An alternative string representation of the\n * timezone\n * @param {Number} data.latitude The latitude of the timezone\n * @param {Number} data.longitude The longitude of the timezone\n */\n ICAL.Timezone = function icaltimezone(data) {\n this.wrappedJSObject = this;\n this.fromData(data);\n };\n\n ICAL.Timezone.prototype = {\n\n /**\n * Timezone identifier\n * @type {String}\n */\n tzid: \"\",\n\n /**\n * Timezone location\n * @type {String}\n */\n location: \"\",\n\n /**\n * Alternative timezone name, for the string representation\n * @type {String}\n */\n tznames: \"\",\n\n /**\n * The primary latitude for the timezone.\n * @type {Number}\n */\n latitude: 0.0,\n\n /**\n * The primary longitude for the timezone.\n * @type {Number}\n */\n longitude: 0.0,\n\n /**\n * The vtimezone component for this timezone.\n * @type {ICAL.Component}\n */\n component: null,\n\n /**\n * The year this timezone has been expanded to. All timezone transition\n * dates until this year are known and can be used for calculation\n *\n * @private\n * @type {Number}\n */\n expandedUntilYear: 0,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icaltimezone\"\n */\n icalclass: \"icaltimezone\",\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {ICAL.Component|Object} aData options for class\n * @param {String|ICAL.Component} aData.component\n * If aData is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} aData.tzid The timezone identifier\n * @param {String} aData.location The timezone locationw\n * @param {String} aData.tznames An alternative string representation of the\n * timezone\n * @param {Number} aData.latitude The latitude of the timezone\n * @param {Number} aData.longitude The longitude of the timezone\n */\n fromData: function fromData(aData) {\n this.expandedUntilYear = 0;\n this.changes = [];\n\n if (aData instanceof ICAL.Component) {\n // Either a component is passed directly\n this.component = aData;\n } else {\n // Otherwise the component may be in the data object\n if (aData && \"component\" in aData) {\n if (typeof aData.component == \"string\") {\n // If a string was passed, parse it as a component\n var jCal = ICAL.parse(aData.component);\n this.component = new ICAL.Component(jCal);\n } else if (aData.component instanceof ICAL.Component) {\n // If it was a component already, then just set it\n this.component = aData.component;\n } else {\n // Otherwise just null out the component\n this.component = null;\n }\n }\n\n // Copy remaining passed properties\n for (var key in OPTIONS) {\n /* istanbul ignore else */\n if (OPTIONS.hasOwnProperty(key)) {\n var prop = OPTIONS[key];\n if (aData && prop in aData) {\n this[prop] = aData[prop];\n }\n }\n }\n }\n\n // If we have a component but no TZID, attempt to get it from the\n // component's properties.\n if (this.component instanceof ICAL.Component && !this.tzid) {\n this.tzid = this.component.getFirstPropertyValue('tzid');\n }\n\n return this;\n },\n\n /**\n * Finds the utcOffset the given time would occur in this timezone.\n *\n * @param {ICAL.Time} tt The time to check for\n * @return {Number} utc offset in seconds\n */\n utcOffset: function utcOffset(tt) {\n if (this == ICAL.Timezone.utcTimezone || this == ICAL.Timezone.localTimezone) {\n return 0;\n }\n\n this._ensureCoverage(tt.year);\n\n if (!this.changes.length) {\n return 0;\n }\n\n var tt_change = {\n year: tt.year,\n month: tt.month,\n day: tt.day,\n hour: tt.hour,\n minute: tt.minute,\n second: tt.second\n };\n\n var change_num = this._findNearbyChange(tt_change);\n var change_num_to_use = -1;\n var step = 1;\n\n // TODO: replace with bin search?\n for (;;) {\n var change = ICAL.helpers.clone(this.changes[change_num], true);\n if (change.utcOffset < change.prevUtcOffset) {\n ICAL.Timezone.adjust_change(change, 0, 0, 0, change.utcOffset);\n } else {\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n change.prevUtcOffset);\n }\n\n var cmp = ICAL.Timezone._compare_change_fn(tt_change, change);\n\n if (cmp >= 0) {\n change_num_to_use = change_num;\n } else {\n step = -1;\n }\n\n if (step == -1 && change_num_to_use != -1) {\n break;\n }\n\n change_num += step;\n\n if (change_num < 0) {\n return 0;\n }\n\n if (change_num >= this.changes.length) {\n break;\n }\n }\n\n var zone_change = this.changes[change_num_to_use];\n var utcOffset_change = zone_change.utcOffset - zone_change.prevUtcOffset;\n\n if (utcOffset_change < 0 && change_num_to_use > 0) {\n var tmp_change = ICAL.helpers.clone(zone_change, true);\n ICAL.Timezone.adjust_change(tmp_change, 0, 0, 0,\n tmp_change.prevUtcOffset);\n\n if (ICAL.Timezone._compare_change_fn(tt_change, tmp_change) < 0) {\n var prev_zone_change = this.changes[change_num_to_use - 1];\n\n var want_daylight = false; // TODO\n\n if (zone_change.is_daylight != want_daylight &&\n prev_zone_change.is_daylight == want_daylight) {\n zone_change = prev_zone_change;\n }\n }\n }\n\n // TODO return is_daylight?\n return zone_change.utcOffset;\n },\n\n _findNearbyChange: function icaltimezone_find_nearby_change(change) {\n // find the closest match\n var idx = ICAL.helpers.binsearchInsert(\n this.changes,\n change,\n ICAL.Timezone._compare_change_fn\n );\n\n if (idx >= this.changes.length) {\n return this.changes.length - 1;\n }\n\n return idx;\n },\n\n _ensureCoverage: function(aYear) {\n if (ICAL.Timezone._minimumExpansionYear == -1) {\n var today = ICAL.Time.now();\n ICAL.Timezone._minimumExpansionYear = today.year;\n }\n\n var changesEndYear = aYear;\n if (changesEndYear < ICAL.Timezone._minimumExpansionYear) {\n changesEndYear = ICAL.Timezone._minimumExpansionYear;\n }\n\n changesEndYear += ICAL.Timezone.EXTRA_COVERAGE;\n\n if (changesEndYear > ICAL.Timezone.MAX_YEAR) {\n changesEndYear = ICAL.Timezone.MAX_YEAR;\n }\n\n if (!this.changes.length || this.expandedUntilYear < aYear) {\n var subcomps = this.component.getAllSubcomponents();\n var compLen = subcomps.length;\n var compIdx = 0;\n\n for (; compIdx < compLen; compIdx++) {\n this._expandComponent(\n subcomps[compIdx], changesEndYear, this.changes\n );\n }\n\n this.changes.sort(ICAL.Timezone._compare_change_fn);\n this.expandedUntilYear = changesEndYear;\n }\n },\n\n _expandComponent: function(aComponent, aYear, changes) {\n if (!aComponent.hasProperty(\"dtstart\") ||\n !aComponent.hasProperty(\"tzoffsetto\") ||\n !aComponent.hasProperty(\"tzoffsetfrom\")) {\n return null;\n }\n\n var dtstart = aComponent.getFirstProperty(\"dtstart\").getFirstValue();\n var change;\n\n function convert_tzoffset(offset) {\n return offset.factor * (offset.hours * 3600 + offset.minutes * 60);\n }\n\n function init_changes() {\n var changebase = {};\n changebase.is_daylight = (aComponent.name == \"daylight\");\n changebase.utcOffset = convert_tzoffset(\n aComponent.getFirstProperty(\"tzoffsetto\").getFirstValue()\n );\n\n changebase.prevUtcOffset = convert_tzoffset(\n aComponent.getFirstProperty(\"tzoffsetfrom\").getFirstValue()\n );\n\n return changebase;\n }\n\n if (!aComponent.hasProperty(\"rrule\") && !aComponent.hasProperty(\"rdate\")) {\n change = init_changes();\n change.year = dtstart.year;\n change.month = dtstart.month;\n change.day = dtstart.day;\n change.hour = dtstart.hour;\n change.minute = dtstart.minute;\n change.second = dtstart.second;\n\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n changes.push(change);\n } else {\n var props = aComponent.getAllProperties(\"rdate\");\n for (var rdatekey in props) {\n /* istanbul ignore if */\n if (!props.hasOwnProperty(rdatekey)) {\n continue;\n }\n var rdate = props[rdatekey];\n var time = rdate.getFirstValue();\n change = init_changes();\n\n change.year = time.year;\n change.month = time.month;\n change.day = time.day;\n\n if (time.isDate) {\n change.hour = dtstart.hour;\n change.minute = dtstart.minute;\n change.second = dtstart.second;\n\n if (dtstart.zone != ICAL.Timezone.utcTimezone) {\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n }\n } else {\n change.hour = time.hour;\n change.minute = time.minute;\n change.second = time.second;\n\n if (time.zone != ICAL.Timezone.utcTimezone) {\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n }\n }\n\n changes.push(change);\n }\n\n var rrule = aComponent.getFirstProperty(\"rrule\");\n\n if (rrule) {\n rrule = rrule.getFirstValue();\n change = init_changes();\n\n if (rrule.until && rrule.until.zone == ICAL.Timezone.utcTimezone) {\n rrule.until.adjust(0, 0, 0, change.prevUtcOffset);\n rrule.until.zone = ICAL.Timezone.localTimezone;\n }\n\n var iterator = rrule.iterator(dtstart);\n\n var occ;\n while ((occ = iterator.next())) {\n change = init_changes();\n if (occ.year > aYear || !occ) {\n break;\n }\n\n change.year = occ.year;\n change.month = occ.month;\n change.day = occ.day;\n change.hour = occ.hour;\n change.minute = occ.minute;\n change.second = occ.second;\n change.isDate = occ.isDate;\n\n ICAL.Timezone.adjust_change(change, 0, 0, 0,\n -change.prevUtcOffset);\n changes.push(change);\n }\n }\n }\n\n return changes;\n },\n\n /**\n * The string representation of this timezone.\n * @return {String}\n */\n toString: function toString() {\n return (this.tznames ? this.tznames : this.tzid);\n }\n };\n\n ICAL.Timezone._compare_change_fn = function icaltimezone_compare_change_fn(a, b) {\n if (a.year < b.year) return -1;\n else if (a.year > b.year) return 1;\n\n if (a.month < b.month) return -1;\n else if (a.month > b.month) return 1;\n\n if (a.day < b.day) return -1;\n else if (a.day > b.day) return 1;\n\n if (a.hour < b.hour) return -1;\n else if (a.hour > b.hour) return 1;\n\n if (a.minute < b.minute) return -1;\n else if (a.minute > b.minute) return 1;\n\n if (a.second < b.second) return -1;\n else if (a.second > b.second) return 1;\n\n return 0;\n };\n\n /**\n * Convert the date/time from one zone to the next.\n *\n * @param {ICAL.Time} tt The time to convert\n * @param {ICAL.Timezone} from_zone The source zone to convert from\n * @param {ICAL.Timezone} to_zone The target zone to convert to\n * @return {ICAL.Time} The converted date/time object\n */\n ICAL.Timezone.convert_time = function icaltimezone_convert_time(tt, from_zone, to_zone) {\n if (tt.isDate ||\n from_zone.tzid == to_zone.tzid ||\n from_zone == ICAL.Timezone.localTimezone ||\n to_zone == ICAL.Timezone.localTimezone) {\n tt.zone = to_zone;\n return tt;\n }\n\n var utcOffset = from_zone.utcOffset(tt);\n tt.adjust(0, 0, 0, - utcOffset);\n\n utcOffset = to_zone.utcOffset(tt);\n tt.adjust(0, 0, 0, utcOffset);\n\n return null;\n };\n\n /**\n * Creates a new ICAL.Timezone instance from the passed data object.\n *\n * @param {ICAL.Component|Object} aData options for class\n * @param {String|ICAL.Component} aData.component\n * If aData is a simple object, then this member can be set to either a\n * string containing the component data, or an already parsed\n * ICAL.Component\n * @param {String} aData.tzid The timezone identifier\n * @param {String} aData.location The timezone locationw\n * @param {String} aData.tznames An alternative string representation of the\n * timezone\n * @param {Number} aData.latitude The latitude of the timezone\n * @param {Number} aData.longitude The longitude of the timezone\n */\n ICAL.Timezone.fromData = function icaltimezone_fromData(aData) {\n var tt = new ICAL.Timezone();\n return tt.fromData(aData);\n };\n\n /**\n * The instance describing the UTC timezone\n * @type {ICAL.Timezone}\n * @constant\n * @instance\n */\n ICAL.Timezone.utcTimezone = ICAL.Timezone.fromData({\n tzid: \"UTC\"\n });\n\n /**\n * The instance describing the local timezone\n * @type {ICAL.Timezone}\n * @constant\n * @instance\n */\n ICAL.Timezone.localTimezone = ICAL.Timezone.fromData({\n tzid: \"floating\"\n });\n\n /**\n * Adjust a timezone change object.\n * @private\n * @param {Object} change The timezone change object\n * @param {Number} days The extra amount of days\n * @param {Number} hours The extra amount of hours\n * @param {Number} minutes The extra amount of minutes\n * @param {Number} seconds The extra amount of seconds\n */\n ICAL.Timezone.adjust_change = function icaltimezone_adjust_change(change, days, hours, minutes, seconds) {\n return ICAL.Time.prototype.adjust.call(\n change,\n days,\n hours,\n minutes,\n seconds,\n change\n );\n };\n\n ICAL.Timezone._minimumExpansionYear = -1;\n ICAL.Timezone.MAX_YEAR = 2035; // TODO this is because of time_t, which we don't need. Still usefull?\n ICAL.Timezone.EXTRA_COVERAGE = 5;\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.TimezoneService = (function() {\n var zones;\n\n /**\n * @classdesc\n * Singleton class to contain timezones. Right now its all manual registry in\n * the future we may use this class to download timezone information or handle\n * loading pre-expanded timezones.\n *\n * @namespace\n * @alias ICAL.TimezoneService\n */\n var TimezoneService = {\n get count() {\n return Object.keys(zones).length;\n },\n\n reset: function() {\n zones = Object.create(null);\n var utc = ICAL.Timezone.utcTimezone;\n\n zones.Z = utc;\n zones.UTC = utc;\n zones.GMT = utc;\n },\n\n /**\n * Checks if timezone id has been registered.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {Boolean} False, when not present\n */\n has: function(tzid) {\n return !!zones[tzid];\n },\n\n /**\n * Returns a timezone by its tzid if present.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {?ICAL.Timezone} The timezone, or null if not found\n */\n get: function(tzid) {\n return zones[tzid];\n },\n\n /**\n * Registers a timezone object or component.\n *\n * @param {String=} name\n * The name of the timezone. Defaults to the component's TZID if not\n * passed.\n * @param {ICAL.Component|ICAL.Timezone} zone\n * The initialized zone or vtimezone.\n */\n register: function(name, timezone) {\n if (name instanceof ICAL.Component) {\n if (name.name === 'vtimezone') {\n timezone = new ICAL.Timezone(name);\n name = timezone.tzid;\n }\n }\n\n if (timezone instanceof ICAL.Timezone) {\n zones[name] = timezone;\n } else {\n throw new TypeError('timezone must be ICAL.Timezone or ICAL.Component');\n }\n },\n\n /**\n * Removes a timezone by its tzid from the list.\n *\n * @param {String} tzid Timezone identifier (e.g. America/Los_Angeles)\n * @return {?ICAL.Timezone} The removed timezone, or null if not registered\n */\n remove: function(tzid) {\n return (delete zones[tzid]);\n }\n };\n\n // initialize defaults\n TimezoneService.reset();\n\n return TimezoneService;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n\n /**\n * @classdesc\n * iCalendar Time representation (similar to JS Date object). Fully\n * independent of system (OS) timezone / time. Unlike JS Date, the month\n * January is 1, not zero.\n *\n * @example\n * var time = new ICAL.Time({\n * year: 2012,\n * month: 10,\n * day: 11\n * minute: 0,\n * second: 0,\n * isDate: false\n * });\n *\n *\n * @alias ICAL.Time\n * @class\n * @param {Object} data Time initialization\n * @param {Number=} data.year The year for this date\n * @param {Number=} data.month The month for this date\n * @param {Number=} data.day The day for this date\n * @param {Number=} data.hour The hour for this date\n * @param {Number=} data.minute The minute for this date\n * @param {Number=} data.second The second for this date\n * @param {Boolean=} data.isDate If true, the instance represents a date (as\n * opposed to a date-time)\n * @param {ICAL.Timezone} zone timezone this position occurs in\n */\n ICAL.Time = function icaltime(data, zone) {\n this.wrappedJSObject = this;\n var time = this._time = Object.create(null);\n\n /* time defaults */\n time.year = 0;\n time.month = 1;\n time.day = 1;\n time.hour = 0;\n time.minute = 0;\n time.second = 0;\n time.isDate = false;\n\n this.fromData(data, zone);\n };\n\n ICAL.Time._dowCache = {};\n ICAL.Time._wnCache = {};\n\n ICAL.Time.prototype = {\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icaltime\"\n */\n icalclass: \"icaltime\",\n _cachedUnixTime: null,\n\n /**\n * The type name, to be used in the jCal object. This value may change and\n * is strictly defined by the {@link ICAL.Time#isDate isDate} member.\n * @readonly\n * @type {String}\n * @default \"date-time\"\n */\n get icaltype() {\n return this.isDate ? 'date' : 'date-time';\n },\n\n /**\n * The timezone for this time.\n * @type {ICAL.Timezone}\n */\n zone: null,\n\n /**\n * Internal uses to indicate that a change has been made and the next read\n * operation must attempt to normalize the value (for example changing the\n * day to 33).\n *\n * @type {Boolean}\n * @private\n */\n _pendingNormalization: false,\n\n /**\n * Returns a clone of the time object.\n *\n * @return {ICAL.Time} The cloned object\n */\n clone: function() {\n return new ICAL.Time(this._time, this.zone);\n },\n\n /**\n * Reset the time instance to epoch time\n */\n reset: function icaltime_reset() {\n this.fromData(ICAL.Time.epochTime);\n this.zone = ICAL.Timezone.utcTimezone;\n },\n\n /**\n * Reset the time instance to the given date/time values.\n *\n * @param {Number} year The year to set\n * @param {Number} month The month to set\n * @param {Number} day The day to set\n * @param {Number} hour The hour to set\n * @param {Number} minute The minute to set\n * @param {Number} second The second to set\n * @param {ICAL.Timezone} timezone The timezone to set\n */\n resetTo: function icaltime_resetTo(year, month, day,\n hour, minute, second, timezone) {\n this.fromData({\n year: year,\n month: month,\n day: day,\n hour: hour,\n minute: minute,\n second: second,\n zone: timezone\n });\n },\n\n /**\n * Set up the current instance from the Javascript date value.\n *\n * @param {?Date} aDate The Javascript Date to read, or null to reset\n * @param {Boolean} useUTC If true, the UTC values of the date will be used\n */\n fromJSDate: function icaltime_fromJSDate(aDate, useUTC) {\n if (!aDate) {\n this.reset();\n } else {\n if (useUTC) {\n this.zone = ICAL.Timezone.utcTimezone;\n this.year = aDate.getUTCFullYear();\n this.month = aDate.getUTCMonth() + 1;\n this.day = aDate.getUTCDate();\n this.hour = aDate.getUTCHours();\n this.minute = aDate.getUTCMinutes();\n this.second = aDate.getUTCSeconds();\n } else {\n this.zone = ICAL.Timezone.localTimezone;\n this.year = aDate.getFullYear();\n this.month = aDate.getMonth() + 1;\n this.day = aDate.getDate();\n this.hour = aDate.getHours();\n this.minute = aDate.getMinutes();\n this.second = aDate.getSeconds();\n }\n }\n this._cachedUnixTime = null;\n return this;\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} aData Time initialization\n * @param {Number=} aData.year The year for this date\n * @param {Number=} aData.month The month for this date\n * @param {Number=} aData.day The day for this date\n * @param {Number=} aData.hour The hour for this date\n * @param {Number=} aData.minute The minute for this date\n * @param {Number=} aData.second The second for this date\n * @param {Boolean=} aData.isDate If true, the instance represents a date\n * (as opposed to a date-time)\n * @param {ICAL.Timezone=} aZone Timezone this position occurs in\n */\n fromData: function fromData(aData, aZone) {\n if (aData) {\n for (var key in aData) {\n /* istanbul ignore else */\n if (Object.prototype.hasOwnProperty.call(aData, key)) {\n // ical type cannot be set\n if (key === 'icaltype') continue;\n this[key] = aData[key];\n }\n }\n }\n\n if (aZone) {\n this.zone = aZone;\n }\n\n if (aData && !(\"isDate\" in aData)) {\n this.isDate = !(\"hour\" in aData);\n } else if (aData && (\"isDate\" in aData)) {\n this.isDate = aData.isDate;\n }\n\n if (aData && \"timezone\" in aData) {\n var zone = ICAL.TimezoneService.get(\n aData.timezone\n );\n\n this.zone = zone || ICAL.Timezone.localTimezone;\n }\n\n if (aData && \"zone\" in aData) {\n this.zone = aData.zone;\n }\n\n if (!this.zone) {\n this.zone = ICAL.Timezone.localTimezone;\n }\n\n this._cachedUnixTime = null;\n return this;\n },\n\n /**\n * Calculate the day of week.\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {ICAL.Time.weekDay}\n */\n dayOfWeek: function icaltime_dayOfWeek(aWeekStart) {\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var dowCacheKey = (this.year << 12) + (this.month << 8) + (this.day << 3) + firstDow;\n if (dowCacheKey in ICAL.Time._dowCache) {\n return ICAL.Time._dowCache[dowCacheKey];\n }\n\n // Using Zeller's algorithm\n var q = this.day;\n var m = this.month + (this.month < 3 ? 12 : 0);\n var Y = this.year - (this.month < 3 ? 1 : 0);\n\n var h = (q + Y + ICAL.helpers.trunc(((m + 1) * 26) / 10) + ICAL.helpers.trunc(Y / 4));\n /* istanbul ignore else */\n if (true /* gregorian */) {\n h += ICAL.helpers.trunc(Y / 100) * 6 + ICAL.helpers.trunc(Y / 400);\n } else {\n h += 5;\n }\n\n // Normalize to 1 = wkst\n h = ((h + 7 - firstDow) % 7) + 1;\n ICAL.Time._dowCache[dowCacheKey] = h;\n return h;\n },\n\n /**\n * Calculate the day of year.\n * @return {Number}\n */\n dayOfYear: function dayOfYear() {\n var is_leap = (ICAL.Time.isLeapYear(this.year) ? 1 : 0);\n var diypm = ICAL.Time.daysInYearPassedMonth;\n return diypm[is_leap][this.month - 1] + this.day;\n },\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * week. The resulting ICAL.Time instance is of icaltype date, even if this\n * is a date-time.\n *\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {ICAL.Time} The start of the week (cloned)\n */\n startOfWeek: function startOfWeek(aWeekStart) {\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var result = this.clone();\n result.day -= ((this.dayOfWeek() + 7 - firstDow) % 7);\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the week.\n * The resulting ICAL.Time instance is of icaltype date, even if this is a\n * date-time.\n *\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {ICAL.Time} The end of the week (cloned)\n */\n endOfWeek: function endOfWeek(aWeekStart) {\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var result = this.clone();\n result.day += (7 - this.dayOfWeek() + firstDow - ICAL.Time.SUNDAY) % 7;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * month. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The start of the month (cloned)\n */\n startOfMonth: function startOfMonth() {\n var result = this.clone();\n result.day = 1;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the\n * month. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The end of the month (cloned)\n */\n endOfMonth: function endOfMonth() {\n var result = this.clone();\n result.day = ICAL.Time.daysInMonth(result.month, result.year);\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, rewound to the start of the\n * year. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The start of the year (cloned)\n */\n startOfYear: function startOfYear() {\n var result = this.clone();\n result.day = 1;\n result.month = 1;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * Returns a copy of the current date/time, shifted to the end of the\n * year. The resulting ICAL.Time instance is of icaltype date, even if\n * this is a date-time.\n *\n * @return {ICAL.Time} The end of the year (cloned)\n */\n endOfYear: function endOfYear() {\n var result = this.clone();\n result.day = 31;\n result.month = 12;\n result.isDate = true;\n result.hour = 0;\n result.minute = 0;\n result.second = 0;\n return result;\n },\n\n /**\n * First calculates the start of the week, then returns the day of year for\n * this date. If the day falls into the previous year, the day is zero or negative.\n *\n * @param {ICAL.Time.weekDay=} aFirstDayOfWeek\n * The week start weekday, defaults to SUNDAY\n * @return {Number} The calculated day of year\n */\n startDoyWeek: function startDoyWeek(aFirstDayOfWeek) {\n var firstDow = aFirstDayOfWeek || ICAL.Time.SUNDAY;\n var delta = this.dayOfWeek() - firstDow;\n if (delta < 0) delta += 7;\n return this.dayOfYear() - delta;\n },\n\n /**\n * Get the dominical letter for the current year. Letters range from A - G\n * for common years, and AG to GF for leap years.\n *\n * @param {Number} yr The year to retrieve the letter for\n * @return {String} The dominical letter.\n */\n getDominicalLetter: function() {\n return ICAL.Time.getDominicalLetter(this.year);\n },\n\n /**\n * Finds the nthWeekDay relative to the current month (not day). The\n * returned value is a day relative the month that this month belongs to so\n * 1 would indicate the first of the month and 40 would indicate a day in\n * the following month.\n *\n * @param {Number} aDayOfWeek Day of the week see the day name constants\n * @param {Number} aPos Nth occurrence of a given week day values\n * of 1 and 0 both indicate the first weekday of that type. aPos may\n * be either positive or negative\n *\n * @return {Number} numeric value indicating a day relative\n * to the current month of this time object\n */\n nthWeekDay: function icaltime_nthWeekDay(aDayOfWeek, aPos) {\n var daysInMonth = ICAL.Time.daysInMonth(this.month, this.year);\n var weekday;\n var pos = aPos;\n\n var start = 0;\n\n var otherDay = this.clone();\n\n if (pos >= 0) {\n otherDay.day = 1;\n\n // because 0 means no position has been given\n // 1 and 0 indicate the same day.\n if (pos != 0) {\n // remove the extra numeric value\n pos--;\n }\n\n // set current start offset to current day.\n start = otherDay.day;\n\n // find the current day of week\n var startDow = otherDay.dayOfWeek();\n\n // calculate the difference between current\n // day of the week and desired day of the week\n var offset = aDayOfWeek - startDow;\n\n\n // if the offset goes into the past\n // week we add 7 so its goes into the next\n // week. We only want to go forward in time here.\n if (offset < 0)\n // this is really important otherwise we would\n // end up with dates from in the past.\n offset += 7;\n\n // add offset to start so start is the same\n // day of the week as the desired day of week.\n start += offset;\n\n // because we are going to add (and multiply)\n // the numeric value of the day we subtract it\n // from the start position so not to add it twice.\n start -= aDayOfWeek;\n\n // set week day\n weekday = aDayOfWeek;\n } else {\n\n // then we set it to the last day in the current month\n otherDay.day = daysInMonth;\n\n // find the ends weekday\n var endDow = otherDay.dayOfWeek();\n\n pos++;\n\n weekday = (endDow - aDayOfWeek);\n\n if (weekday < 0) {\n weekday += 7;\n }\n\n weekday = daysInMonth - weekday;\n }\n\n weekday += pos * 7;\n\n return start + weekday;\n },\n\n /**\n * Checks if current time is the nth weekday, relative to the current\n * month. Will always return false when rule resolves outside of current\n * month.\n *\n * @param {ICAL.Time.weekDay} aDayOfWeek Day of week to check\n * @param {Number} aPos Relative position\n * @return {Boolean} True, if its the nth weekday\n */\n isNthWeekDay: function(aDayOfWeek, aPos) {\n var dow = this.dayOfWeek();\n\n if (aPos === 0 && dow === aDayOfWeek) {\n return true;\n }\n\n // get pos\n var day = this.nthWeekDay(aDayOfWeek, aPos);\n\n if (day === this.day) {\n return true;\n }\n\n return false;\n },\n\n /**\n * Calculates the ISO 8601 week number. The first week of a year is the\n * week that contains the first Thursday. The year can have 53 weeks, if\n * January 1st is a Friday.\n *\n * Note there are regions where the first week of the year is the one that\n * starts on January 1st, which may offset the week number. Also, if a\n * different week start is specified, this will also affect the week\n * number.\n *\n * @see ICAL.Time.weekOneStarts\n * @param {ICAL.Time.weekDay} aWeekStart The weekday the week starts with\n * @return {Number} The ISO week number\n */\n weekNumber: function weekNumber(aWeekStart) {\n var wnCacheKey = (this.year << 12) + (this.month << 8) + (this.day << 3) + aWeekStart;\n if (wnCacheKey in ICAL.Time._wnCache) {\n return ICAL.Time._wnCache[wnCacheKey];\n }\n // This function courtesty of Julian Bucknall, published under the MIT license\n // http://www.boyet.com/articles/publishedarticles/calculatingtheisoweeknumb.html\n // plus some fixes to be able to use different week starts.\n var week1;\n\n var dt = this.clone();\n dt.isDate = true;\n var isoyear = this.year;\n\n if (dt.month == 12 && dt.day > 25) {\n week1 = ICAL.Time.weekOneStarts(isoyear + 1, aWeekStart);\n if (dt.compare(week1) < 0) {\n week1 = ICAL.Time.weekOneStarts(isoyear, aWeekStart);\n } else {\n isoyear++;\n }\n } else {\n week1 = ICAL.Time.weekOneStarts(isoyear, aWeekStart);\n if (dt.compare(week1) < 0) {\n week1 = ICAL.Time.weekOneStarts(--isoyear, aWeekStart);\n }\n }\n\n var daysBetween = (dt.subtractDate(week1).toSeconds() / 86400);\n var answer = ICAL.helpers.trunc(daysBetween / 7) + 1;\n ICAL.Time._wnCache[wnCacheKey] = answer;\n return answer;\n },\n\n /**\n * Adds the duration to the current time. The instance is modified in\n * place.\n *\n * @param {ICAL.Duration} aDuration The duration to add\n */\n addDuration: function icaltime_add(aDuration) {\n var mult = (aDuration.isNegative ? -1 : 1);\n\n // because of the duration optimizations it is much\n // more efficient to grab all the values up front\n // then set them directly (which will avoid a normalization call).\n // So we don't actually normalize until we need it.\n var second = this.second;\n var minute = this.minute;\n var hour = this.hour;\n var day = this.day;\n\n second += mult * aDuration.seconds;\n minute += mult * aDuration.minutes;\n hour += mult * aDuration.hours;\n day += mult * aDuration.days;\n day += mult * 7 * aDuration.weeks;\n\n this.second = second;\n this.minute = minute;\n this.hour = hour;\n this.day = day;\n\n this._cachedUnixTime = null;\n },\n\n /**\n * Subtract the date details (_excluding_ timezone). Useful for finding\n * the relative difference between two time objects excluding their\n * timezone differences.\n *\n * @param {ICAL.Time} aDate The date to substract\n * @return {ICAL.Duration} The difference as a duration\n */\n subtractDate: function icaltime_subtract(aDate) {\n var unixTime = this.toUnixTime() + this.utcOffset();\n var other = aDate.toUnixTime() + aDate.utcOffset();\n return ICAL.Duration.fromSeconds(unixTime - other);\n },\n\n /**\n * Subtract the date details, taking timezones into account.\n *\n * @param {ICAL.Time} aDate The date to subtract\n * @return {ICAL.Duration} The difference in duration\n */\n subtractDateTz: function icaltime_subtract_abs(aDate) {\n var unixTime = this.toUnixTime();\n var other = aDate.toUnixTime();\n return ICAL.Duration.fromSeconds(unixTime - other);\n },\n\n /**\n * Compares the ICAL.Time instance with another one.\n *\n * @param {ICAL.Duration} aOther The instance to compare with\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compare: function icaltime_compare(other) {\n var a = this.toUnixTime();\n var b = other.toUnixTime();\n\n if (a > b) return 1;\n if (b > a) return -1;\n return 0;\n },\n\n /**\n * Compares only the date part of this instance with another one.\n *\n * @param {ICAL.Duration} other The instance to compare with\n * @param {ICAL.Timezone} tz The timezone to compare in\n * @return {Number} -1, 0 or 1 for less/equal/greater\n */\n compareDateOnlyTz: function icaltime_compareDateOnlyTz(other, tz) {\n function cmp(attr) {\n return ICAL.Time._cmp_attr(a, b, attr);\n }\n var a = this.convertToZone(tz);\n var b = other.convertToZone(tz);\n var rc = 0;\n\n if ((rc = cmp(\"year\")) != 0) return rc;\n if ((rc = cmp(\"month\")) != 0) return rc;\n if ((rc = cmp(\"day\")) != 0) return rc;\n\n return rc;\n },\n\n /**\n * Convert the instance into another timzone. The returned ICAL.Time\n * instance is always a copy.\n *\n * @param {ICAL.Timezone} zone The zone to convert to\n * @return {ICAL.Time} The copy, converted to the zone\n */\n convertToZone: function convertToZone(zone) {\n var copy = this.clone();\n var zone_equals = (this.zone.tzid == zone.tzid);\n\n if (!this.isDate && !zone_equals) {\n ICAL.Timezone.convert_time(copy, this.zone, zone);\n }\n\n copy.zone = zone;\n return copy;\n },\n\n /**\n * Calculates the UTC offset of the current date/time in the timezone it is\n * in.\n *\n * @return {Number} UTC offset in seconds\n */\n utcOffset: function utc_offset() {\n if (this.zone == ICAL.Timezone.localTimezone ||\n this.zone == ICAL.Timezone.utcTimezone) {\n return 0;\n } else {\n return this.zone.utcOffset(this);\n }\n },\n\n /**\n * Returns an RFC 5545 compliant ical representation of this object.\n *\n * @return {String} ical date/date-time\n */\n toICALString: function() {\n var string = this.toString();\n\n if (string.length > 10) {\n return ICAL.design.icalendar.value['date-time'].toICAL(string);\n } else {\n return ICAL.design.icalendar.value.date.toICAL(string);\n }\n },\n\n /**\n * The string representation of this date/time, in jCal form\n * (including : and - separators).\n * @return {String}\n */\n toString: function toString() {\n var result = this.year + '-' +\n ICAL.helpers.pad2(this.month) + '-' +\n ICAL.helpers.pad2(this.day);\n\n if (!this.isDate) {\n result += 'T' + ICAL.helpers.pad2(this.hour) + ':' +\n ICAL.helpers.pad2(this.minute) + ':' +\n ICAL.helpers.pad2(this.second);\n\n if (this.zone === ICAL.Timezone.utcTimezone) {\n result += 'Z';\n }\n }\n\n return result;\n },\n\n /**\n * Converts the current instance to a Javascript date\n * @return {Date}\n */\n toJSDate: function toJSDate() {\n if (this.zone == ICAL.Timezone.localTimezone) {\n if (this.isDate) {\n return new Date(this.year, this.month - 1, this.day);\n } else {\n return new Date(this.year, this.month - 1, this.day,\n this.hour, this.minute, this.second, 0);\n }\n } else {\n return new Date(this.toUnixTime() * 1000);\n }\n },\n\n _normalize: function icaltime_normalize() {\n var isDate = this._time.isDate;\n if (this._time.isDate) {\n this._time.hour = 0;\n this._time.minute = 0;\n this._time.second = 0;\n }\n this.adjust(0, 0, 0, 0);\n\n return this;\n },\n\n /**\n * Adjust the date/time by the given offset\n *\n * @param {Number} aExtraDays The extra amount of days\n * @param {Number} aExtraHours The extra amount of hours\n * @param {Number} aExtraMinutes The extra amount of minutes\n * @param {Number} aExtraSeconds The extra amount of seconds\n * @param {Number=} aTime The time to adjust, defaults to the\n * current instance.\n */\n adjust: function icaltime_adjust(aExtraDays, aExtraHours,\n aExtraMinutes, aExtraSeconds, aTime) {\n\n var minutesOverflow, hoursOverflow,\n daysOverflow = 0, yearsOverflow = 0;\n\n var second, minute, hour, day;\n var daysInMonth;\n\n var time = aTime || this._time;\n\n if (!time.isDate) {\n second = time.second + aExtraSeconds;\n time.second = second % 60;\n minutesOverflow = ICAL.helpers.trunc(second / 60);\n if (time.second < 0) {\n time.second += 60;\n minutesOverflow--;\n }\n\n minute = time.minute + aExtraMinutes + minutesOverflow;\n time.minute = minute % 60;\n hoursOverflow = ICAL.helpers.trunc(minute / 60);\n if (time.minute < 0) {\n time.minute += 60;\n hoursOverflow--;\n }\n\n hour = time.hour + aExtraHours + hoursOverflow;\n\n time.hour = hour % 24;\n daysOverflow = ICAL.helpers.trunc(hour / 24);\n if (time.hour < 0) {\n time.hour += 24;\n daysOverflow--;\n }\n }\n\n\n // Adjust month and year first, because we need to know what month the day\n // is in before adjusting it.\n if (time.month > 12) {\n yearsOverflow = ICAL.helpers.trunc((time.month - 1) / 12);\n } else if (time.month < 1) {\n yearsOverflow = ICAL.helpers.trunc(time.month / 12) - 1;\n }\n\n time.year += yearsOverflow;\n time.month -= 12 * yearsOverflow;\n\n // Now take care of the days (and adjust month if needed)\n day = time.day + aExtraDays + daysOverflow;\n\n if (day > 0) {\n for (;;) {\n daysInMonth = ICAL.Time.daysInMonth(time.month, time.year);\n if (day <= daysInMonth) {\n break;\n }\n\n time.month++;\n if (time.month > 12) {\n time.year++;\n time.month = 1;\n }\n\n day -= daysInMonth;\n }\n } else {\n while (day <= 0) {\n if (time.month == 1) {\n time.year--;\n time.month = 12;\n } else {\n time.month--;\n }\n\n day += ICAL.Time.daysInMonth(time.month, time.year);\n }\n }\n\n time.day = day;\n\n this._cachedUnixTime = null;\n return this;\n },\n\n /**\n * Sets up the current instance from unix time, the number of seconds since\n * January 1st, 1970.\n *\n * @param {Number} seconds The seconds to set up with\n */\n fromUnixTime: function fromUnixTime(seconds) {\n this.zone = ICAL.Timezone.utcTimezone;\n var epoch = ICAL.Time.epochTime.clone();\n epoch.adjust(0, 0, 0, seconds);\n\n this.year = epoch.year;\n this.month = epoch.month;\n this.day = epoch.day;\n this.hour = epoch.hour;\n this.minute = epoch.minute;\n this.second = Math.floor(epoch.second);\n\n this._cachedUnixTime = null;\n },\n\n /**\n * Converts the current instance to seconds since January 1st 1970.\n *\n * @return {Number} Seconds since 1970\n */\n toUnixTime: function toUnixTime() {\n if (this._cachedUnixTime !== null) {\n return this._cachedUnixTime;\n }\n var offset = this.utcOffset();\n\n // we use the offset trick to ensure\n // that we are getting the actual UTC time\n var ms = Date.UTC(\n this.year,\n this.month - 1,\n this.day,\n this.hour,\n this.minute,\n this.second - offset\n );\n\n // seconds\n this._cachedUnixTime = ms / 1000;\n return this._cachedUnixTime;\n },\n\n /**\n * Converts time to into Object which can be serialized then re-created\n * using the constructor.\n *\n * @example\n * // toJSON will automatically be called\n * var json = JSON.stringify(mytime);\n *\n * var deserialized = JSON.parse(json);\n *\n * var time = new ICAL.Time(deserialized);\n *\n * @return {Object}\n */\n toJSON: function() {\n var copy = [\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'isDate'\n ];\n\n var result = Object.create(null);\n\n var i = 0;\n var len = copy.length;\n var prop;\n\n for (; i < len; i++) {\n prop = copy[i];\n result[prop] = this[prop];\n }\n\n if (this.zone) {\n result.timezone = this.zone.tzid;\n }\n\n return result;\n }\n\n };\n\n (function setupNormalizeAttributes() {\n // This needs to run before any instances are created!\n function defineAttr(attr) {\n Object.defineProperty(ICAL.Time.prototype, attr, {\n get: function getTimeAttr() {\n if (this._pendingNormalization) {\n this._normalize();\n this._pendingNormalization = false;\n }\n\n return this._time[attr];\n },\n set: function setTimeAttr(val) {\n // Check if isDate will be set and if was not set to normalize date.\n // This avoids losing days when seconds, minutes and hours are zeroed\n // what normalize will do when time is a date.\n if (attr === \"isDate\" && val && !this._time.isDate) {\n this.adjust(0, 0, 0, 0);\n }\n this._cachedUnixTime = null;\n this._pendingNormalization = true;\n this._time[attr] = val;\n\n return val;\n }\n });\n\n }\n\n /* istanbul ignore else */\n if (\"defineProperty\" in Object) {\n defineAttr(\"year\");\n defineAttr(\"month\");\n defineAttr(\"day\");\n defineAttr(\"hour\");\n defineAttr(\"minute\");\n defineAttr(\"second\");\n defineAttr(\"isDate\");\n }\n })();\n\n /**\n * Returns the days in the given month\n *\n * @param {Number} month The month to check\n * @param {Number} year The year to check\n * @return {Number} The number of days in the month\n */\n ICAL.Time.daysInMonth = function icaltime_daysInMonth(month, year) {\n var _daysInMonth = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n var days = 30;\n\n if (month < 1 || month > 12) return days;\n\n days = _daysInMonth[month];\n\n if (month == 2) {\n days += ICAL.Time.isLeapYear(year);\n }\n\n return days;\n };\n\n /**\n * Checks if the year is a leap year\n *\n * @param {Number} year The year to check\n * @return {Boolean} True, if the year is a leap year\n */\n ICAL.Time.isLeapYear = function isLeapYear(year) {\n if (year <= 1752) {\n return ((year % 4) == 0);\n } else {\n return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));\n }\n };\n\n /**\n * Create a new ICAL.Time from the day of year and year. The date is returned\n * in floating timezone.\n *\n * @param {Number} aDayOfYear The day of year\n * @param {Number} aYear The year to create the instance in\n * @return {ICAL.Time} The created instance with the calculated date\n */\n ICAL.Time.fromDayOfYear = function icaltime_fromDayOfYear(aDayOfYear, aYear) {\n var year = aYear;\n var doy = aDayOfYear;\n var tt = new ICAL.Time();\n tt.auto_normalize = false;\n var is_leap = (ICAL.Time.isLeapYear(year) ? 1 : 0);\n\n if (doy < 1) {\n year--;\n is_leap = (ICAL.Time.isLeapYear(year) ? 1 : 0);\n doy += ICAL.Time.daysInYearPassedMonth[is_leap][12];\n return ICAL.Time.fromDayOfYear(doy, year);\n } else if (doy > ICAL.Time.daysInYearPassedMonth[is_leap][12]) {\n is_leap = (ICAL.Time.isLeapYear(year) ? 1 : 0);\n doy -= ICAL.Time.daysInYearPassedMonth[is_leap][12];\n year++;\n return ICAL.Time.fromDayOfYear(doy, year);\n }\n\n tt.year = year;\n tt.isDate = true;\n\n for (var month = 11; month >= 0; month--) {\n if (doy > ICAL.Time.daysInYearPassedMonth[is_leap][month]) {\n tt.month = month + 1;\n tt.day = doy - ICAL.Time.daysInYearPassedMonth[is_leap][month];\n break;\n }\n }\n\n tt.auto_normalize = true;\n return tt;\n };\n\n /**\n * Returns a new ICAL.Time instance from a date string, e.g 2015-01-02.\n *\n * @deprecated Use {@link ICAL.Time.fromDateString} instead\n * @param {String} str The string to create from\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromStringv2 = function fromString(str) {\n return new ICAL.Time({\n year: parseInt(str.substr(0, 4), 10),\n month: parseInt(str.substr(5, 2), 10),\n day: parseInt(str.substr(8, 2), 10),\n isDate: true\n });\n };\n\n /**\n * Returns a new ICAL.Time instance from a date string, e.g 2015-01-02.\n *\n * @param {String} aValue The string to create from\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromDateString = function(aValue) {\n // Dates should have no timezone.\n // Google likes to sometimes specify Z on dates\n // we specifically ignore that to avoid issues.\n\n // YYYY-MM-DD\n // 2012-10-10\n return new ICAL.Time({\n year: ICAL.helpers.strictParseInt(aValue.substr(0, 4)),\n month: ICAL.helpers.strictParseInt(aValue.substr(5, 2)),\n day: ICAL.helpers.strictParseInt(aValue.substr(8, 2)),\n isDate: true\n });\n };\n\n /**\n * Returns a new ICAL.Time instance from a date-time string, e.g\n * 2015-01-02T03:04:05. If a property is specified, the timezone is set up\n * from the property's TZID parameter.\n *\n * @param {String} aValue The string to create from\n * @param {ICAL.Property=} prop The property the date belongs to\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromDateTimeString = function(aValue, prop) {\n if (aValue.length < 19) {\n throw new Error(\n 'invalid date-time value: \"' + aValue + '\"'\n );\n }\n\n var zone;\n\n if (aValue[19] && aValue[19] === 'Z') {\n zone = 'Z';\n } else if (prop) {\n zone = prop.getParameter('tzid');\n }\n\n // 2012-10-10T10:10:10(Z)?\n var time = new ICAL.Time({\n year: ICAL.helpers.strictParseInt(aValue.substr(0, 4)),\n month: ICAL.helpers.strictParseInt(aValue.substr(5, 2)),\n day: ICAL.helpers.strictParseInt(aValue.substr(8, 2)),\n hour: ICAL.helpers.strictParseInt(aValue.substr(11, 2)),\n minute: ICAL.helpers.strictParseInt(aValue.substr(14, 2)),\n second: ICAL.helpers.strictParseInt(aValue.substr(17, 2)),\n timezone: zone\n });\n\n return time;\n };\n\n /**\n * Returns a new ICAL.Time instance from a date or date-time string,\n *\n * @param {String} aValue The string to create from\n * @param {ICAL.Property=} prop The property the date belongs to\n * @return {ICAL.Time} The date/time instance\n */\n ICAL.Time.fromString = function fromString(aValue, aProperty) {\n if (aValue.length > 10) {\n return ICAL.Time.fromDateTimeString(aValue, aProperty);\n } else {\n return ICAL.Time.fromDateString(aValue);\n }\n };\n\n /**\n * Creates a new ICAL.Time instance from the given Javascript Date.\n *\n * @param {?Date} aDate The Javascript Date to read, or null to reset\n * @param {Boolean} useUTC If true, the UTC values of the date will be used\n */\n ICAL.Time.fromJSDate = function fromJSDate(aDate, useUTC) {\n var tt = new ICAL.Time();\n return tt.fromJSDate(aDate, useUTC);\n };\n\n /**\n * Creates a new ICAL.Time instance from the the passed data object.\n *\n * @param {Object} aData Time initialization\n * @param {Number=} aData.year The year for this date\n * @param {Number=} aData.month The month for this date\n * @param {Number=} aData.day The day for this date\n * @param {Number=} aData.hour The hour for this date\n * @param {Number=} aData.minute The minute for this date\n * @param {Number=} aData.second The second for this date\n * @param {Boolean=} aData.isDate If true, the instance represents a date\n * (as opposed to a date-time)\n * @param {ICAL.Timezone=} aZone Timezone this position occurs in\n */\n ICAL.Time.fromData = function fromData(aData, aZone) {\n var t = new ICAL.Time();\n return t.fromData(aData, aZone);\n };\n\n /**\n * Creates a new ICAL.Time instance from the current moment.\n * @return {ICAL.Time}\n */\n ICAL.Time.now = function icaltime_now() {\n return ICAL.Time.fromJSDate(new Date(), false);\n };\n\n /**\n * Returns the date on which ISO week number 1 starts.\n *\n * @see ICAL.Time#weekNumber\n * @param {Number} aYear The year to search in\n * @param {ICAL.Time.weekDay=} aWeekStart The week start weekday, used for calculation.\n * @return {ICAL.Time} The date on which week number 1 starts\n */\n ICAL.Time.weekOneStarts = function weekOneStarts(aYear, aWeekStart) {\n var t = ICAL.Time.fromData({\n year: aYear,\n month: 1,\n day: 1,\n isDate: true\n });\n\n var dow = t.dayOfWeek();\n var wkst = aWeekStart || ICAL.Time.DEFAULT_WEEK_START;\n if (dow > ICAL.Time.THURSDAY) {\n t.day += 7;\n }\n if (wkst > ICAL.Time.THURSDAY) {\n t.day -= 7;\n }\n\n t.day -= dow - wkst;\n\n return t;\n };\n\n /**\n * Get the dominical letter for the given year. Letters range from A - G for\n * common years, and AG to GF for leap years.\n *\n * @param {Number} yr The year to retrieve the letter for\n * @return {String} The dominical letter.\n */\n ICAL.Time.getDominicalLetter = function(yr) {\n var LTRS = \"GFEDCBA\";\n var dom = (yr + (yr / 4 | 0) + (yr / 400 | 0) - (yr / 100 | 0) - 1) % 7;\n var isLeap = ICAL.Time.isLeapYear(yr);\n if (isLeap) {\n return LTRS[(dom + 6) % 7] + LTRS[dom];\n } else {\n return LTRS[dom];\n }\n };\n\n /**\n * January 1st, 1970 as an ICAL.Time.\n * @type {ICAL.Time}\n * @constant\n * @instance\n */\n ICAL.Time.epochTime = ICAL.Time.fromData({\n year: 1970,\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n isDate: false,\n timezone: \"Z\"\n });\n\n ICAL.Time._cmp_attr = function _cmp_attr(a, b, attr) {\n if (a[attr] > b[attr]) return 1;\n if (a[attr] < b[attr]) return -1;\n return 0;\n };\n\n /**\n * The days that have passed in the year after a given month. The array has\n * two members, one being an array of passed days for non-leap years, the\n * other analog for leap years.\n * @example\n * var isLeapYear = ICAL.Time.isLeapYear(year);\n * var passedDays = ICAL.Time.daysInYearPassedMonth[isLeapYear][month];\n * @type {Array.<Array.<Number>>}\n */\n ICAL.Time.daysInYearPassedMonth = [\n [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365],\n [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]\n ];\n\n /**\n * The weekday, 1 = SUNDAY, 7 = SATURDAY. Access via\n * ICAL.Time.MONDAY, ICAL.Time.TUESDAY, ...\n *\n * @typedef {Number} weekDay\n * @memberof ICAL.Time\n */\n\n ICAL.Time.SUNDAY = 1;\n ICAL.Time.MONDAY = 2;\n ICAL.Time.TUESDAY = 3;\n ICAL.Time.WEDNESDAY = 4;\n ICAL.Time.THURSDAY = 5;\n ICAL.Time.FRIDAY = 6;\n ICAL.Time.SATURDAY = 7;\n\n /**\n * The default weekday for the WKST part.\n * @constant\n * @default ICAL.Time.MONDAY\n */\n ICAL.Time.DEFAULT_WEEK_START = ICAL.Time.MONDAY;\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2015 */\n\n\n\n(function() {\n\n /**\n * Describes a vCard time, which has slight differences to the ICAL.Time.\n * Properties can be null if not specified, for example for dates with\n * reduced accuracy or truncation.\n *\n * Note that currently not all methods are correctly re-implemented for\n * VCardTime. For example, comparison will have undefined results when some\n * members are null.\n *\n * Also, normalization is not yet implemented for this class!\n *\n * @alias ICAL.VCardTime\n * @class\n * @extends {ICAL.Time}\n * @param {Object} data The data for the time instance\n * @param {Number=} data.year The year for this date\n * @param {Number=} data.month The month for this date\n * @param {Number=} data.day The day for this date\n * @param {Number=} data.hour The hour for this date\n * @param {Number=} data.minute The minute for this date\n * @param {Number=} data.second The second for this date\n * @param {ICAL.Timezone|ICAL.UtcOffset} zone The timezone to use\n * @param {String} icaltype The type for this date/time object\n */\n ICAL.VCardTime = function(data, zone, icaltype) {\n this.wrappedJSObject = this;\n var time = this._time = Object.create(null);\n\n time.year = null;\n time.month = null;\n time.day = null;\n time.hour = null;\n time.minute = null;\n time.second = null;\n\n this.icaltype = icaltype || \"date-and-or-time\";\n\n this.fromData(data, zone);\n };\n ICAL.helpers.inherits(ICAL.Time, ICAL.VCardTime, /** @lends ICAL.VCardTime */ {\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"vcardtime\"\n */\n icalclass: \"vcardtime\",\n\n /**\n * The type name, to be used in the jCal object.\n * @type {String}\n * @default \"date-and-or-time\"\n */\n icaltype: \"date-and-or-time\",\n\n /**\n * The timezone. This can either be floating, UTC, or an instance of\n * ICAL.UtcOffset.\n * @type {ICAL.Timezone|ICAL.UtcOFfset}\n */\n zone: null,\n\n /**\n * Returns a clone of the vcard date/time object.\n *\n * @return {ICAL.VCardTime} The cloned object\n */\n clone: function() {\n return new ICAL.VCardTime(this._time, this.zone, this.icaltype);\n },\n\n _normalize: function() {\n return this;\n },\n\n /**\n * @inheritdoc\n */\n utcOffset: function() {\n if (this.zone instanceof ICAL.UtcOffset) {\n return this.zone.toSeconds();\n } else {\n return ICAL.Time.prototype.utcOffset.apply(this, arguments);\n }\n },\n\n /**\n * Returns an RFC 6350 compliant representation of this object.\n *\n * @return {String} vcard date/time string\n */\n toICALString: function() {\n return ICAL.design.vcard.value[this.icaltype].toICAL(this.toString());\n },\n\n /**\n * The string representation of this date/time, in jCard form\n * (including : and - separators).\n * @return {String}\n */\n toString: function toString() {\n var p2 = ICAL.helpers.pad2;\n var y = this.year, m = this.month, d = this.day;\n var h = this.hour, mm = this.minute, s = this.second;\n\n var hasYear = y !== null, hasMonth = m !== null, hasDay = d !== null;\n var hasHour = h !== null, hasMinute = mm !== null, hasSecond = s !== null;\n\n var datepart = (hasYear ? p2(y) + (hasMonth || hasDay ? '-' : '') : (hasMonth || hasDay ? '--' : '')) +\n (hasMonth ? p2(m) : '') +\n (hasDay ? '-' + p2(d) : '');\n var timepart = (hasHour ? p2(h) : '-') + (hasHour && hasMinute ? ':' : '') +\n (hasMinute ? p2(mm) : '') + (!hasHour && !hasMinute ? '-' : '') +\n (hasMinute && hasSecond ? ':' : '') +\n (hasSecond ? p2(s) : '');\n\n var zone;\n if (this.zone === ICAL.Timezone.utcTimezone) {\n zone = 'Z';\n } else if (this.zone instanceof ICAL.UtcOffset) {\n zone = this.zone.toString();\n } else if (this.zone === ICAL.Timezone.localTimezone) {\n zone = '';\n } else if (this.zone instanceof ICAL.Timezone) {\n var offset = ICAL.UtcOffset.fromSeconds(this.zone.utcOffset(this));\n zone = offset.toString();\n } else {\n zone = '';\n }\n\n switch (this.icaltype) {\n case \"time\":\n return timepart + zone;\n case \"date-and-or-time\":\n case \"date-time\":\n return datepart + (timepart == '--' ? '' : 'T' + timepart + zone);\n case \"date\":\n return datepart;\n }\n return null;\n }\n });\n\n /**\n * Returns a new ICAL.VCardTime instance from a date and/or time string.\n *\n * @param {String} aValue The string to create from\n * @param {String} aIcalType The type for this instance, e.g. date-and-or-time\n * @return {ICAL.VCardTime} The date/time instance\n */\n ICAL.VCardTime.fromDateAndOrTimeString = function(aValue, aIcalType) {\n function part(v, s, e) {\n return v ? ICAL.helpers.strictParseInt(v.substr(s, e)) : null;\n }\n var parts = aValue.split('T');\n var dt = parts[0], tmz = parts[1];\n var splitzone = tmz ? ICAL.design.vcard.value.time._splitZone(tmz) : [];\n var zone = splitzone[0], tm = splitzone[1];\n\n var stoi = ICAL.helpers.strictParseInt;\n var dtlen = dt ? dt.length : 0;\n var tmlen = tm ? tm.length : 0;\n\n var hasDashDate = dt && dt[0] == '-' && dt[1] == '-';\n var hasDashTime = tm && tm[0] == '-';\n\n var o = {\n year: hasDashDate ? null : part(dt, 0, 4),\n month: hasDashDate && (dtlen == 4 || dtlen == 7) ? part(dt, 2, 2) : dtlen == 7 ? part(dt, 5, 2) : dtlen == 10 ? part(dt, 5, 2) : null,\n day: dtlen == 5 ? part(dt, 3, 2) : dtlen == 7 && hasDashDate ? part(dt, 5, 2) : dtlen == 10 ? part(dt, 8, 2) : null,\n\n hour: hasDashTime ? null : part(tm, 0, 2),\n minute: hasDashTime && tmlen == 3 ? part(tm, 1, 2) : tmlen > 4 ? hasDashTime ? part(tm, 1, 2) : part(tm, 3, 2) : null,\n second: tmlen == 4 ? part(tm, 2, 2) : tmlen == 6 ? part(tm, 4, 2) : tmlen == 8 ? part(tm, 6, 2) : null\n };\n\n if (zone == 'Z') {\n zone = ICAL.Timezone.utcTimezone;\n } else if (zone && zone[3] == ':') {\n zone = ICAL.UtcOffset.fromString(zone);\n } else {\n zone = null;\n }\n\n return new ICAL.VCardTime(o, zone, aIcalType);\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n\n(function() {\n var DOW_MAP = {\n SU: ICAL.Time.SUNDAY,\n MO: ICAL.Time.MONDAY,\n TU: ICAL.Time.TUESDAY,\n WE: ICAL.Time.WEDNESDAY,\n TH: ICAL.Time.THURSDAY,\n FR: ICAL.Time.FRIDAY,\n SA: ICAL.Time.SATURDAY\n };\n\n var REVERSE_DOW_MAP = {};\n for (var key in DOW_MAP) {\n /* istanbul ignore else */\n if (DOW_MAP.hasOwnProperty(key)) {\n REVERSE_DOW_MAP[DOW_MAP[key]] = key;\n }\n }\n\n var COPY_PARTS = [\"BYSECOND\", \"BYMINUTE\", \"BYHOUR\", \"BYDAY\",\n \"BYMONTHDAY\", \"BYYEARDAY\", \"BYWEEKNO\",\n \"BYMONTH\", \"BYSETPOS\"];\n\n /**\n * @classdesc\n * This class represents the \"recur\" value type, with various calculation\n * and manipulation methods.\n *\n * @class\n * @alias ICAL.Recur\n * @param {Object} data An object with members of the recurrence\n * @param {ICAL.Recur.frequencyValues=} data.freq The frequency value\n * @param {Number=} data.interval The INTERVAL value\n * @param {ICAL.Time.weekDay=} data.wkst The week start value\n * @param {ICAL.Time=} data.until The end of the recurrence set\n * @param {Number=} data.count The number of occurrences\n * @param {Array.<Number>=} data.bysecond The seconds for the BYSECOND part\n * @param {Array.<Number>=} data.byminute The minutes for the BYMINUTE part\n * @param {Array.<Number>=} data.byhour The hours for the BYHOUR part\n * @param {Array.<String>=} data.byday The BYDAY values\n * @param {Array.<Number>=} data.bymonthday The days for the BYMONTHDAY part\n * @param {Array.<Number>=} data.byyearday The days for the BYYEARDAY part\n * @param {Array.<Number>=} data.byweekno The weeks for the BYWEEKNO part\n * @param {Array.<Number>=} data.bymonth The month for the BYMONTH part\n * @param {Array.<Number>=} data.bysetpos The positionals for the BYSETPOS part\n */\n ICAL.Recur = function icalrecur(data) {\n this.wrappedJSObject = this;\n this.parts = {};\n\n if (data && typeof(data) === 'object') {\n this.fromData(data);\n }\n };\n\n ICAL.Recur.prototype = {\n /**\n * An object holding the BY-parts of the recurrence rule\n * @type {Object}\n */\n parts: null,\n\n /**\n * The interval value for the recurrence rule.\n * @type {Number}\n */\n interval: 1,\n\n /**\n * The week start day\n *\n * @type {ICAL.Time.weekDay}\n * @default ICAL.Time.MONDAY\n */\n wkst: ICAL.Time.MONDAY,\n\n /**\n * The end of the recurrence\n * @type {?ICAL.Time}\n */\n until: null,\n\n /**\n * The maximum number of occurrences\n * @type {?Number}\n */\n count: null,\n\n /**\n * The frequency value.\n * @type {ICAL.Recur.frequencyValues}\n */\n freq: null,\n\n /**\n * The class identifier.\n * @constant\n * @type {String}\n * @default \"icalrecur\"\n */\n icalclass: \"icalrecur\",\n\n /**\n * The type name, to be used in the jCal object.\n * @constant\n * @type {String}\n * @default \"recur\"\n */\n icaltype: \"recur\",\n\n /**\n * Create a new iterator for this recurrence rule. The passed start date\n * must be the start date of the event, not the start of the range to\n * search in.\n *\n * @example\n * var recur = comp.getFirstPropertyValue('rrule');\n * var dtstart = comp.getFirstPropertyValue('dtstart');\n * var iter = recur.iterator(dtstart);\n * for (var next = iter.next(); next; next = iter.next()) {\n * if (next.compare(rangeStart) < 0) {\n * continue;\n * }\n * console.log(next.toString());\n * }\n *\n * @param {ICAL.Time} aStart The item's start date\n * @return {ICAL.RecurIterator} The recurrence iterator\n */\n iterator: function(aStart) {\n return new ICAL.RecurIterator({\n rule: this,\n dtstart: aStart\n });\n },\n\n /**\n * Returns a clone of the recurrence object.\n *\n * @return {ICAL.Recur} The cloned object\n */\n clone: function clone() {\n return new ICAL.Recur(this.toJSON());\n },\n\n /**\n * Checks if the current rule is finite, i.e. has a count or until part.\n *\n * @return {Boolean} True, if the rule is finite\n */\n isFinite: function isfinite() {\n return !!(this.count || this.until);\n },\n\n /**\n * Checks if the current rule has a count part, and not limited by an until\n * part.\n *\n * @return {Boolean} True, if the rule is by count\n */\n isByCount: function isbycount() {\n return !!(this.count && !this.until);\n },\n\n /**\n * Adds a component (part) to the recurrence rule. This is not a component\n * in the sense of {@link ICAL.Component}, but a part of the recurrence\n * rule, i.e. BYMONTH.\n *\n * @param {String} aType The name of the component part\n * @param {Array|String} aValue The component value\n */\n addComponent: function addPart(aType, aValue) {\n var ucname = aType.toUpperCase();\n if (ucname in this.parts) {\n this.parts[ucname].push(aValue);\n } else {\n this.parts[ucname] = [aValue];\n }\n },\n\n /**\n * Sets the component value for the given by-part.\n *\n * @param {String} aType The component part name\n * @param {Array} aValues The component values\n */\n setComponent: function setComponent(aType, aValues) {\n this.parts[aType.toUpperCase()] = aValues.slice();\n },\n\n /**\n * Gets (a copy) of the requested component value.\n *\n * @param {String} aType The component part name\n * @return {Array} The component part value\n */\n getComponent: function getComponent(aType) {\n var ucname = aType.toUpperCase();\n return (ucname in this.parts ? this.parts[ucname].slice() : []);\n },\n\n /**\n * Retrieves the next occurrence after the given recurrence id. See the\n * guide on {@tutorial terminology} for more details.\n *\n * NOTE: Currently, this method iterates all occurrences from the start\n * date. It should not be called in a loop for performance reasons. If you\n * would like to get more than one occurrence, you can iterate the\n * occurrences manually, see the example on the\n * {@link ICAL.Recur#iterator iterator} method.\n *\n * @param {ICAL.Time} aStartTime The start of the event series\n * @param {ICAL.Time} aRecurrenceId The date of the last occurrence\n * @return {ICAL.Time} The next occurrence after\n */\n getNextOccurrence: function getNextOccurrence(aStartTime, aRecurrenceId) {\n var iter = this.iterator(aStartTime);\n var next, cdt;\n\n do {\n next = iter.next();\n } while (next && next.compare(aRecurrenceId) <= 0);\n\n if (next && aRecurrenceId.zone) {\n next.zone = aRecurrenceId.zone;\n }\n\n return next;\n },\n\n /**\n * Sets up the current instance using members from the passed data object.\n *\n * @param {Object} data An object with members of the recurrence\n * @param {ICAL.Recur.frequencyValues=} data.freq The frequency value\n * @param {Number=} data.interval The INTERVAL value\n * @param {ICAL.Time.weekDay=} data.wkst The week start value\n * @param {ICAL.Time=} data.until The end of the recurrence set\n * @param {Number=} data.count The number of occurrences\n * @param {Array.<Number>=} data.bysecond The seconds for the BYSECOND part\n * @param {Array.<Number>=} data.byminute The minutes for the BYMINUTE part\n * @param {Array.<Number>=} data.byhour The hours for the BYHOUR part\n * @param {Array.<String>=} data.byday The BYDAY values\n * @param {Array.<Number>=} data.bymonthday The days for the BYMONTHDAY part\n * @param {Array.<Number>=} data.byyearday The days for the BYYEARDAY part\n * @param {Array.<Number>=} data.byweekno The weeks for the BYWEEKNO part\n * @param {Array.<Number>=} data.bymonth The month for the BYMONTH part\n * @param {Array.<Number>=} data.bysetpos The positionals for the BYSETPOS part\n */\n fromData: function(data) {\n for (var key in data) {\n var uckey = key.toUpperCase();\n\n if (uckey in partDesign) {\n if (Array.isArray(data[key])) {\n this.parts[uckey] = data[key];\n } else {\n this.parts[uckey] = [data[key]];\n }\n } else {\n this[key] = data[key];\n }\n }\n\n if (this.interval && typeof this.interval != \"number\") {\n optionDesign.INTERVAL(this.interval, this);\n }\n\n if (this.wkst && typeof this.wkst != \"number\") {\n this.wkst = ICAL.Recur.icalDayToNumericDay(this.wkst);\n }\n\n if (this.until && !(this.until instanceof ICAL.Time)) {\n this.until = ICAL.Time.fromString(this.until);\n }\n },\n\n /**\n * The jCal representation of this recurrence type.\n * @return {Object}\n */\n toJSON: function() {\n var res = Object.create(null);\n res.freq = this.freq;\n\n if (this.count) {\n res.count = this.count;\n }\n\n if (this.interval > 1) {\n res.interval = this.interval;\n }\n\n for (var k in this.parts) {\n /* istanbul ignore if */\n if (!this.parts.hasOwnProperty(k)) {\n continue;\n }\n var kparts = this.parts[k];\n if (Array.isArray(kparts) && kparts.length == 1) {\n res[k.toLowerCase()] = kparts[0];\n } else {\n res[k.toLowerCase()] = ICAL.helpers.clone(this.parts[k]);\n }\n }\n\n if (this.until) {\n res.until = this.until.toString();\n }\n if ('wkst' in this && this.wkst !== ICAL.Time.DEFAULT_WEEK_START) {\n res.wkst = ICAL.Recur.numericDayToIcalDay(this.wkst);\n }\n return res;\n },\n\n /**\n * The string representation of this recurrence rule.\n * @return {String}\n */\n toString: function icalrecur_toString() {\n // TODO retain order\n var str = \"FREQ=\" + this.freq;\n if (this.count) {\n str += \";COUNT=\" + this.count;\n }\n if (this.interval > 1) {\n str += \";INTERVAL=\" + this.interval;\n }\n for (var k in this.parts) {\n /* istanbul ignore else */\n if (this.parts.hasOwnProperty(k)) {\n str += \";\" + k + \"=\" + this.parts[k];\n }\n }\n if (this.until) {\n str += ';UNTIL=' + this.until.toICALString();\n }\n if ('wkst' in this && this.wkst !== ICAL.Time.DEFAULT_WEEK_START) {\n str += ';WKST=' + ICAL.Recur.numericDayToIcalDay(this.wkst);\n }\n return str;\n }\n };\n\n function parseNumericValue(type, min, max, value) {\n var result = value;\n\n if (value[0] === '+') {\n result = value.substr(1);\n }\n\n result = ICAL.helpers.strictParseInt(result);\n\n if (min !== undefined && value < min) {\n throw new Error(\n type + ': invalid value \"' + value + '\" must be > ' + min\n );\n }\n\n if (max !== undefined && value > max) {\n throw new Error(\n type + ': invalid value \"' + value + '\" must be < ' + min\n );\n }\n\n return result;\n }\n\n /**\n * Convert an ical representation of a day (SU, MO, etc..)\n * into a numeric value of that day.\n *\n * @param {String} string The iCalendar day name\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {Number} Numeric value of given day\n */\n ICAL.Recur.icalDayToNumericDay = function toNumericDay(string, aWeekStart) {\n //XXX: this is here so we can deal\n // with possibly invalid string values.\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n return ((DOW_MAP[string] - firstDow + 7) % 7) + 1;\n };\n\n /**\n * Convert a numeric day value into its ical representation (SU, MO, etc..)\n *\n * @param {Number} num Numeric value of given day\n * @param {ICAL.Time.weekDay=} aWeekStart\n * The week start weekday, defaults to SUNDAY\n * @return {String} The ICAL day value, e.g SU,MO,...\n */\n ICAL.Recur.numericDayToIcalDay = function toIcalDay(num, aWeekStart) {\n //XXX: this is here so we can deal with possibly invalid number values.\n // Also, this allows consistent mapping between day numbers and day\n // names for external users.\n var firstDow = aWeekStart || ICAL.Time.SUNDAY;\n var dow = (num + firstDow - ICAL.Time.SUNDAY);\n if (dow > 7) {\n dow -= 7;\n }\n return REVERSE_DOW_MAP[dow];\n };\n\n var VALID_DAY_NAMES = /^(SU|MO|TU|WE|TH|FR|SA)$/;\n var VALID_BYDAY_PART = /^([+-])?(5[0-3]|[1-4][0-9]|[1-9])?(SU|MO|TU|WE|TH|FR|SA)$/;\n\n /**\n * Possible frequency values for the FREQ part\n * (YEARLY, MONTHLY, WEEKLY, DAILY, HOURLY, MINUTELY, SECONDLY)\n *\n * @typedef {String} frequencyValues\n * @memberof ICAL.Recur\n */\n\n var ALLOWED_FREQ = ['SECONDLY', 'MINUTELY', 'HOURLY',\n 'DAILY', 'WEEKLY', 'MONTHLY', 'YEARLY'];\n\n var optionDesign = {\n FREQ: function(value, dict, fmtIcal) {\n // yes this is actually equal or faster then regex.\n // upside here is we can enumerate the valid values.\n if (ALLOWED_FREQ.indexOf(value) !== -1) {\n dict.freq = value;\n } else {\n throw new Error(\n 'invalid frequency \"' + value + '\" expected: \"' +\n ALLOWED_FREQ.join(', ') + '\"'\n );\n }\n },\n\n COUNT: function(value, dict, fmtIcal) {\n dict.count = ICAL.helpers.strictParseInt(value);\n },\n\n INTERVAL: function(value, dict, fmtIcal) {\n dict.interval = ICAL.helpers.strictParseInt(value);\n if (dict.interval < 1) {\n // 0 or negative values are not allowed, some engines seem to generate\n // it though. Assume 1 instead.\n dict.interval = 1;\n }\n },\n\n UNTIL: function(value, dict, fmtIcal) {\n if (value.length > 10) {\n dict.until = ICAL.design.icalendar.value['date-time'].fromICAL(value);\n } else {\n dict.until = ICAL.design.icalendar.value.date.fromICAL(value);\n }\n if (!fmtIcal) {\n dict.until = ICAL.Time.fromString(dict.until);\n }\n },\n\n WKST: function(value, dict, fmtIcal) {\n if (VALID_DAY_NAMES.test(value)) {\n dict.wkst = ICAL.Recur.icalDayToNumericDay(value);\n } else {\n throw new Error('invalid WKST value \"' + value + '\"');\n }\n }\n };\n\n var partDesign = {\n BYSECOND: parseNumericValue.bind(this, 'BYSECOND', 0, 60),\n BYMINUTE: parseNumericValue.bind(this, 'BYMINUTE', 0, 59),\n BYHOUR: parseNumericValue.bind(this, 'BYHOUR', 0, 23),\n BYDAY: function(value) {\n if (VALID_BYDAY_PART.test(value)) {\n return value;\n } else {\n throw new Error('invalid BYDAY value \"' + value + '\"');\n }\n },\n BYMONTHDAY: parseNumericValue.bind(this, 'BYMONTHDAY', -31, 31),\n BYYEARDAY: parseNumericValue.bind(this, 'BYYEARDAY', -366, 366),\n BYWEEKNO: parseNumericValue.bind(this, 'BYWEEKNO', -53, 53),\n BYMONTH: parseNumericValue.bind(this, 'BYMONTH', 0, 12),\n BYSETPOS: parseNumericValue.bind(this, 'BYSETPOS', -366, 366)\n };\n\n\n /**\n * Creates a new {@link ICAL.Recur} instance from the passed string.\n *\n * @param {String} string The string to parse\n * @return {ICAL.Recur} The created recurrence instance\n */\n ICAL.Recur.fromString = function(string) {\n var data = ICAL.Recur._stringToData(string, false);\n return new ICAL.Recur(data);\n };\n\n /**\n * Creates a new {@link ICAL.Recur} instance using members from the passed\n * data object.\n *\n * @param {Object} aData An object with members of the recurrence\n * @param {ICAL.Recur.frequencyValues=} aData.freq The frequency value\n * @param {Number=} aData.interval The INTERVAL value\n * @param {ICAL.Time.weekDay=} aData.wkst The week start value\n * @param {ICAL.Time=} aData.until The end of the recurrence set\n * @param {Number=} aData.count The number of occurrences\n * @param {Array.<Number>=} aData.bysecond The seconds for the BYSECOND part\n * @param {Array.<Number>=} aData.byminute The minutes for the BYMINUTE part\n * @param {Array.<Number>=} aData.byhour The hours for the BYHOUR part\n * @param {Array.<String>=} aData.byday The BYDAY values\n * @param {Array.<Number>=} aData.bymonthday The days for the BYMONTHDAY part\n * @param {Array.<Number>=} aData.byyearday The days for the BYYEARDAY part\n * @param {Array.<Number>=} aData.byweekno The weeks for the BYWEEKNO part\n * @param {Array.<Number>=} aData.bymonth The month for the BYMONTH part\n * @param {Array.<Number>=} aData.bysetpos The positionals for the BYSETPOS part\n */\n ICAL.Recur.fromData = function(aData) {\n return new ICAL.Recur(aData);\n };\n\n /**\n * Converts a recurrence string to a data object, suitable for the fromData\n * method.\n *\n * @param {String} string The string to parse\n * @param {Boolean} fmtIcal If true, the string is considered to be an\n * iCalendar string\n * @return {ICAL.Recur} The recurrence instance\n */\n ICAL.Recur._stringToData = function(string, fmtIcal) {\n var dict = Object.create(null);\n\n // split is slower in FF but fast enough.\n // v8 however this is faster then manual split?\n var values = string.split(';');\n var len = values.length;\n\n for (var i = 0; i < len; i++) {\n var parts = values[i].split('=');\n var ucname = parts[0].toUpperCase();\n var lcname = parts[0].toLowerCase();\n var name = (fmtIcal ? lcname : ucname);\n var value = parts[1];\n\n if (ucname in partDesign) {\n var partArr = value.split(',');\n var partArrIdx = 0;\n var partArrLen = partArr.length;\n\n for (; partArrIdx < partArrLen; partArrIdx++) {\n partArr[partArrIdx] = partDesign[ucname](partArr[partArrIdx]);\n }\n dict[name] = (partArr.length == 1 ? partArr[0] : partArr);\n } else if (ucname in optionDesign) {\n optionDesign[ucname](value, dict, fmtIcal);\n } else {\n // Don't swallow unknown values. Just set them as they are.\n dict[lcname] = value;\n }\n }\n\n return dict;\n };\n})();\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.RecurIterator = (function() {\n\n /**\n * @classdesc\n * An iterator for a single recurrence rule. This class usually doesn't have\n * to be instanciated directly, the convenience method\n * {@link ICAL.Recur#iterator} can be used.\n *\n * @description\n * The options object may contain additional members when resuming iteration from a previous run\n *\n * @description\n * The options object may contain additional members when resuming iteration\n * from a previous run.\n *\n * @class\n * @alias ICAL.RecurIterator\n * @param {Object} options The iterator options\n * @param {ICAL.Recur} options.rule The rule to iterate.\n * @param {ICAL.Time} options.dtstart The start date of the event.\n * @param {Boolean=} options.initialized When true, assume that options are\n * from a previously constructed iterator. Initialization will not be\n * repeated.\n */\n function icalrecur_iterator(options) {\n this.fromData(options);\n }\n\n icalrecur_iterator.prototype = {\n\n /**\n * True when iteration is finished.\n * @type {Boolean}\n */\n completed: false,\n\n /**\n * The rule that is being iterated\n * @type {ICAL.Recur}\n */\n rule: null,\n\n /**\n * The start date of the event being iterated.\n * @type {ICAL.Time}\n */\n dtstart: null,\n\n /**\n * The last occurrence that was returned from the\n * {@link ICAL.RecurIterator#next} method.\n * @type {ICAL.Time}\n */\n last: null,\n\n /**\n * The sequence number from the occurrence\n * @type {Number}\n */\n occurrence_number: 0,\n\n /**\n * The indices used for the {@link ICAL.RecurIterator#by_data} object.\n * @type {Object}\n * @private\n */\n by_indices: null,\n\n /**\n * If true, the iterator has already been initialized\n * @type {Boolean}\n * @private\n */\n initialized: false,\n\n /**\n * The initializd by-data.\n * @type {Object}\n * @private\n */\n by_data: null,\n\n /**\n * The expanded yeardays\n * @type {Array}\n * @private\n */\n days: null,\n\n /**\n * The index in the {@link ICAL.RecurIterator#days} array.\n * @type {Number}\n * @private\n */\n days_index: 0,\n\n /**\n * Initialize the recurrence iterator from the passed data object. This\n * method is usually not called directly, you can initialize the iterator\n * through the constructor.\n *\n * @param {Object} options The iterator options\n * @param {ICAL.Recur} options.rule The rule to iterate.\n * @param {ICAL.Time} options.dtstart The start date of the event.\n * @param {Boolean=} options.initialized When true, assume that options are\n * from a previously constructed iterator. Initialization will not be\n * repeated.\n */\n fromData: function(options) {\n this.rule = ICAL.helpers.formatClassType(options.rule, ICAL.Recur);\n\n if (!this.rule) {\n throw new Error('iterator requires a (ICAL.Recur) rule');\n }\n\n this.dtstart = ICAL.helpers.formatClassType(options.dtstart, ICAL.Time);\n\n if (!this.dtstart) {\n throw new Error('iterator requires a (ICAL.Time) dtstart');\n }\n\n if (options.by_data) {\n this.by_data = options.by_data;\n } else {\n this.by_data = ICAL.helpers.clone(this.rule.parts, true);\n }\n\n if (options.occurrence_number)\n this.occurrence_number = options.occurrence_number;\n\n this.days = options.days || [];\n if (options.last) {\n this.last = ICAL.helpers.formatClassType(options.last, ICAL.Time);\n }\n\n this.by_indices = options.by_indices;\n\n if (!this.by_indices) {\n this.by_indices = {\n \"BYSECOND\": 0,\n \"BYMINUTE\": 0,\n \"BYHOUR\": 0,\n \"BYDAY\": 0,\n \"BYMONTH\": 0,\n \"BYWEEKNO\": 0,\n \"BYMONTHDAY\": 0\n };\n }\n\n this.initialized = options.initialized || false;\n\n if (!this.initialized) {\n this.init();\n }\n },\n\n /**\n * Intialize the iterator\n * @private\n */\n init: function icalrecur_iterator_init() {\n this.initialized = true;\n this.last = this.dtstart.clone();\n var parts = this.by_data;\n\n if (\"BYDAY\" in parts) {\n // libical does this earlier when the rule is loaded, but we postpone to\n // now so we can preserve the original order.\n this.sort_byday_rules(parts.BYDAY);\n }\n\n // If the BYYEARDAY appares, no other date rule part may appear\n if (\"BYYEARDAY\" in parts) {\n if (\"BYMONTH\" in parts || \"BYWEEKNO\" in parts ||\n \"BYMONTHDAY\" in parts || \"BYDAY\" in parts) {\n throw new Error(\"Invalid BYYEARDAY rule\");\n }\n }\n\n // BYWEEKNO and BYMONTHDAY rule parts may not both appear\n if (\"BYWEEKNO\" in parts && \"BYMONTHDAY\" in parts) {\n throw new Error(\"BYWEEKNO does not fit to BYMONTHDAY\");\n }\n\n // For MONTHLY recurrences (FREQ=MONTHLY) neither BYYEARDAY nor\n // BYWEEKNO may appear.\n if (this.rule.freq == \"MONTHLY\" &&\n (\"BYYEARDAY\" in parts || \"BYWEEKNO\" in parts)) {\n throw new Error(\"For MONTHLY recurrences neither BYYEARDAY nor BYWEEKNO may appear\");\n }\n\n // For WEEKLY recurrences (FREQ=WEEKLY) neither BYMONTHDAY nor\n // BYYEARDAY may appear.\n if (this.rule.freq == \"WEEKLY\" &&\n (\"BYYEARDAY\" in parts || \"BYMONTHDAY\" in parts)) {\n throw new Error(\"For WEEKLY recurrences neither BYMONTHDAY nor BYYEARDAY may appear\");\n }\n\n // BYYEARDAY may only appear in YEARLY rules\n if (this.rule.freq != \"YEARLY\" && \"BYYEARDAY\" in parts) {\n throw new Error(\"BYYEARDAY may only appear in YEARLY rules\");\n }\n\n this.last.second = this.setup_defaults(\"BYSECOND\", \"SECONDLY\", this.dtstart.second);\n this.last.minute = this.setup_defaults(\"BYMINUTE\", \"MINUTELY\", this.dtstart.minute);\n this.last.hour = this.setup_defaults(\"BYHOUR\", \"HOURLY\", this.dtstart.hour);\n this.last.day = this.setup_defaults(\"BYMONTHDAY\", \"DAILY\", this.dtstart.day);\n this.last.month = this.setup_defaults(\"BYMONTH\", \"MONTHLY\", this.dtstart.month);\n\n if (this.rule.freq == \"WEEKLY\") {\n if (\"BYDAY\" in parts) {\n var bydayParts = this.ruleDayOfWeek(parts.BYDAY[0], this.rule.wkst);\n var pos = bydayParts[0];\n var dow = bydayParts[1];\n var wkdy = dow - this.last.dayOfWeek(this.rule.wkst);\n if ((this.last.dayOfWeek(this.rule.wkst) < dow && wkdy >= 0) || wkdy < 0) {\n // Initial time is after first day of BYDAY data\n this.last.day += wkdy;\n }\n } else {\n var dayName = ICAL.Recur.numericDayToIcalDay(this.dtstart.dayOfWeek());\n parts.BYDAY = [dayName];\n }\n }\n\n if (this.rule.freq == \"YEARLY\") {\n for (;;) {\n this.expand_year_days(this.last.year);\n if (this.days.length > 0) {\n break;\n }\n this.increment_year(this.rule.interval);\n }\n\n this._nextByYearDay();\n }\n\n if (this.rule.freq == \"MONTHLY\" && this.has_by_data(\"BYDAY\")) {\n var tempLast = null;\n var initLast = this.last.clone();\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n\n // Check every weekday in BYDAY with relative dow and pos.\n for (var i in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(i)) {\n continue;\n }\n this.last = initLast.clone();\n var bydayParts = this.ruleDayOfWeek(this.by_data.BYDAY[i]);\n var pos = bydayParts[0];\n var dow = bydayParts[1];\n var dayOfMonth = this.last.nthWeekDay(dow, pos);\n\n // If |pos| >= 6, the byday is invalid for a monthly rule.\n if (pos >= 6 || pos <= -6) {\n throw new Error(\"Malformed values in BYDAY part\");\n }\n\n // If a Byday with pos=+/-5 is not in the current month it\n // must be searched in the next months.\n if (dayOfMonth > daysInMonth || dayOfMonth <= 0) {\n // Skip if we have already found a \"last\" in this month.\n if (tempLast && tempLast.month == initLast.month) {\n continue;\n }\n while (dayOfMonth > daysInMonth || dayOfMonth <= 0) {\n this.increment_month();\n daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n dayOfMonth = this.last.nthWeekDay(dow, pos);\n }\n }\n\n this.last.day = dayOfMonth;\n if (!tempLast || this.last.compare(tempLast) < 0) {\n tempLast = this.last.clone();\n }\n }\n this.last = tempLast.clone();\n\n //XXX: This feels like a hack, but we need to initialize\n // the BYMONTHDAY case correctly and byDayAndMonthDay handles\n // this case. It accepts a special flag which will avoid incrementing\n // the initial value without the flag days that match the start time\n // would be missed.\n if (this.has_by_data('BYMONTHDAY')) {\n this._byDayAndMonthDay(true);\n }\n\n if (this.last.day > daysInMonth || this.last.day == 0) {\n throw new Error(\"Malformed values in BYDAY part\");\n }\n\n } else if (this.has_by_data(\"BYMONTHDAY\")) {\n if (this.last.day < 0) {\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n this.last.day = daysInMonth + this.last.day + 1;\n }\n }\n\n },\n\n /**\n * Retrieve the next occurrence from the iterator.\n * @return {ICAL.Time}\n */\n next: function icalrecur_iterator_next() {\n var before = (this.last ? this.last.clone() : null);\n\n if ((this.rule.count && this.occurrence_number >= this.rule.count) ||\n (this.rule.until && this.last.compare(this.rule.until) > 0)) {\n\n //XXX: right now this is just a flag and has no impact\n // we can simplify the above case to check for completed later.\n this.completed = true;\n\n return null;\n }\n\n if (this.occurrence_number == 0 && this.last.compare(this.dtstart) >= 0) {\n // First of all, give the instance that was initialized\n this.occurrence_number++;\n return this.last;\n }\n\n\n var valid;\n do {\n valid = 1;\n\n switch (this.rule.freq) {\n case \"SECONDLY\":\n this.next_second();\n break;\n case \"MINUTELY\":\n this.next_minute();\n break;\n case \"HOURLY\":\n this.next_hour();\n break;\n case \"DAILY\":\n this.next_day();\n break;\n case \"WEEKLY\":\n this.next_week();\n break;\n case \"MONTHLY\":\n valid = this.next_month();\n break;\n case \"YEARLY\":\n this.next_year();\n break;\n\n default:\n return null;\n }\n } while (!this.check_contracting_rules() ||\n this.last.compare(this.dtstart) < 0 ||\n !valid);\n\n // TODO is this valid?\n if (this.last.compare(before) == 0) {\n throw new Error(\"Same occurrence found twice, protecting \" +\n \"you from death by recursion\");\n }\n\n if (this.rule.until && this.last.compare(this.rule.until) > 0) {\n this.completed = true;\n return null;\n } else {\n this.occurrence_number++;\n return this.last;\n }\n },\n\n next_second: function next_second() {\n return this.next_generic(\"BYSECOND\", \"SECONDLY\", \"second\", \"minute\");\n },\n\n increment_second: function increment_second(inc) {\n return this.increment_generic(inc, \"second\", 60, \"minute\");\n },\n\n next_minute: function next_minute() {\n return this.next_generic(\"BYMINUTE\", \"MINUTELY\",\n \"minute\", \"hour\", \"next_second\");\n },\n\n increment_minute: function increment_minute(inc) {\n return this.increment_generic(inc, \"minute\", 60, \"hour\");\n },\n\n next_hour: function next_hour() {\n return this.next_generic(\"BYHOUR\", \"HOURLY\", \"hour\",\n \"monthday\", \"next_minute\");\n },\n\n increment_hour: function increment_hour(inc) {\n this.increment_generic(inc, \"hour\", 24, \"monthday\");\n },\n\n next_day: function next_day() {\n var has_by_day = (\"BYDAY\" in this.by_data);\n var this_freq = (this.rule.freq == \"DAILY\");\n\n if (this.next_hour() == 0) {\n return 0;\n }\n\n if (this_freq) {\n this.increment_monthday(this.rule.interval);\n } else {\n this.increment_monthday(1);\n }\n\n return 0;\n },\n\n next_week: function next_week() {\n var end_of_data = 0;\n\n if (this.next_weekday_by_week() == 0) {\n return end_of_data;\n }\n\n if (this.has_by_data(\"BYWEEKNO\")) {\n var idx = ++this.by_indices.BYWEEKNO;\n\n if (this.by_indices.BYWEEKNO == this.by_data.BYWEEKNO.length) {\n this.by_indices.BYWEEKNO = 0;\n end_of_data = 1;\n }\n\n // HACK should be first month of the year\n this.last.month = 1;\n this.last.day = 1;\n\n var week_no = this.by_data.BYWEEKNO[this.by_indices.BYWEEKNO];\n\n this.last.day += 7 * week_no;\n\n if (end_of_data) {\n this.increment_year(1);\n }\n } else {\n // Jump to the next week\n this.increment_monthday(7 * this.rule.interval);\n }\n\n return end_of_data;\n },\n\n /**\n * Normalize each by day rule for a given year/month.\n * Takes into account ordering and negative rules\n *\n * @private\n * @param {Number} year Current year.\n * @param {Number} month Current month.\n * @param {Array} rules Array of rules.\n *\n * @return {Array} sorted and normalized rules.\n * Negative rules will be expanded to their\n * correct positive values for easier processing.\n */\n normalizeByMonthDayRules: function(year, month, rules) {\n var daysInMonth = ICAL.Time.daysInMonth(month, year);\n\n // XXX: This is probably bad for performance to allocate\n // a new array for each month we scan, if possible\n // we should try to optimize this...\n var newRules = [];\n\n var ruleIdx = 0;\n var len = rules.length;\n var rule;\n\n for (; ruleIdx < len; ruleIdx++) {\n rule = rules[ruleIdx];\n\n // if this rule falls outside of given\n // month discard it.\n if (Math.abs(rule) > daysInMonth) {\n continue;\n }\n\n // negative case\n if (rule < 0) {\n // we add (not subtract its a negative number)\n // one from the rule because 1 === last day of month\n rule = daysInMonth + (rule + 1);\n } else if (rule === 0) {\n // skip zero its invalid.\n continue;\n }\n\n // only add unique items...\n if (newRules.indexOf(rule) === -1) {\n newRules.push(rule);\n }\n\n }\n\n // unique and sort\n return newRules.sort(function(a, b) { return a - b; });\n },\n\n /**\n * NOTES:\n * We are given a list of dates in the month (BYMONTHDAY) (23, etc..)\n * Also we are given a list of days (BYDAY) (MO, 2SU, etc..) when\n * both conditions match a given date (this.last.day) iteration stops.\n *\n * @private\n * @param {Boolean=} isInit When given true will not increment the\n * current day (this.last).\n */\n _byDayAndMonthDay: function(isInit) {\n var byMonthDay; // setup in initMonth\n var byDay = this.by_data.BYDAY;\n\n var date;\n var dateIdx = 0;\n var dateLen; // setup in initMonth\n var dayLen = byDay.length;\n\n // we are not valid by default\n var dataIsValid = 0;\n\n var daysInMonth;\n var self = this;\n // we need a copy of this, because a DateTime gets normalized\n // automatically if the day is out of range. At some points we\n // set the last day to 0 to start counting.\n var lastDay = this.last.day;\n\n function initMonth() {\n daysInMonth = ICAL.Time.daysInMonth(\n self.last.month, self.last.year\n );\n\n byMonthDay = self.normalizeByMonthDayRules(\n self.last.year,\n self.last.month,\n self.by_data.BYMONTHDAY\n );\n\n dateLen = byMonthDay.length;\n\n // For the case of more than one occurrence in one month\n // we have to be sure to start searching after the last\n // found date or at the last BYMONTHDAY, unless we are\n // initializing the iterator because in this case we have\n // to consider the last found date too.\n while (byMonthDay[dateIdx] <= lastDay &&\n !(isInit && byMonthDay[dateIdx] == lastDay) &&\n dateIdx < dateLen - 1) {\n dateIdx++;\n }\n }\n\n function nextMonth() {\n // since the day is incremented at the start\n // of the loop below, we need to start at 0\n lastDay = 0;\n self.increment_month();\n dateIdx = 0;\n initMonth();\n }\n\n initMonth();\n\n // should come after initMonth\n if (isInit) {\n lastDay -= 1;\n }\n\n // Use a counter to avoid an infinite loop with malformed rules.\n // Stop checking after 4 years so we consider also a leap year.\n var monthsCounter = 48;\n\n while (!dataIsValid && monthsCounter) {\n monthsCounter--;\n // increment the current date. This is really\n // important otherwise we may fall into the infinite\n // loop trap. The initial date takes care of the case\n // where the current date is the date we are looking\n // for.\n date = lastDay + 1;\n\n if (date > daysInMonth) {\n nextMonth();\n continue;\n }\n\n // find next date\n var next = byMonthDay[dateIdx++];\n\n // this logic is dependant on the BYMONTHDAYS\n // being in order (which is done by #normalizeByMonthDayRules)\n if (next >= date) {\n // if the next month day is in the future jump to it.\n lastDay = next;\n } else {\n // in this case the 'next' monthday has past\n // we must move to the month.\n nextMonth();\n continue;\n }\n\n // Now we can loop through the day rules to see\n // if one matches the current month date.\n for (var dayIdx = 0; dayIdx < dayLen; dayIdx++) {\n var parts = this.ruleDayOfWeek(byDay[dayIdx]);\n var pos = parts[0];\n var dow = parts[1];\n\n this.last.day = lastDay;\n if (this.last.isNthWeekDay(dow, pos)) {\n // when we find the valid one we can mark\n // the conditions as met and break the loop.\n // (Because we have this condition above\n // it will also break the parent loop).\n dataIsValid = 1;\n break;\n }\n }\n\n // Its completely possible that the combination\n // cannot be matched in the current month.\n // When we reach the end of possible combinations\n // in the current month we iterate to the next one.\n // since dateIdx is incremented right after getting\n // \"next\", we don't need dateLen -1 here.\n if (!dataIsValid && dateIdx === dateLen) {\n nextMonth();\n continue;\n }\n }\n\n if (monthsCounter <= 0) {\n // Checked 4 years without finding a Byday that matches\n // a Bymonthday. Maybe the rule is not correct.\n throw new Error(\"Malformed values in BYDAY combined with BYMONTHDAY parts\");\n }\n\n\n return dataIsValid;\n },\n\n next_month: function next_month() {\n var this_freq = (this.rule.freq == \"MONTHLY\");\n var data_valid = 1;\n\n if (this.next_hour() == 0) {\n return data_valid;\n }\n\n if (this.has_by_data(\"BYDAY\") && this.has_by_data(\"BYMONTHDAY\")) {\n data_valid = this._byDayAndMonthDay();\n } else if (this.has_by_data(\"BYDAY\")) {\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n var setpos = 0;\n var setpos_total = 0;\n\n if (this.has_by_data(\"BYSETPOS\")) {\n var last_day = this.last.day;\n for (var day = 1; day <= daysInMonth; day++) {\n this.last.day = day;\n if (this.is_day_in_byday(this.last)) {\n setpos_total++;\n if (day <= last_day) {\n setpos++;\n }\n }\n }\n this.last.day = last_day;\n }\n\n data_valid = 0;\n for (var day = this.last.day + 1; day <= daysInMonth; day++) {\n this.last.day = day;\n\n if (this.is_day_in_byday(this.last)) {\n if (!this.has_by_data(\"BYSETPOS\") ||\n this.check_set_position(++setpos) ||\n this.check_set_position(setpos - setpos_total - 1)) {\n\n data_valid = 1;\n break;\n }\n }\n }\n\n if (day > daysInMonth) {\n this.last.day = 1;\n this.increment_month();\n\n if (this.is_day_in_byday(this.last)) {\n if (!this.has_by_data(\"BYSETPOS\") || this.check_set_position(1)) {\n data_valid = 1;\n }\n } else {\n data_valid = 0;\n }\n }\n } else if (this.has_by_data(\"BYMONTHDAY\")) {\n this.by_indices.BYMONTHDAY++;\n\n if (this.by_indices.BYMONTHDAY >= this.by_data.BYMONTHDAY.length) {\n this.by_indices.BYMONTHDAY = 0;\n this.increment_month();\n }\n\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n var day = this.by_data.BYMONTHDAY[this.by_indices.BYMONTHDAY];\n\n if (day < 0) {\n day = daysInMonth + day + 1;\n }\n\n if (day > daysInMonth) {\n this.last.day = 1;\n data_valid = this.is_day_in_byday(this.last);\n } else {\n this.last.day = day;\n }\n\n } else {\n this.increment_month();\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n if (this.by_data.BYMONTHDAY[0] > daysInMonth) {\n data_valid = 0;\n } else {\n this.last.day = this.by_data.BYMONTHDAY[0];\n }\n }\n\n return data_valid;\n },\n\n next_weekday_by_week: function next_weekday_by_week() {\n var end_of_data = 0;\n\n if (this.next_hour() == 0) {\n return end_of_data;\n }\n\n if (!this.has_by_data(\"BYDAY\")) {\n return 1;\n }\n\n for (;;) {\n var tt = new ICAL.Time();\n this.by_indices.BYDAY++;\n\n if (this.by_indices.BYDAY == Object.keys(this.by_data.BYDAY).length) {\n this.by_indices.BYDAY = 0;\n end_of_data = 1;\n }\n\n var coded_day = this.by_data.BYDAY[this.by_indices.BYDAY];\n var parts = this.ruleDayOfWeek(coded_day);\n var dow = parts[1];\n\n dow -= this.rule.wkst;\n\n if (dow < 0) {\n dow += 7;\n }\n\n tt.year = this.last.year;\n tt.month = this.last.month;\n tt.day = this.last.day;\n\n var startOfWeek = tt.startDoyWeek(this.rule.wkst);\n\n if (dow + startOfWeek < 1) {\n // The selected date is in the previous year\n if (!end_of_data) {\n continue;\n }\n }\n\n var next = ICAL.Time.fromDayOfYear(startOfWeek + dow,\n this.last.year);\n\n /**\n * The normalization horrors below are due to\n * the fact that when the year/month/day changes\n * it can effect the other operations that come after.\n */\n this.last.year = next.year;\n this.last.month = next.month;\n this.last.day = next.day;\n\n return end_of_data;\n }\n },\n\n next_year: function next_year() {\n\n if (this.next_hour() == 0) {\n return 0;\n }\n\n if (++this.days_index == this.days.length) {\n this.days_index = 0;\n do {\n this.increment_year(this.rule.interval);\n this.expand_year_days(this.last.year);\n } while (this.days.length == 0);\n }\n\n this._nextByYearDay();\n\n return 1;\n },\n\n _nextByYearDay: function _nextByYearDay() {\n var doy = this.days[this.days_index];\n var year = this.last.year;\n if (doy < 1) {\n // Time.fromDayOfYear(doy, year) indexes relative to the\n // start of the given year. That is different from the\n // semantics of BYYEARDAY where negative indexes are an\n // offset from the end of the given year.\n doy += 1;\n year += 1;\n }\n var next = ICAL.Time.fromDayOfYear(doy, year);\n this.last.day = next.day;\n this.last.month = next.month;\n },\n\n /**\n * @param dow (eg: '1TU', '-1MO')\n * @param {ICAL.Time.weekDay=} aWeekStart The week start weekday\n * @return [pos, numericDow] (eg: [1, 3]) numericDow is relative to aWeekStart\n */\n ruleDayOfWeek: function ruleDayOfWeek(dow, aWeekStart) {\n var matches = dow.match(/([+-]?[0-9])?(MO|TU|WE|TH|FR|SA|SU)/);\n if (matches) {\n var pos = parseInt(matches[1] || 0, 10);\n dow = ICAL.Recur.icalDayToNumericDay(matches[2], aWeekStart);\n return [pos, dow];\n } else {\n return [0, 0];\n }\n },\n\n next_generic: function next_generic(aRuleType, aInterval, aDateAttr,\n aFollowingAttr, aPreviousIncr) {\n var has_by_rule = (aRuleType in this.by_data);\n var this_freq = (this.rule.freq == aInterval);\n var end_of_data = 0;\n\n if (aPreviousIncr && this[aPreviousIncr]() == 0) {\n return end_of_data;\n }\n\n if (has_by_rule) {\n this.by_indices[aRuleType]++;\n var idx = this.by_indices[aRuleType];\n var dta = this.by_data[aRuleType];\n\n if (this.by_indices[aRuleType] == dta.length) {\n this.by_indices[aRuleType] = 0;\n end_of_data = 1;\n }\n this.last[aDateAttr] = dta[this.by_indices[aRuleType]];\n } else if (this_freq) {\n this[\"increment_\" + aDateAttr](this.rule.interval);\n }\n\n if (has_by_rule && end_of_data && this_freq) {\n this[\"increment_\" + aFollowingAttr](1);\n }\n\n return end_of_data;\n },\n\n increment_monthday: function increment_monthday(inc) {\n for (var i = 0; i < inc; i++) {\n var daysInMonth = ICAL.Time.daysInMonth(this.last.month, this.last.year);\n this.last.day++;\n\n if (this.last.day > daysInMonth) {\n this.last.day -= daysInMonth;\n this.increment_month();\n }\n }\n },\n\n increment_month: function increment_month() {\n this.last.day = 1;\n if (this.has_by_data(\"BYMONTH\")) {\n this.by_indices.BYMONTH++;\n\n if (this.by_indices.BYMONTH == this.by_data.BYMONTH.length) {\n this.by_indices.BYMONTH = 0;\n this.increment_year(1);\n }\n\n this.last.month = this.by_data.BYMONTH[this.by_indices.BYMONTH];\n } else {\n if (this.rule.freq == \"MONTHLY\") {\n this.last.month += this.rule.interval;\n } else {\n this.last.month++;\n }\n\n this.last.month--;\n var years = ICAL.helpers.trunc(this.last.month / 12);\n this.last.month %= 12;\n this.last.month++;\n\n if (years != 0) {\n this.increment_year(years);\n }\n }\n },\n\n increment_year: function increment_year(inc) {\n this.last.year += inc;\n },\n\n increment_generic: function increment_generic(inc, aDateAttr,\n aFactor, aNextIncrement) {\n this.last[aDateAttr] += inc;\n var nextunit = ICAL.helpers.trunc(this.last[aDateAttr] / aFactor);\n this.last[aDateAttr] %= aFactor;\n if (nextunit != 0) {\n this[\"increment_\" + aNextIncrement](nextunit);\n }\n },\n\n has_by_data: function has_by_data(aRuleType) {\n return (aRuleType in this.rule.parts);\n },\n\n expand_year_days: function expand_year_days(aYear) {\n var t = new ICAL.Time();\n this.days = [];\n\n // We need our own copy with a few keys set\n var parts = {};\n var rules = [\"BYDAY\", \"BYWEEKNO\", \"BYMONTHDAY\", \"BYMONTH\", \"BYYEARDAY\"];\n for (var p in rules) {\n /* istanbul ignore else */\n if (rules.hasOwnProperty(p)) {\n var part = rules[p];\n if (part in this.rule.parts) {\n parts[part] = this.rule.parts[part];\n }\n }\n }\n\n if (\"BYMONTH\" in parts && \"BYWEEKNO\" in parts) {\n var valid = 1;\n var validWeeks = {};\n t.year = aYear;\n t.isDate = true;\n\n for (var monthIdx = 0; monthIdx < this.by_data.BYMONTH.length; monthIdx++) {\n var month = this.by_data.BYMONTH[monthIdx];\n t.month = month;\n t.day = 1;\n var first_week = t.weekNumber(this.rule.wkst);\n t.day = ICAL.Time.daysInMonth(month, aYear);\n var last_week = t.weekNumber(this.rule.wkst);\n for (monthIdx = first_week; monthIdx < last_week; monthIdx++) {\n validWeeks[monthIdx] = 1;\n }\n }\n\n for (var weekIdx = 0; weekIdx < this.by_data.BYWEEKNO.length && valid; weekIdx++) {\n var weekno = this.by_data.BYWEEKNO[weekIdx];\n if (weekno < 52) {\n valid &= validWeeks[weekIdx];\n } else {\n valid = 0;\n }\n }\n\n if (valid) {\n delete parts.BYMONTH;\n } else {\n delete parts.BYWEEKNO;\n }\n }\n\n var partCount = Object.keys(parts).length;\n\n if (partCount == 0) {\n var t1 = this.dtstart.clone();\n t1.year = this.last.year;\n this.days.push(t1.dayOfYear());\n } else if (partCount == 1 && \"BYMONTH\" in parts) {\n for (var monthkey in this.by_data.BYMONTH) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTH.hasOwnProperty(monthkey)) {\n continue;\n }\n var t2 = this.dtstart.clone();\n t2.year = aYear;\n t2.month = this.by_data.BYMONTH[monthkey];\n t2.isDate = true;\n this.days.push(t2.dayOfYear());\n }\n } else if (partCount == 1 && \"BYMONTHDAY\" in parts) {\n for (var monthdaykey in this.by_data.BYMONTHDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTHDAY.hasOwnProperty(monthdaykey)) {\n continue;\n }\n var t3 = this.dtstart.clone();\n var day_ = this.by_data.BYMONTHDAY[monthdaykey];\n if (day_ < 0) {\n var daysInMonth = ICAL.Time.daysInMonth(t3.month, aYear);\n day_ = day_ + daysInMonth + 1;\n }\n t3.day = day_;\n t3.year = aYear;\n t3.isDate = true;\n this.days.push(t3.dayOfYear());\n }\n } else if (partCount == 2 &&\n \"BYMONTHDAY\" in parts &&\n \"BYMONTH\" in parts) {\n for (var monthkey in this.by_data.BYMONTH) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTH.hasOwnProperty(monthkey)) {\n continue;\n }\n var month_ = this.by_data.BYMONTH[monthkey];\n var daysInMonth = ICAL.Time.daysInMonth(month_, aYear);\n for (var monthdaykey in this.by_data.BYMONTHDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTHDAY.hasOwnProperty(monthdaykey)) {\n continue;\n }\n var day_ = this.by_data.BYMONTHDAY[monthdaykey];\n if (day_ < 0) {\n day_ = day_ + daysInMonth + 1;\n }\n t.day = day_;\n t.month = month_;\n t.year = aYear;\n t.isDate = true;\n\n this.days.push(t.dayOfYear());\n }\n }\n } else if (partCount == 1 && \"BYWEEKNO\" in parts) {\n // TODO unimplemented in libical\n } else if (partCount == 2 &&\n \"BYWEEKNO\" in parts &&\n \"BYMONTHDAY\" in parts) {\n // TODO unimplemented in libical\n } else if (partCount == 1 && \"BYDAY\" in parts) {\n this.days = this.days.concat(this.expand_by_day(aYear));\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYMONTH\" in parts) {\n for (var monthkey in this.by_data.BYMONTH) {\n /* istanbul ignore if */\n if (!this.by_data.BYMONTH.hasOwnProperty(monthkey)) {\n continue;\n }\n var month = this.by_data.BYMONTH[monthkey];\n var daysInMonth = ICAL.Time.daysInMonth(month, aYear);\n\n t.year = aYear;\n t.month = this.by_data.BYMONTH[monthkey];\n t.day = 1;\n t.isDate = true;\n\n var first_dow = t.dayOfWeek();\n var doy_offset = t.dayOfYear() - 1;\n\n t.day = daysInMonth;\n var last_dow = t.dayOfWeek();\n\n if (this.has_by_data(\"BYSETPOS\")) {\n var set_pos_counter = 0;\n var by_month_day = [];\n for (var day = 1; day <= daysInMonth; day++) {\n t.day = day;\n if (this.is_day_in_byday(t)) {\n by_month_day.push(day);\n }\n }\n\n for (var spIndex = 0; spIndex < by_month_day.length; spIndex++) {\n if (this.check_set_position(spIndex + 1) ||\n this.check_set_position(spIndex - by_month_day.length)) {\n this.days.push(doy_offset + by_month_day[spIndex]);\n }\n }\n } else {\n for (var daycodedkey in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(daycodedkey)) {\n continue;\n }\n var coded_day = this.by_data.BYDAY[daycodedkey];\n var bydayParts = this.ruleDayOfWeek(coded_day);\n var pos = bydayParts[0];\n var dow = bydayParts[1];\n var month_day;\n\n var first_matching_day = ((dow + 7 - first_dow) % 7) + 1;\n var last_matching_day = daysInMonth - ((last_dow + 7 - dow) % 7);\n\n if (pos == 0) {\n for (var day = first_matching_day; day <= daysInMonth; day += 7) {\n this.days.push(doy_offset + day);\n }\n } else if (pos > 0) {\n month_day = first_matching_day + (pos - 1) * 7;\n\n if (month_day <= daysInMonth) {\n this.days.push(doy_offset + month_day);\n }\n } else {\n month_day = last_matching_day + (pos + 1) * 7;\n\n if (month_day > 0) {\n this.days.push(doy_offset + month_day);\n }\n }\n }\n }\n }\n // Return dates in order of occurrence (1,2,3,...) instead\n // of by groups of weekdays (1,8,15,...,2,9,16,...).\n this.days.sort(function(a, b) { return a - b; }); // Comparator function allows to sort numbers.\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYMONTHDAY\" in parts) {\n var expandedDays = this.expand_by_day(aYear);\n\n for (var daykey in expandedDays) {\n /* istanbul ignore if */\n if (!expandedDays.hasOwnProperty(daykey)) {\n continue;\n }\n var day = expandedDays[daykey];\n var tt = ICAL.Time.fromDayOfYear(day, aYear);\n if (this.by_data.BYMONTHDAY.indexOf(tt.day) >= 0) {\n this.days.push(day);\n }\n }\n } else if (partCount == 3 &&\n \"BYDAY\" in parts &&\n \"BYMONTHDAY\" in parts &&\n \"BYMONTH\" in parts) {\n var expandedDays = this.expand_by_day(aYear);\n\n for (var daykey in expandedDays) {\n /* istanbul ignore if */\n if (!expandedDays.hasOwnProperty(daykey)) {\n continue;\n }\n var day = expandedDays[daykey];\n var tt = ICAL.Time.fromDayOfYear(day, aYear);\n\n if (this.by_data.BYMONTH.indexOf(tt.month) >= 0 &&\n this.by_data.BYMONTHDAY.indexOf(tt.day) >= 0) {\n this.days.push(day);\n }\n }\n } else if (partCount == 2 && \"BYDAY\" in parts && \"BYWEEKNO\" in parts) {\n var expandedDays = this.expand_by_day(aYear);\n\n for (var daykey in expandedDays) {\n /* istanbul ignore if */\n if (!expandedDays.hasOwnProperty(daykey)) {\n continue;\n }\n var day = expandedDays[daykey];\n var tt = ICAL.Time.fromDayOfYear(day, aYear);\n var weekno = tt.weekNumber(this.rule.wkst);\n\n if (this.by_data.BYWEEKNO.indexOf(weekno)) {\n this.days.push(day);\n }\n }\n } else if (partCount == 3 &&\n \"BYDAY\" in parts &&\n \"BYWEEKNO\" in parts &&\n \"BYMONTHDAY\" in parts) {\n // TODO unimplemted in libical\n } else if (partCount == 1 && \"BYYEARDAY\" in parts) {\n this.days = this.days.concat(this.by_data.BYYEARDAY);\n } else {\n this.days = [];\n }\n return 0;\n },\n\n expand_by_day: function expand_by_day(aYear) {\n\n var days_list = [];\n var tmp = this.last.clone();\n\n tmp.year = aYear;\n tmp.month = 1;\n tmp.day = 1;\n tmp.isDate = true;\n\n var start_dow = tmp.dayOfWeek();\n\n tmp.month = 12;\n tmp.day = 31;\n tmp.isDate = true;\n\n var end_dow = tmp.dayOfWeek();\n var end_year_day = tmp.dayOfYear();\n\n for (var daykey in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(daykey)) {\n continue;\n }\n var day = this.by_data.BYDAY[daykey];\n var parts = this.ruleDayOfWeek(day);\n var pos = parts[0];\n var dow = parts[1];\n\n if (pos == 0) {\n var tmp_start_doy = ((dow + 7 - start_dow) % 7) + 1;\n\n for (var doy = tmp_start_doy; doy <= end_year_day; doy += 7) {\n days_list.push(doy);\n }\n\n } else if (pos > 0) {\n var first;\n if (dow >= start_dow) {\n first = dow - start_dow + 1;\n } else {\n first = dow - start_dow + 8;\n }\n\n days_list.push(first + (pos - 1) * 7);\n } else {\n var last;\n pos = -pos;\n\n if (dow <= end_dow) {\n last = end_year_day - end_dow + dow;\n } else {\n last = end_year_day - end_dow + dow - 7;\n }\n\n days_list.push(last - (pos - 1) * 7);\n }\n }\n return days_list;\n },\n\n is_day_in_byday: function is_day_in_byday(tt) {\n for (var daykey in this.by_data.BYDAY) {\n /* istanbul ignore if */\n if (!this.by_data.BYDAY.hasOwnProperty(daykey)) {\n continue;\n }\n var day = this.by_data.BYDAY[daykey];\n var parts = this.ruleDayOfWeek(day);\n var pos = parts[0];\n var dow = parts[1];\n var this_dow = tt.dayOfWeek();\n\n if ((pos == 0 && dow == this_dow) ||\n (tt.nthWeekDay(dow, pos) == tt.day)) {\n return 1;\n }\n }\n\n return 0;\n },\n\n /**\n * Checks if given value is in BYSETPOS.\n *\n * @private\n * @param {Numeric} aPos position to check for.\n * @return {Boolean} false unless BYSETPOS rules exist\n * and the given value is present in rules.\n */\n check_set_position: function check_set_position(aPos) {\n if (this.has_by_data('BYSETPOS')) {\n var idx = this.by_data.BYSETPOS.indexOf(aPos);\n // negative numbers are not false-y\n return idx !== -1;\n }\n return false;\n },\n\n sort_byday_rules: function icalrecur_sort_byday_rules(aRules) {\n for (var i = 0; i < aRules.length; i++) {\n for (var j = 0; j < i; j++) {\n var one = this.ruleDayOfWeek(aRules[j], this.rule.wkst)[1];\n var two = this.ruleDayOfWeek(aRules[i], this.rule.wkst)[1];\n\n if (one > two) {\n var tmp = aRules[i];\n aRules[i] = aRules[j];\n aRules[j] = tmp;\n }\n }\n }\n },\n\n check_contract_restriction: function check_contract_restriction(aRuleType, v) {\n var indexMapValue = icalrecur_iterator._indexMap[aRuleType];\n var ruleMapValue = icalrecur_iterator._expandMap[this.rule.freq][indexMapValue];\n var pass = false;\n\n if (aRuleType in this.by_data &&\n ruleMapValue == icalrecur_iterator.CONTRACT) {\n\n var ruleType = this.by_data[aRuleType];\n\n for (var bydatakey in ruleType) {\n /* istanbul ignore else */\n if (ruleType.hasOwnProperty(bydatakey)) {\n if (ruleType[bydatakey] == v) {\n pass = true;\n break;\n }\n }\n }\n } else {\n // Not a contracting byrule or has no data, test passes\n pass = true;\n }\n return pass;\n },\n\n check_contracting_rules: function check_contracting_rules() {\n var dow = this.last.dayOfWeek();\n var weekNo = this.last.weekNumber(this.rule.wkst);\n var doy = this.last.dayOfYear();\n\n return (this.check_contract_restriction(\"BYSECOND\", this.last.second) &&\n this.check_contract_restriction(\"BYMINUTE\", this.last.minute) &&\n this.check_contract_restriction(\"BYHOUR\", this.last.hour) &&\n this.check_contract_restriction(\"BYDAY\", ICAL.Recur.numericDayToIcalDay(dow)) &&\n this.check_contract_restriction(\"BYWEEKNO\", weekNo) &&\n this.check_contract_restriction(\"BYMONTHDAY\", this.last.day) &&\n this.check_contract_restriction(\"BYMONTH\", this.last.month) &&\n this.check_contract_restriction(\"BYYEARDAY\", doy));\n },\n\n setup_defaults: function setup_defaults(aRuleType, req, deftime) {\n var indexMapValue = icalrecur_iterator._indexMap[aRuleType];\n var ruleMapValue = icalrecur_iterator._expandMap[this.rule.freq][indexMapValue];\n\n if (ruleMapValue != icalrecur_iterator.CONTRACT) {\n if (!(aRuleType in this.by_data)) {\n this.by_data[aRuleType] = [deftime];\n }\n if (this.rule.freq != req) {\n return this.by_data[aRuleType][0];\n }\n }\n return deftime;\n },\n\n /**\n * Convert iterator into a serialize-able object. Will preserve current\n * iteration sequence to ensure the seamless continuation of the recurrence\n * rule.\n * @return {Object}\n */\n toJSON: function() {\n var result = Object.create(null);\n\n result.initialized = this.initialized;\n result.rule = this.rule.toJSON();\n result.dtstart = this.dtstart.toJSON();\n result.by_data = this.by_data;\n result.days = this.days;\n result.last = this.last.toJSON();\n result.by_indices = this.by_indices;\n result.occurrence_number = this.occurrence_number;\n\n return result;\n }\n };\n\n icalrecur_iterator._indexMap = {\n \"BYSECOND\": 0,\n \"BYMINUTE\": 1,\n \"BYHOUR\": 2,\n \"BYDAY\": 3,\n \"BYMONTHDAY\": 4,\n \"BYYEARDAY\": 5,\n \"BYWEEKNO\": 6,\n \"BYMONTH\": 7,\n \"BYSETPOS\": 8\n };\n\n icalrecur_iterator._expandMap = {\n \"SECONDLY\": [1, 1, 1, 1, 1, 1, 1, 1],\n \"MINUTELY\": [2, 1, 1, 1, 1, 1, 1, 1],\n \"HOURLY\": [2, 2, 1, 1, 1, 1, 1, 1],\n \"DAILY\": [2, 2, 2, 1, 1, 1, 1, 1],\n \"WEEKLY\": [2, 2, 2, 2, 3, 3, 1, 1],\n \"MONTHLY\": [2, 2, 2, 2, 2, 3, 3, 1],\n \"YEARLY\": [2, 2, 2, 2, 2, 2, 2, 2]\n };\n icalrecur_iterator.UNKNOWN = 0;\n icalrecur_iterator.CONTRACT = 1;\n icalrecur_iterator.EXPAND = 2;\n icalrecur_iterator.ILLEGAL = 3;\n\n return icalrecur_iterator;\n\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.RecurExpansion = (function() {\n function formatTime(item) {\n return ICAL.helpers.formatClassType(item, ICAL.Time);\n }\n\n function compareTime(a, b) {\n return a.compare(b);\n }\n\n function isRecurringComponent(comp) {\n return comp.hasProperty('rdate') ||\n comp.hasProperty('rrule') ||\n comp.hasProperty('recurrence-id');\n }\n\n /**\n * @classdesc\n * Primary class for expanding recurring rules. Can take multiple rrules,\n * rdates, exdate(s) and iterate (in order) over each next occurrence.\n *\n * Once initialized this class can also be serialized saved and continue\n * iteration from the last point.\n *\n * NOTE: it is intended that this class is to be used\n * with ICAL.Event which handles recurrence exceptions.\n *\n * @example\n * // assuming event is a parsed ical component\n * var event;\n *\n * var expand = new ICAL.RecurExpansion({\n * component: event,\n * dtstart: event.getFirstPropertyValue('dtstart')\n * });\n *\n * // remember there are infinite rules\n * // so its a good idea to limit the scope\n * // of the iterations then resume later on.\n *\n * // next is always an ICAL.Time or null\n * var next;\n *\n * while (someCondition && (next = expand.next())) {\n * // do something with next\n * }\n *\n * // save instance for later\n * var json = JSON.stringify(expand);\n *\n * //...\n *\n * // NOTE: if the component's properties have\n * // changed you will need to rebuild the\n * // class and start over. This only works\n * // when the component's recurrence info is the same.\n * var expand = new ICAL.RecurExpansion(JSON.parse(json));\n *\n * @description\n * The options object can be filled with the specified initial values. It can\n * also contain additional members, as a result of serializing a previous\n * expansion state, as shown in the example.\n *\n * @class\n * @alias ICAL.RecurExpansion\n * @param {Object} options\n * Recurrence expansion options\n * @param {ICAL.Time} options.dtstart\n * Start time of the event\n * @param {ICAL.Component=} options.component\n * Component for expansion, required if not resuming.\n */\n function RecurExpansion(options) {\n this.ruleDates = [];\n this.exDates = [];\n this.fromData(options);\n }\n\n RecurExpansion.prototype = {\n /**\n * True when iteration is fully completed.\n * @type {Boolean}\n */\n complete: false,\n\n /**\n * Array of rrule iterators.\n *\n * @type {ICAL.RecurIterator[]}\n * @private\n */\n ruleIterators: null,\n\n /**\n * Array of rdate instances.\n *\n * @type {ICAL.Time[]}\n * @private\n */\n ruleDates: null,\n\n /**\n * Array of exdate instances.\n *\n * @type {ICAL.Time[]}\n * @private\n */\n exDates: null,\n\n /**\n * Current position in ruleDates array.\n * @type {Number}\n * @private\n */\n ruleDateInc: 0,\n\n /**\n * Current position in exDates array\n * @type {Number}\n * @private\n */\n exDateInc: 0,\n\n /**\n * Current negative date.\n *\n * @type {ICAL.Time}\n * @private\n */\n exDate: null,\n\n /**\n * Current additional date.\n *\n * @type {ICAL.Time}\n * @private\n */\n ruleDate: null,\n\n /**\n * Start date of recurring rules.\n *\n * @type {ICAL.Time}\n */\n dtstart: null,\n\n /**\n * Last expanded time\n *\n * @type {ICAL.Time}\n */\n last: null,\n\n /**\n * Initialize the recurrence expansion from the data object. The options\n * object may also contain additional members, see the\n * {@link ICAL.RecurExpansion constructor} for more details.\n *\n * @param {Object} options\n * Recurrence expansion options\n * @param {ICAL.Time} options.dtstart\n * Start time of the event\n * @param {ICAL.Component=} options.component\n * Component for expansion, required if not resuming.\n */\n fromData: function(options) {\n var start = ICAL.helpers.formatClassType(options.dtstart, ICAL.Time);\n\n if (!start) {\n throw new Error('.dtstart (ICAL.Time) must be given');\n } else {\n this.dtstart = start;\n }\n\n if (options.component) {\n this._init(options.component);\n } else {\n this.last = formatTime(options.last) || start.clone();\n\n if (!options.ruleIterators) {\n throw new Error('.ruleIterators or .component must be given');\n }\n\n this.ruleIterators = options.ruleIterators.map(function(item) {\n return ICAL.helpers.formatClassType(item, ICAL.RecurIterator);\n });\n\n this.ruleDateInc = options.ruleDateInc;\n this.exDateInc = options.exDateInc;\n\n if (options.ruleDates) {\n this.ruleDates = options.ruleDates.map(formatTime);\n this.ruleDate = this.ruleDates[this.ruleDateInc];\n }\n\n if (options.exDates) {\n this.exDates = options.exDates.map(formatTime);\n this.exDate = this.exDates[this.exDateInc];\n }\n\n if (typeof(options.complete) !== 'undefined') {\n this.complete = options.complete;\n }\n }\n },\n\n /**\n * Retrieve the next occurrence in the series.\n * @return {ICAL.Time}\n */\n next: function() {\n var iter;\n var ruleOfDay;\n var next;\n var compare;\n\n var maxTries = 500;\n var currentTry = 0;\n\n while (true) {\n if (currentTry++ > maxTries) {\n throw new Error(\n 'max tries have occured, rule may be impossible to forfill.'\n );\n }\n\n next = this.ruleDate;\n iter = this._nextRecurrenceIter(this.last);\n\n // no more matches\n // because we increment the rule day or rule\n // _after_ we choose a value this should be\n // the only spot where we need to worry about the\n // end of events.\n if (!next && !iter) {\n // there are no more iterators or rdates\n this.complete = true;\n break;\n }\n\n // no next rule day or recurrence rule is first.\n if (!next || (iter && next.compare(iter.last) > 0)) {\n // must be cloned, recur will reuse the time element.\n next = iter.last.clone();\n // move to next so we can continue\n iter.next();\n }\n\n // if the ruleDate is still next increment it.\n if (this.ruleDate === next) {\n this._nextRuleDay();\n }\n\n this.last = next;\n\n // check the negative rules\n if (this.exDate) {\n compare = this.exDate.compare(this.last);\n\n if (compare < 0) {\n this._nextExDay();\n }\n\n // if the current rule is excluded skip it.\n if (compare === 0) {\n this._nextExDay();\n continue;\n }\n }\n\n //XXX: The spec states that after we resolve the final\n // list of dates we execute exdate this seems somewhat counter\n // intuitive to what I have seen most servers do so for now\n // I exclude based on the original date not the one that may\n // have been modified by the exception.\n return this.last;\n }\n },\n\n /**\n * Converts object into a serialize-able format. This format can be passed\n * back into the expansion to resume iteration.\n * @return {Object}\n */\n toJSON: function() {\n function toJSON(item) {\n return item.toJSON();\n }\n\n var result = Object.create(null);\n result.ruleIterators = this.ruleIterators.map(toJSON);\n\n if (this.ruleDates) {\n result.ruleDates = this.ruleDates.map(toJSON);\n }\n\n if (this.exDates) {\n result.exDates = this.exDates.map(toJSON);\n }\n\n result.ruleDateInc = this.ruleDateInc;\n result.exDateInc = this.exDateInc;\n result.last = this.last.toJSON();\n result.dtstart = this.dtstart.toJSON();\n result.complete = this.complete;\n\n return result;\n },\n\n /**\n * Extract all dates from the properties in the given component. The\n * properties will be filtered by the property name.\n *\n * @private\n * @param {ICAL.Component} component The component to search in\n * @param {String} propertyName The property name to search for\n * @return {ICAL.Time[]} The extracted dates.\n */\n _extractDates: function(component, propertyName) {\n function handleProp(prop) {\n idx = ICAL.helpers.binsearchInsert(\n result,\n prop,\n compareTime\n );\n\n // ordered insert\n result.splice(idx, 0, prop);\n }\n\n var result = [];\n var props = component.getAllProperties(propertyName);\n var len = props.length;\n var i = 0;\n var prop;\n\n var idx;\n\n for (; i < len; i++) {\n props[i].getValues().forEach(handleProp);\n }\n\n return result;\n },\n\n /**\n * Initialize the recurrence expansion.\n *\n * @private\n * @param {ICAL.Component} component The component to initialize from.\n */\n _init: function(component) {\n this.ruleIterators = [];\n\n this.last = this.dtstart.clone();\n\n // to provide api consistency non-recurring\n // events can also use the iterator though it will\n // only return a single time.\n if (!isRecurringComponent(component)) {\n this.ruleDate = this.last.clone();\n this.complete = true;\n return;\n }\n\n if (component.hasProperty('rdate')) {\n this.ruleDates = this._extractDates(component, 'rdate');\n\n // special hack for cases where first rdate is prior\n // to the start date. We only check for the first rdate.\n // This is mostly for google's crazy recurring date logic\n // (contacts birthdays).\n if ((this.ruleDates[0]) &&\n (this.ruleDates[0].compare(this.dtstart) < 0)) {\n\n this.ruleDateInc = 0;\n this.last = this.ruleDates[0].clone();\n } else {\n this.ruleDateInc = ICAL.helpers.binsearchInsert(\n this.ruleDates,\n this.last,\n compareTime\n );\n }\n\n this.ruleDate = this.ruleDates[this.ruleDateInc];\n }\n\n if (component.hasProperty('rrule')) {\n var rules = component.getAllProperties('rrule');\n var i = 0;\n var len = rules.length;\n\n var rule;\n var iter;\n\n for (; i < len; i++) {\n rule = rules[i].getFirstValue();\n iter = rule.iterator(this.dtstart);\n this.ruleIterators.push(iter);\n\n // increment to the next occurrence so future\n // calls to next return times beyond the initial iteration.\n // XXX: I find this suspicious might be a bug?\n iter.next();\n }\n }\n\n if (component.hasProperty('exdate')) {\n this.exDates = this._extractDates(component, 'exdate');\n // if we have a .last day we increment the index to beyond it.\n this.exDateInc = ICAL.helpers.binsearchInsert(\n this.exDates,\n this.last,\n compareTime\n );\n\n this.exDate = this.exDates[this.exDateInc];\n }\n },\n\n /**\n * Advance to the next exdate\n * @private\n */\n _nextExDay: function() {\n this.exDate = this.exDates[++this.exDateInc];\n },\n\n /**\n * Advance to the next rule date\n * @private\n */\n _nextRuleDay: function() {\n this.ruleDate = this.ruleDates[++this.ruleDateInc];\n },\n\n /**\n * Find and return the recurrence rule with the most recent event and\n * return it.\n *\n * @private\n * @return {?ICAL.RecurIterator} Found iterator.\n */\n _nextRecurrenceIter: function() {\n var iters = this.ruleIterators;\n\n if (iters.length === 0) {\n return null;\n }\n\n var len = iters.length;\n var iter;\n var iterTime;\n var iterIdx = 0;\n var chosenIter;\n\n // loop through each iterator\n for (; iterIdx < len; iterIdx++) {\n iter = iters[iterIdx];\n iterTime = iter.last;\n\n // if iteration is complete\n // then we must exclude it from\n // the search and remove it.\n if (iter.completed) {\n len--;\n if (iterIdx !== 0) {\n iterIdx--;\n }\n iters.splice(iterIdx, 1);\n continue;\n }\n\n // find the most recent possible choice\n if (!chosenIter || chosenIter.last.compare(iterTime) > 0) {\n // that iterator is saved\n chosenIter = iter;\n }\n }\n\n // the chosen iterator is returned but not mutated\n // this iterator contains the most recent event.\n return chosenIter;\n }\n };\n\n return RecurExpansion;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.Event = (function() {\n\n /**\n * @classdesc\n * ICAL.js is organized into multiple layers. The bottom layer is a raw jCal\n * object, followed by the component/property layer. The highest level is the\n * event representation, which this class is part of. See the\n * {@tutorial layers} guide for more details.\n *\n * @class\n * @alias ICAL.Event\n * @param {ICAL.Component=} component The ICAL.Component to base this event on\n * @param {Object} options Options for this event\n * @param {Boolean} options.strictExceptions\n * When true, will verify exceptions are related by their UUID\n * @param {Array<ICAL.Component|ICAL.Event>} options.exceptions\n * Exceptions to this event, either as components or events. If not\n * specified exceptions will automatically be set in relation of\n * component's parent\n */\n function Event(component, options) {\n if (!(component instanceof ICAL.Component)) {\n options = component;\n component = null;\n }\n\n if (component) {\n this.component = component;\n } else {\n this.component = new ICAL.Component('vevent');\n }\n\n this._rangeExceptionCache = Object.create(null);\n this.exceptions = Object.create(null);\n this.rangeExceptions = [];\n\n if (options && options.strictExceptions) {\n this.strictExceptions = options.strictExceptions;\n }\n\n if (options && options.exceptions) {\n options.exceptions.forEach(this.relateException, this);\n } else if (this.component.parent && !this.isRecurrenceException()) {\n this.component.parent.getAllSubcomponents('vevent').forEach(function(event) {\n if (event.hasProperty('recurrence-id')) {\n this.relateException(event);\n }\n }, this);\n }\n }\n\n Event.prototype = {\n\n THISANDFUTURE: 'THISANDFUTURE',\n\n /**\n * List of related event exceptions.\n *\n * @type {ICAL.Event[]}\n */\n exceptions: null,\n\n /**\n * When true, will verify exceptions are related by their UUID.\n *\n * @type {Boolean}\n */\n strictExceptions: false,\n\n /**\n * Relates a given event exception to this object. If the given component\n * does not share the UID of this event it cannot be related and will throw\n * an exception.\n *\n * If this component is an exception it cannot have other exceptions\n * related to it.\n *\n * @param {ICAL.Component|ICAL.Event} obj Component or event\n */\n relateException: function(obj) {\n if (this.isRecurrenceException()) {\n throw new Error('cannot relate exception to exceptions');\n }\n\n if (obj instanceof ICAL.Component) {\n obj = new ICAL.Event(obj);\n }\n\n if (this.strictExceptions && obj.uid !== this.uid) {\n throw new Error('attempted to relate unrelated exception');\n }\n\n var id = obj.recurrenceId.toString();\n\n // we don't sort or manage exceptions directly\n // here the recurrence expander handles that.\n this.exceptions[id] = obj;\n\n // index RANGE=THISANDFUTURE exceptions so we can\n // look them up later in getOccurrenceDetails.\n if (obj.modifiesFuture()) {\n var item = [\n obj.recurrenceId.toUnixTime(), id\n ];\n\n // we keep them sorted so we can find the nearest\n // value later on...\n var idx = ICAL.helpers.binsearchInsert(\n this.rangeExceptions,\n item,\n compareRangeException\n );\n\n this.rangeExceptions.splice(idx, 0, item);\n }\n },\n\n /**\n * Checks if this record is an exception and has the RANGE=THISANDFUTURE\n * value.\n *\n * @return {Boolean} True, when exception is within range\n */\n modifiesFuture: function() {\n if (!this.component.hasProperty('recurrence-id')) {\n return false;\n }\n\n var range = this.component.getFirstProperty('recurrence-id').getParameter('range');\n return range === this.THISANDFUTURE;\n },\n\n /**\n * Finds the range exception nearest to the given date.\n *\n * @param {ICAL.Time} time usually an occurrence time of an event\n * @return {?ICAL.Event} the related event/exception or null\n */\n findRangeException: function(time) {\n if (!this.rangeExceptions.length) {\n return null;\n }\n\n var utc = time.toUnixTime();\n var idx = ICAL.helpers.binsearchInsert(\n this.rangeExceptions,\n [utc],\n compareRangeException\n );\n\n idx -= 1;\n\n // occurs before\n if (idx < 0) {\n return null;\n }\n\n var rangeItem = this.rangeExceptions[idx];\n\n /* istanbul ignore next: sanity check only */\n if (utc < rangeItem[0]) {\n return null;\n }\n\n return rangeItem[1];\n },\n\n /**\n * This object is returned by {@link ICAL.Event#getOccurrenceDetails getOccurrenceDetails}\n *\n * @typedef {Object} occurrenceDetails\n * @memberof ICAL.Event\n * @property {ICAL.Time} recurrenceId The passed in recurrence id\n * @property {ICAL.Event} item The occurrence\n * @property {ICAL.Time} startDate The start of the occurrence\n * @property {ICAL.Time} endDate The end of the occurrence\n */\n\n /**\n * Returns the occurrence details based on its start time. If the\n * occurrence has an exception will return the details for that exception.\n *\n * NOTE: this method is intend to be used in conjunction\n * with the {@link ICAL.Event#iterator iterator} method.\n *\n * @param {ICAL.Time} occurrence time occurrence\n * @return {ICAL.Event.occurrenceDetails} Information about the occurrence\n */\n getOccurrenceDetails: function(occurrence) {\n var id = occurrence.toString();\n var utcId = occurrence.convertToZone(ICAL.Timezone.utcTimezone).toString();\n var item;\n var result = {\n //XXX: Clone?\n recurrenceId: occurrence\n };\n\n if (id in this.exceptions) {\n item = result.item = this.exceptions[id];\n result.startDate = item.startDate;\n result.endDate = item.endDate;\n result.item = item;\n } else if (utcId in this.exceptions) {\n item = this.exceptions[utcId];\n result.startDate = item.startDate;\n result.endDate = item.endDate;\n result.item = item;\n } else {\n // range exceptions (RANGE=THISANDFUTURE) have a\n // lower priority then direct exceptions but\n // must be accounted for first. Their item is\n // always the first exception with the range prop.\n var rangeExceptionId = this.findRangeException(\n occurrence\n );\n var end;\n\n if (rangeExceptionId) {\n var exception = this.exceptions[rangeExceptionId];\n\n // range exception must modify standard time\n // by the difference (if any) in start/end times.\n result.item = exception;\n\n var startDiff = this._rangeExceptionCache[rangeExceptionId];\n\n if (!startDiff) {\n var original = exception.recurrenceId.clone();\n var newStart = exception.startDate.clone();\n\n // zones must be same otherwise subtract may be incorrect.\n original.zone = newStart.zone;\n startDiff = newStart.subtractDate(original);\n\n this._rangeExceptionCache[rangeExceptionId] = startDiff;\n }\n\n var start = occurrence.clone();\n start.zone = exception.startDate.zone;\n start.addDuration(startDiff);\n\n end = start.clone();\n end.addDuration(exception.duration);\n\n result.startDate = start;\n result.endDate = end;\n } else {\n // no range exception standard expansion\n end = occurrence.clone();\n end.addDuration(this.duration);\n\n result.endDate = end;\n result.startDate = occurrence;\n result.item = this;\n }\n }\n\n return result;\n },\n\n /**\n * Builds a recur expansion instance for a specific point in time (defaults\n * to startDate).\n *\n * @param {ICAL.Time} startTime Starting point for expansion\n * @return {ICAL.RecurExpansion} Expansion object\n */\n iterator: function(startTime) {\n return new ICAL.RecurExpansion({\n component: this.component,\n dtstart: startTime || this.startDate\n });\n },\n\n /**\n * Checks if the event is recurring\n *\n * @return {Boolean} True, if event is recurring\n */\n isRecurring: function() {\n var comp = this.component;\n return comp.hasProperty('rrule') || comp.hasProperty('rdate');\n },\n\n /**\n * Checks if the event describes a recurrence exception. See\n * {@tutorial terminology} for details.\n *\n * @return {Boolean} True, if the even describes a recurrence exception\n */\n isRecurrenceException: function() {\n return this.component.hasProperty('recurrence-id');\n },\n\n /**\n * Returns the types of recurrences this event may have.\n *\n * Returned as an object with the following possible keys:\n *\n * - YEARLY\n * - MONTHLY\n * - WEEKLY\n * - DAILY\n * - MINUTELY\n * - SECONDLY\n *\n * @return {Object.<ICAL.Recur.frequencyValues, Boolean>}\n * Object of recurrence flags\n */\n getRecurrenceTypes: function() {\n var rules = this.component.getAllProperties('rrule');\n var i = 0;\n var len = rules.length;\n var result = Object.create(null);\n\n for (; i < len; i++) {\n var value = rules[i].getFirstValue();\n result[value.freq] = true;\n }\n\n return result;\n },\n\n /**\n * The uid of this event\n * @type {String}\n */\n get uid() {\n return this._firstProp('uid');\n },\n\n set uid(value) {\n this._setProp('uid', value);\n },\n\n /**\n * The start date\n * @type {ICAL.Time}\n */\n get startDate() {\n return this._firstProp('dtstart');\n },\n\n set startDate(value) {\n this._setTime('dtstart', value);\n },\n\n /**\n * The end date. This can be the result directly from the property, or the\n * end date calculated from start date and duration. Setting the property\n * will remove any duration properties.\n * @type {ICAL.Time}\n */\n get endDate() {\n var endDate = this._firstProp('dtend');\n if (!endDate) {\n var duration = this._firstProp('duration');\n endDate = this.startDate.clone();\n if (duration) {\n endDate.addDuration(duration);\n } else if (endDate.isDate) {\n endDate.day += 1;\n }\n }\n return endDate;\n },\n\n set endDate(value) {\n if (this.component.hasProperty('duration')) {\n this.component.removeProperty('duration');\n }\n this._setTime('dtend', value);\n },\n\n /**\n * The duration. This can be the result directly from the property, or the\n * duration calculated from start date and end date. Setting the property\n * will remove any `dtend` properties.\n * @type {ICAL.Duration}\n */\n get duration() {\n var duration = this._firstProp('duration');\n if (!duration) {\n return this.endDate.subtractDateTz(this.startDate);\n }\n return duration;\n },\n\n set duration(value) {\n if (this.component.hasProperty('dtend')) {\n this.component.removeProperty('dtend');\n }\n\n this._setProp('duration', value);\n },\n\n /**\n * The location of the event.\n * @type {String}\n */\n get location() {\n return this._firstProp('location');\n },\n\n set location(value) {\n return this._setProp('location', value);\n },\n\n /**\n * The attendees in the event\n * @type {ICAL.Property[]}\n * @readonly\n */\n get attendees() {\n //XXX: This is way lame we should have a better\n // data structure for this later.\n return this.component.getAllProperties('attendee');\n },\n\n\n /**\n * The event summary\n * @type {String}\n */\n get summary() {\n return this._firstProp('summary');\n },\n\n set summary(value) {\n this._setProp('summary', value);\n },\n\n /**\n * The event description.\n * @type {String}\n */\n get description() {\n return this._firstProp('description');\n },\n\n set description(value) {\n this._setProp('description', value);\n },\n\n /**\n * The organizer value as an uri. In most cases this is a mailto: uri, but\n * it can also be something else, like urn:uuid:...\n * @type {String}\n */\n get organizer() {\n return this._firstProp('organizer');\n },\n\n set organizer(value) {\n this._setProp('organizer', value);\n },\n\n /**\n * The sequence value for this event. Used for scheduling\n * see {@tutorial terminology}.\n * @type {Number}\n */\n get sequence() {\n return this._firstProp('sequence');\n },\n\n set sequence(value) {\n this._setProp('sequence', value);\n },\n\n /**\n * The recurrence id for this event. See {@tutorial terminology} for details.\n * @type {ICAL.Time}\n */\n get recurrenceId() {\n return this._firstProp('recurrence-id');\n },\n\n set recurrenceId(value) {\n this._setTime('recurrence-id', value);\n },\n\n /**\n * Set/update a time property's value.\n * This will also update the TZID of the property.\n *\n * TODO: this method handles the case where we are switching\n * from a known timezone to an implied timezone (one without TZID).\n * This does _not_ handle the case of moving between a known\n * (by TimezoneService) timezone to an unknown timezone...\n *\n * We will not add/remove/update the VTIMEZONE subcomponents\n * leading to invalid ICAL data...\n * @private\n * @param {String} propName The property name\n * @param {ICAL.Time} time The time to set\n */\n _setTime: function(propName, time) {\n var prop = this.component.getFirstProperty(propName);\n\n if (!prop) {\n prop = new ICAL.Property(propName);\n this.component.addProperty(prop);\n }\n\n // utc and local don't get a tzid\n if (\n time.zone === ICAL.Timezone.localTimezone ||\n time.zone === ICAL.Timezone.utcTimezone\n ) {\n // remove the tzid\n prop.removeParameter('tzid');\n } else {\n prop.setParameter('tzid', time.zone.tzid);\n }\n\n prop.setValue(time);\n },\n\n _setProp: function(name, value) {\n this.component.updatePropertyWithValue(name, value);\n },\n\n _firstProp: function(name) {\n return this.component.getFirstPropertyValue(name);\n },\n\n /**\n * The string representation of this event.\n * @return {String}\n */\n toString: function() {\n return this.component.toString();\n }\n\n };\n\n function compareRangeException(a, b) {\n if (a[0] > b[0]) return 1;\n if (b[0] > a[0]) return -1;\n return 0;\n }\n\n return Event;\n}());\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/.\n * Portions Copyright (C) Philipp Kewisch, 2011-2015 */\n\n\n/**\n * This symbol is further described later on\n * @ignore\n */\nICAL.ComponentParser = (function() {\n /**\n * @classdesc\n * The ComponentParser is used to process a String or jCal Object,\n * firing callbacks for various found components, as well as completion.\n *\n * @example\n * var options = {\n * // when false no events will be emitted for type\n * parseEvent: true,\n * parseTimezone: true\n * };\n *\n * var parser = new ICAL.ComponentParser(options);\n *\n * parser.onevent(eventComponent) {\n * //...\n * }\n *\n * // ontimezone, etc...\n *\n * parser.oncomplete = function() {\n *\n * };\n *\n * parser.process(stringOrComponent);\n *\n * @class\n * @alias ICAL.ComponentParser\n * @param {Object=} options Component parser options\n * @param {Boolean} options.parseEvent Whether events should be parsed\n * @param {Boolean} options.parseTimezeone Whether timezones should be parsed\n */\n function ComponentParser(options) {\n if (typeof(options) === 'undefined') {\n options = {};\n }\n\n var key;\n for (key in options) {\n /* istanbul ignore else */\n if (options.hasOwnProperty(key)) {\n this[key] = options[key];\n }\n }\n }\n\n ComponentParser.prototype = {\n\n /**\n * When true, parse events\n *\n * @type {Boolean}\n */\n parseEvent: true,\n\n /**\n * When true, parse timezones\n *\n * @type {Boolean}\n */\n parseTimezone: true,\n\n\n /* SAX like events here for reference */\n\n /**\n * Fired when parsing is complete\n * @callback\n */\n oncomplete: /* istanbul ignore next */ function() {},\n\n /**\n * Fired if an error occurs during parsing.\n *\n * @callback\n * @param {Error} err details of error\n */\n onerror: /* istanbul ignore next */ function(err) {},\n\n /**\n * Fired when a top level component (VTIMEZONE) is found\n *\n * @callback\n * @param {ICAL.Timezone} component Timezone object\n */\n ontimezone: /* istanbul ignore next */ function(component) {},\n\n /**\n * Fired when a top level component (VEVENT) is found.\n *\n * @callback\n * @param {ICAL.Event} component Top level component\n */\n onevent: /* istanbul ignore next */ function(component) {},\n\n /**\n * Process a string or parse ical object. This function itself will return\n * nothing but will start the parsing process.\n *\n * Events must be registered prior to calling this method.\n *\n * @param {ICAL.Component|String|Object} ical The component to process,\n * either in its final form, as a jCal Object, or string representation\n */\n process: function(ical) {\n //TODO: this is sync now in the future we will have a incremental parser.\n if (typeof(ical) === 'string') {\n ical = ICAL.parse(ical);\n }\n\n if (!(ical instanceof ICAL.Component)) {\n ical = new ICAL.Component(ical);\n }\n\n var components = ical.getAllSubcomponents();\n var i = 0;\n var len = components.length;\n var component;\n\n for (; i < len; i++) {\n component = components[i];\n\n switch (component.name) {\n case 'vtimezone':\n if (this.parseTimezone) {\n var tzid = component.getFirstPropertyValue('tzid');\n if (tzid) {\n this.ontimezone(new ICAL.Timezone({\n tzid: tzid,\n component: component\n }));\n }\n }\n break;\n case 'vevent':\n if (this.parseEvent) {\n this.onevent(new ICAL.Event(component));\n }\n break;\n default:\n continue;\n }\n }\n\n //XXX: ideally we should do a \"nextTick\" here\n // so in all cases this is actually async.\n this.oncomplete();\n }\n };\n\n return ComponentParser;\n}());\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i], vm);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n if (!valid && haveExpectedTypes) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\nfunction assertType (value, type, vm) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n try {\n valid = value instanceof type;\n } catch (e) {\n warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n valid = false;\n }\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\nvar functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(functionTypeCheckRE);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n // check if we need to specify expected value\n if (\n expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n isExplicable(typeof value) &&\n !isBoolean(expectedType, receivedType)\n ) {\n message += \" with value \" + (styleValue(value, expectedType));\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nvar EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable (value) {\n return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n var vnode = res && res[0];\n return res && (\n !vnode ||\n (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode)) // #9658, #10391\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallbackRender,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) {\n // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn('slot v-bind without argument expects an Object', this);\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes =\n scopedSlotFn(props) ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n } else {\n nodes =\n this.$slots[name] ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n return eventKeyCode === undefined\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n // we know it's MountedComponentVNode but flow doesn't\n vnode,\n // activeInstance in lifecycle state\n parent\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn) && data.tag !== 'component') {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) ||\n (!newScopedSlots && vm.$scopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n var info = \"callback for watcher \\\"\" + (this.expression) + \"\\\"\";\n invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info);\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n } else if (vm.$options.methods && key in vm.$options.methods) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a method.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n var info = \"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\";\n pushTarget();\n invokeWithErrorHandling(cb, vm, [watcher.value], vm, info);\n popTarget();\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var entry = cache[key];\n if (entry) {\n var name = entry.name;\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var entry = cache[key];\n if (entry && (!current || entry.tag !== current.tag)) {\n entry.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n methods: {\n cacheVNode: function cacheVNode() {\n var ref = this;\n var cache = ref.cache;\n var keys = ref.keys;\n var vnodeToCache = ref.vnodeToCache;\n var keyToCache = ref.keyToCache;\n if (vnodeToCache) {\n var tag = vnodeToCache.tag;\n var componentInstance = vnodeToCache.componentInstance;\n var componentOptions = vnodeToCache.componentOptions;\n cache[keyToCache] = {\n name: getComponentName(componentOptions),\n tag: tag,\n componentInstance: componentInstance,\n };\n keys.push(keyToCache);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n this.vnodeToCache = null;\n }\n }\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.cacheVNode();\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n updated: function updated () {\n this.cacheVNode();\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n // delay setting the cache until update\n this.vnodeToCache = vnode;\n this.keyToCache = key;\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.14';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n // allow arbitrary string value for contenteditable\n : key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n createElement: createElement$1,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n};\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key &&\n a.asyncFactory === b.asyncFactory && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove$$1 () {\n if (--remove$$1.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove$$1.listeners = listeners;\n return remove$$1\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (nodeOps.parentNode(ref$$1) === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (\n oldVnode,\n vnode,\n insertedVnodeQueue,\n ownerArray,\n index,\n removeOnly\n ) {\n if (oldVnode === vnode) {\n return\n }\n\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes([oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n];\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur, vnode.data.pre);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value, isInPre) {\n if (isInPre || el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, convertEnumeratedValue(key, value));\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && value !== '' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n};\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n};\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n name,\n handler,\n capture,\n passive\n) {\n // async edge case #6566: inner click event triggers patch, event handler\n // attached to outer element during patch, and triggered again. This\n // happens because browsers fire microtask ticks between event propagation.\n // the solution is simple: we save the timestamp when a handler is attached,\n // and the handler would only fire if the event passed to it was fired\n // AFTER it was attached.\n if (useMicrotaskFix) {\n var attachedTimestamp = currentFlushTimestamp;\n var original = handler;\n handler = original._wrapper = function (e) {\n if (\n // no bubbling, should always fire.\n // this is just a safety net in case event.timeStamp is unreliable in\n // certain weird environments...\n e.target === e.currentTarget ||\n // event is fired after handler attachment\n e.timeStamp >= attachedTimestamp ||\n // bail for environments that have buggy event.timeStamp implementations\n // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n // #9681 QtWebEngine event.timeStamp is negative value\n e.timeStamp <= 0 ||\n // #9448 bail if event is fired in another document in a multi-page\n // electron/nw.js app, since event.timeStamp will be using a different\n // starting reference\n e.target.ownerDocument !== document\n ) {\n return original.apply(this, arguments)\n }\n };\n }\n target$1.addEventListener(\n name,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n name,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n name,\n handler._wrapper || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n};\n\n/* */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (!(key in props)) {\n elm[key] = '';\n }\n }\n\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value' && elm.tagName !== 'PROGRESS') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n // IE doesn't support innerHTML for SVG elements\n svgContainer = svgContainer || document.createElement('div');\n svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n var svg = svgContainer.firstChild;\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n while (svg.firstChild) {\n elm.appendChild(svg.firstChild);\n }\n } else if (\n // skip the update if old and new VDOM state is the same.\n // `value` is handled separately because the DOM value may be temporarily\n // out of sync with VDOM state due to focus, composition and modifiers.\n // This #4521 by skipping the unnecessary `checked` update.\n cur !== oldProps[key]\n ) {\n // some property updates can throw\n // e.g. `value` on <progress> w/ non-finite value\n try {\n elm[key] = cur;\n } catch (e) {}\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n};\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n};\n\n/* */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def$$1) {\n if (!def$$1) {\n return\n }\n /* istanbul ignore else */\n if (typeof def$$1 === 'object') {\n var res = {};\n if (def$$1.css !== false) {\n extend(res, autoCssTransition(def$$1.name || 'v'));\n }\n extend(res, def$$1);\n return res\n } else if (typeof def$$1 === 'string') {\n return autoCssTransition(def$$1)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n // JSDOM may return undefined for transition properties\n var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n context = transitionNode.context;\n transitionNode = transitionNode.parent;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show && el.parentNode) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {};\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n];\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n};\n\nvar platformDirectives = {\n model: directive,\n show: show\n};\n\n/* */\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(isNotTextNode);\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n};\n\n/* */\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n beforeMount: function beforeMount () {\n var this$1 = this;\n\n var update = this._update;\n this._update = function (vnode, hydrating) {\n var restoreActiveInstance = setActiveInstance(this$1);\n // force removing pass\n this$1.__patch__(\n this$1._vnode,\n this$1.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this$1._vnode = this$1.kept;\n restoreActiveInstance();\n update.call(this$1, vnode, hydrating);\n };\n },\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (e && e.target !== el) {\n return\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n};\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n};\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test'\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nexport default Vue;\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.object.assign.js\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _axios = _interopRequireDefault(require(\"axios\"));\n\nvar _auth = require(\"@nextcloud/auth\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar client = _axios.default.create({\n headers: {\n requesttoken: (0, _auth.getRequestToken)()\n }\n});\n\nvar cancelableClient = Object.assign(client, {\n CancelToken: _axios.default.CancelToken,\n isCancel: _axios.default.isCancel\n});\n(0, _auth.onRequestTokenUpdate)(function (token) {\n return client.defaults.headers.requesttoken = token;\n});\nvar _default = cancelableClient;\nexports.default = _default;\n//# sourceMappingURL=index.js.map","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRootUrl = exports.generateFilePath = exports.imagePath = exports.generateUrl = exports.generateOcsUrl = exports.generateRemoteUrl = exports.linkTo = void 0;\n\nrequire(\"core-js/modules/es.string.replace.js\");\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Get an url with webroot to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} URL with webroot to a file\n */\nconst linkTo = (app, file) => generateFilePath(app, '', file);\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\n\n\nexports.linkTo = linkTo;\n\nconst linkToRemoteBase = service => getRootUrl() + '/remote.php/' + service;\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\n\n\nconst generateRemoteUrl = service => window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} url OCS API service url\n * @param {object} params parameters to be replaced into the service url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @param {Number} options.ocsVersion OCS version to use (defaults to 2)\n * @return {string} Absolute path for the OCS URL\n */\n\n\nexports.generateRemoteUrl = generateRemoteUrl;\n\nconst generateOcsUrl = (url, params, options) => {\n const allOptions = Object.assign({\n ocsVersion: 2\n }, options || {});\n const version = allOptions.ocsVersion === 1 ? 1 : 2;\n return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php' + _generateUrlPath(url, params, options);\n};\n\nexports.generateOcsUrl = generateOcsUrl;\n\n/**\n * Generate a url path, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the address\n * @param {UrlOptions} options options for the parameter replacement\n * @return {string} Path part for the given URL\n */\nconst _generateUrlPath = (url, params, options) => {\n const allOptions = Object.assign({\n escape: true\n }, options || {});\n\n const _build = function (text, vars) {\n vars = vars || {};\n return text.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (allOptions.escape) {\n return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n }\n });\n };\n\n if (url.charAt(0) !== '/') {\n url = '/' + url;\n }\n\n return _build(url, params || {});\n};\n/**\n * Generate the url with webroot for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.noRewrite True if you want to force index.php being added\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @return {string} URL with webroot for the given relative URL\n */\n\n\nconst generateUrl = (url, params, options) => {\n const allOptions = Object.assign({\n noRewrite: false\n }, options || {});\n\n if (OC.config.modRewriteWorking === true && !allOptions.noRewrite) {\n return getRootUrl() + _generateUrlPath(url, params, options);\n }\n\n return getRootUrl() + '/index.php' + _generateUrlPath(url, params, options);\n};\n/**\n * Get the path with webroot to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\n\n\nexports.generateUrl = generateUrl;\n\nconst imagePath = (app, file) => {\n if (file.indexOf('.') === -1) {\n //if no extension is given, use svg\n return generateFilePath(app, 'img', file + '.svg');\n }\n\n return generateFilePath(app, 'img', file);\n};\n/**\n * Get the url with webroot for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} URL with webroot for a file in an app\n */\n\n\nexports.imagePath = imagePath;\n\nconst generateFilePath = (app, type, file) => {\n const isCore = OC.coreApps.indexOf(app) !== -1;\n let link = getRootUrl();\n\n if (file.substring(file.length - 3) === 'php' && !isCore) {\n link += '/index.php/apps/' + app;\n\n if (file !== 'index.php') {\n link += '/';\n\n if (type) {\n link += encodeURI(type + '/');\n }\n\n link += file;\n }\n } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n link = OC.appswebroots[app];\n\n if (type) {\n link += '/' + type + '/';\n }\n\n if (link.substring(link.length - 1) !== '/') {\n link += '/';\n }\n\n link += file;\n } else {\n if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n link += '/index.php/';\n } else {\n link += '/';\n }\n\n if (!isCore) {\n link += 'apps/';\n }\n\n if (app !== '') {\n app += '/';\n link += app;\n }\n\n if (type) {\n link += type + '/';\n }\n\n link += file;\n }\n\n return link;\n};\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\n\n\nexports.generateFilePath = generateFilePath;\n\nconst getRootUrl = () => OC.webroot;\n\nexports.getRootUrl = getRootUrl;\n//# sourceMappingURL=index.js.map","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && typeof btoa !== 'undefined') {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isSymbol = require('../internals/is-symbol');\n\nmodule.exports = function (argument) {\n if (isSymbol(argument)) throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"getRequestToken\", {\n enumerable: true,\n get: function get() {\n return _requesttoken.getRequestToken;\n }\n});\nObject.defineProperty(exports, \"onRequestTokenUpdate\", {\n enumerable: true,\n get: function get() {\n return _requesttoken.onRequestTokenUpdate;\n }\n});\nObject.defineProperty(exports, \"getCurrentUser\", {\n enumerable: true,\n get: function get() {\n return _user.getCurrentUser;\n }\n});\n\nvar _requesttoken = require(\"./requesttoken\");\n\nvar _user = require(\"./user\");\n//# sourceMappingURL=index.js.map","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = escapeHtml;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34: // \"\n escape = '&quot;';\n break;\n case 38: // &\n escape = '&amp;';\n break;\n case 39: // '\n escape = '&#39;';\n break;\n case 60: // <\n escape = '&lt;';\n break;\n case 62: // >\n escape = '&gt;';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index\n ? html + str.substring(lastIndex, index)\n : html;\n}\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue === 'string' &&\n replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1 &&\n replaceValue.indexOf('$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = toString(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var getBuiltIn = require('../internals/get-built-in');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return typeof $Symbol == 'function' && Object(it) instanceof $Symbol;\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","module.exports = false;\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","import _typeof from '@babel/runtime/helpers/typeof';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/createClass';\nimport Popper from 'popper.js';\nimport isEqual from 'lodash/isEqual';\nimport { ResizeObserver } from 'vue-resize';\nimport merge from 'lodash/merge';\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\n\nif (typeof window !== 'undefined') {\n SVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n return value;\n}\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\n\nfunction addClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n if (classList.indexOf(newClass) === -1) {\n classList.push(newClass);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\n\nfunction removeClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n var index = classList.indexOf(newClass);\n\n if (index !== -1) {\n classList.splice(index, 1);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar DEFAULT_OPTIONS = {\n container: false,\n delay: 0,\n html: false,\n placement: 'top',\n title: '',\n template: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n offset: 0\n};\nvar openTooltips = [];\n\nvar Tooltip = /*#__PURE__*/function () {\n /**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n * left(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n * If a number is supplied, delay is applied to both hide/show.\n * Object structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>']\n * Base HTML to used when creating the tooltip.\n * The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n * `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n * The outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n * How tooltip is triggered - click, hover, focus, manual.\n * You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n * The element used as boundaries for the tooltip. For more information refer to Popper.js'\n * [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n * [offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n * [options docs](https://popper.js.org/popper-documentation.html)\n * @param {string} [options.ariaId] Id used for accessibility\n * @return {Object} instance - The generated tooltip instance\n */\n function Tooltip(_reference, _options) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n _defineProperty(this, \"_events\", []);\n\n _defineProperty(this, \"_setTooltipNodeEvent\", function (evt, reference, delay, options) {\n var relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n var callback = function callback(evt2) {\n var relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget; // Remove event listener after call\n\n _this._tooltipNode.removeEventListener(evt.type, callback); // If the new reference is not the reference element\n\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this._scheduleHide(reference, options.delay, options, evt2);\n }\n };\n\n if (_this._tooltipNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n _this._tooltipNode.addEventListener(evt.type, callback);\n\n return true;\n }\n\n return false;\n });\n\n // apply user options over default ones\n _options = _objectSpread$2(_objectSpread$2({}, DEFAULT_OPTIONS), _options);\n _reference.jquery && (_reference = _reference[0]);\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this); // cache reference and options\n\n this.reference = _reference;\n this.options = _options; // set initial state\n\n this._isOpen = false;\n\n this._init();\n } //\n // Public methods\n //\n\n /**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n _createClass(Tooltip, [{\n key: \"show\",\n value: function show() {\n this._show(this.reference, this.options);\n }\n /**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n }, {\n key: \"hide\",\n value: function hide() {\n this._hide();\n }\n /**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._dispose();\n }\n /**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this._isOpen) {\n return this.hide();\n } else {\n return this.show();\n }\n }\n }, {\n key: \"setClasses\",\n value: function setClasses(classes) {\n this._classes = classes;\n }\n }, {\n key: \"setContent\",\n value: function setContent(content) {\n this.options.title = content;\n\n if (this._tooltipNode) {\n this._setContent(content, this.options);\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n var classesUpdated = false;\n var classes = options && options.classes || directive.options.defaultClass;\n\n if (!isEqual(this._classes, classes)) {\n this.setClasses(classes);\n classesUpdated = true;\n }\n\n options = getOptions(options);\n var needPopperUpdate = false;\n var needRestart = false;\n\n if (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n needPopperUpdate = true;\n }\n\n if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n needRestart = true;\n }\n\n for (var key in options) {\n this.options[key] = options[key];\n }\n\n if (this._tooltipNode) {\n if (needRestart) {\n var isOpen = this._isOpen;\n this.dispose();\n\n this._init();\n\n if (isOpen) {\n this.show();\n }\n } else if (needPopperUpdate) {\n this.popperInstance.update();\n }\n }\n } //\n // Private methods\n //\n\n }, {\n key: \"_init\",\n value: function _init() {\n // get events list\n var events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ') : [];\n this._isDisposed = false;\n this._enableDocumentTouch = events.indexOf('manual') === -1;\n events = events.filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }); // set event listeners\n\n this._setEventListeners(this.reference, events, this.options); // title attribute\n\n\n this.$_originalTitle = this.reference.getAttribute('title');\n this.reference.removeAttribute('title');\n this.reference.setAttribute('data-original-title', this.$_originalTitle);\n }\n /**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n }, {\n key: \"_create\",\n value: function _create(reference, template) {\n var _this2 = this;\n\n // create tooltip element\n var tooltipGenerator = window.document.createElement('div');\n tooltipGenerator.innerHTML = template.trim();\n var tooltipNode = tooltipGenerator.childNodes[0]; // add unique ID to our tooltip (needed for accessibility reasons)\n\n tooltipNode.id = this.options.ariaId || \"tooltip_\".concat(Math.random().toString(36).substr(2, 10)); // Initially hide the tooltip\n // The attribute will be switched in a next frame so\n // CSS transitions can play\n\n tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n tooltipNode.addEventListener('mouseenter', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n tooltipNode.addEventListener('click', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n } // return the generated tooltip node\n\n\n return tooltipNode;\n }\n }, {\n key: \"_setContent\",\n value: function _setContent(content, options) {\n var _this3 = this;\n\n this.asyncContent = false;\n\n this._applyContent(content, options).then(function () {\n if (!_this3.popperInstance) return;\n\n _this3.popperInstance.update();\n });\n }\n }, {\n key: \"_applyContent\",\n value: function _applyContent(title, options) {\n var _this4 = this;\n\n return new Promise(function (resolve, reject) {\n var allowHtml = options.html;\n var rootNode = _this4._tooltipNode;\n if (!rootNode) return;\n var titleNode = rootNode.querySelector(_this4.options.innerSelector);\n\n if (title.nodeType === 1) {\n // if title is a node, append it only if allowHtml is true\n if (allowHtml) {\n while (titleNode.firstChild) {\n titleNode.removeChild(titleNode.firstChild);\n }\n\n titleNode.appendChild(title);\n }\n } else if (typeof title === 'function') {\n // if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n var result = title();\n\n if (result && typeof result.then === 'function') {\n _this4.asyncContent = true;\n options.loadingClass && addClasses(rootNode, options.loadingClass);\n\n if (options.loadingContent) {\n _this4._applyContent(options.loadingContent, options);\n }\n\n result.then(function (asyncResult) {\n options.loadingClass && removeClasses(rootNode, options.loadingClass);\n return _this4._applyContent(asyncResult, options);\n }).then(resolve).catch(reject);\n } else {\n _this4._applyContent(result, options).then(resolve).catch(reject);\n }\n\n return;\n } else {\n // if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n }\n\n resolve();\n });\n }\n }, {\n key: \"_show\",\n value: function _show(reference, options) {\n if (options && typeof options.container === 'string') {\n var container = document.querySelector(options.container);\n if (!container) return;\n }\n\n clearTimeout(this._disposeTimer);\n options = Object.assign({}, options);\n delete options.offset;\n var updateClasses = true;\n\n if (this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n updateClasses = false;\n }\n\n var result = this._ensureShown(reference, options);\n\n if (updateClasses && this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n }\n\n addClasses(reference, ['v-tooltip-open']);\n return result;\n }\n }, {\n key: \"_ensureShown\",\n value: function _ensureShown(reference, options) {\n var _this5 = this;\n\n // don't show if it's already visible\n if (this._isOpen) {\n return this;\n }\n\n this._isOpen = true;\n openTooltips.push(this); // if the tooltipNode already exists, just show it\n\n if (this._tooltipNode) {\n this._tooltipNode.style.display = '';\n\n this._tooltipNode.setAttribute('aria-hidden', 'false');\n\n this.popperInstance.enableEventListeners();\n this.popperInstance.update();\n\n if (this.asyncContent) {\n this._setContent(options.title, options);\n }\n\n return this;\n } // get title\n\n\n var title = reference.getAttribute('title') || options.title; // don't show tooltip if no title is defined\n\n if (!title) {\n return this;\n } // create tooltip node\n\n\n var tooltipNode = this._create(reference, options.template);\n\n this._tooltipNode = tooltipNode; // Add `aria-describedby` to our reference element for accessibility reasons\n\n reference.setAttribute('aria-describedby', tooltipNode.id); // append tooltip to container\n\n var container = this._findContainer(options.container, reference);\n\n this._append(tooltipNode, container);\n\n var popperOptions = _objectSpread$2(_objectSpread$2({}, options.popperOptions), {}, {\n placement: options.placement\n });\n\n popperOptions.modifiers = _objectSpread$2(_objectSpread$2({}, popperOptions.modifiers), {}, {\n arrow: {\n element: this.options.arrowSelector\n }\n });\n\n if (options.boundariesElement) {\n popperOptions.modifiers.preventOverflow = {\n boundariesElement: options.boundariesElement\n };\n }\n\n this.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n this._setContent(title, options); // Fix position\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed && _this5.popperInstance) {\n _this5.popperInstance.update(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed) {\n _this5._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n } else {\n _this5.dispose();\n }\n });\n } else {\n _this5.dispose();\n }\n });\n return this;\n }\n }, {\n key: \"_noLongerOpen\",\n value: function _noLongerOpen() {\n var index = openTooltips.indexOf(this);\n\n if (index !== -1) {\n openTooltips.splice(index, 1);\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide()\n /* reference, options */\n {\n var _this6 = this;\n\n // don't hide if it's already hidden\n if (!this._isOpen) {\n return this;\n }\n\n this._isOpen = false;\n\n this._noLongerOpen(); // hide tooltipNode\n\n\n this._tooltipNode.style.display = 'none';\n\n this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this._disposeTimer);\n var disposeTime = directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this._disposeTimer = setTimeout(function () {\n if (_this6._tooltipNode) {\n _this6._tooltipNode.removeEventListener('mouseenter', _this6.hide);\n\n _this6._tooltipNode.removeEventListener('click', _this6.hide); // Don't remove popper instance, just the HTML element\n\n\n _this6._removeTooltipNode();\n }\n }, disposeTime);\n }\n\n removeClasses(this.reference, ['v-tooltip-open']);\n return this;\n }\n }, {\n key: \"_removeTooltipNode\",\n value: function _removeTooltipNode() {\n if (!this._tooltipNode) return;\n var parentNode = this._tooltipNode.parentNode;\n\n if (parentNode) {\n parentNode.removeChild(this._tooltipNode);\n this.reference.removeAttribute('aria-describedby');\n }\n\n this._tooltipNode = null;\n }\n }, {\n key: \"_dispose\",\n value: function _dispose() {\n var _this7 = this;\n\n this._isDisposed = true;\n this.reference.removeAttribute('data-original-title');\n\n if (this.$_originalTitle) {\n this.reference.setAttribute('title', this.$_originalTitle);\n } // remove event listeners first to prevent any unexpected behaviour\n\n\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this7.reference.removeEventListener(event, func);\n });\n\n this._events = [];\n\n if (this._tooltipNode) {\n this._hide();\n\n this._tooltipNode.removeEventListener('mouseenter', this.hide);\n\n this._tooltipNode.removeEventListener('click', this.hide); // destroy instance\n\n\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n this._removeTooltipNode();\n }\n } else {\n this._noLongerOpen();\n }\n\n return this;\n }\n }, {\n key: \"_findContainer\",\n value: function _findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n }\n /**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n }, {\n key: \"_append\",\n value: function _append(tooltipNode, container) {\n container.appendChild(tooltipNode);\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(reference, events, options) {\n var _this8 = this;\n\n var directEvents = [];\n var oppositeEvents = [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(evt) {\n if (_this8._isOpen === true) {\n return;\n }\n\n evt.usedByTooltip = true;\n\n _this8._scheduleShow(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(evt) {\n if (evt.usedByTooltip === true) {\n return;\n }\n\n _this8._scheduleHide(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n }\n }, {\n key: \"_onDocumentTouch\",\n value: function _onDocumentTouch(event) {\n if (this._enableDocumentTouch) {\n this._scheduleHide(this.reference, this.options.delay, this.options, event);\n }\n }\n }, {\n key: \"_scheduleShow\",\n value: function _scheduleShow(reference, delay, options\n /*, evt */\n ) {\n var _this9 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.show || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n return _this9._show(reference, options);\n }, computedDelay);\n }\n }, {\n key: \"_scheduleHide\",\n value: function _scheduleHide(reference, delay, options, evt) {\n var _this10 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.hide || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n if (_this10._isOpen === false) {\n return;\n }\n\n if (!_this10._tooltipNode.ownerDocument.body.contains(_this10._tooltipNode)) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (evt.type === 'mouseleave') {\n var isSet = _this10._setTooltipNodeEvent(evt, reference, delay, options); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this10._hide(reference, options);\n }, computedDelay);\n }\n }]);\n\n return Tooltip;\n}(); // Hide tooltips on touch devices\n\nif (typeof document !== 'undefined') {\n document.addEventListener('touchstart', function (event) {\n for (var i = 0; i < openTooltips.length; i++) {\n openTooltips[i]._onDocumentTouch(event);\n }\n }, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n}\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar state = {\n enabled: true\n};\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\nvar defaultOptions = {\n // Default tooltip placement relative to target element\n defaultPlacement: 'top',\n // Default CSS classes applied to the tooltip element\n defaultClass: 'vue-tooltip-theme',\n // Default CSS classes applied to the target element of the tooltip\n defaultTargetClass: 'has-tooltip',\n // Is the content HTML by default?\n defaultHtml: true,\n // Default HTML template of the tooltip element\n // It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n // Change if the classes conflict with other libraries (for example bootstrap)\n defaultTemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n // Selector used to get the arrow element in the tooltip template\n defaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n // Selector used to get the inner content element in the tooltip template\n defaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n // Delay (ms)\n defaultDelay: 0,\n // Default events that trigger the tooltip\n defaultTrigger: 'hover focus',\n // Default position offset (px)\n defaultOffset: 0,\n // Default container where the tooltip will be appended\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Class added when content is loading\n defaultLoadingClass: 'tooltip-loading',\n // Displayed when tooltip content is loading\n defaultLoadingContent: '...',\n // Hide on mouseover tooltip\n autoHide: true,\n // Close tooltip on click on tooltip target?\n defaultHideOnTargetClick: true,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 5000,\n // Options for popover\n popover: {\n defaultPlacement: 'bottom',\n // Use the `popoverClass` prop for theming\n defaultClass: 'vue-popover-theme',\n // Base class (change if conflicts with other libraries)\n defaultBaseClass: 'tooltip popover',\n // Wrapper class (contains arrow and inner)\n defaultWrapperClass: 'wrapper',\n // Inner content class\n defaultInnerClass: 'tooltip-inner popover-inner',\n // Arrow class\n defaultArrowClass: 'tooltip-arrow popover-arrow',\n // Class added when popover is open\n defaultOpenClass: 'open',\n defaultDelay: 0,\n defaultTrigger: 'click',\n defaultOffset: 0,\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Hides if clicked outside of popover\n defaultAutoHide: true,\n // Update popper on content resize\n defaultHandleResize: true\n }\n};\nfunction getOptions(options) {\n var result = {\n placement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n delay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n html: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n template: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n arrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n innerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n trigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n offset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n container: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n boundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n autoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n hideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n loadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n loadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n popperOptions: _objectSpread$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n };\n\n if (result.offset) {\n var typeofOffset = _typeof(result.offset);\n\n var offset = result.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n if (!result.popperOptions.modifiers) {\n result.popperOptions.modifiers = {};\n }\n\n result.popperOptions.modifiers.offset = {\n offset: offset\n };\n }\n\n if (result.trigger && result.trigger.indexOf('click') !== -1) {\n result.hideOnTargetClick = false;\n }\n\n return result;\n}\nfunction getPlacement(value, modifiers) {\n var placement = value.placement;\n\n for (var i = 0; i < positions.length; i++) {\n var pos = positions[i];\n\n if (modifiers[pos]) {\n placement = pos;\n }\n }\n\n return placement;\n}\nfunction getContent(value) {\n var type = _typeof(value);\n\n if (type === 'string') {\n return value;\n } else if (value && type === 'object') {\n return value.content;\n } else {\n return false;\n }\n}\nfunction createTooltip(el, value) {\n var modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = getContent(value);\n var classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\n var opts = _objectSpread$1({\n title: content\n }, getOptions(_objectSpread$1(_objectSpread$1({}, _typeof(value) === 'object' ? value : {}), {}, {\n placement: getPlacement(value, modifiers)\n })));\n\n var tooltip = el._tooltip = new Tooltip(el, opts);\n tooltip.setClasses(classes);\n tooltip._vueEl = el; // Class on target\n\n var targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n el._tooltipTargetClasses = targetClasses;\n addClasses(el, targetClasses);\n return tooltip;\n}\nfunction destroyTooltip(el) {\n if (el._tooltip) {\n el._tooltip.dispose();\n\n delete el._tooltip;\n delete el._tooltipOldShow;\n }\n\n if (el._tooltipTargetClasses) {\n removeClasses(el, el._tooltipTargetClasses);\n delete el._tooltipTargetClasses;\n }\n}\nfunction bind(el, _ref) {\n var value = _ref.value;\n _ref.oldValue;\n var modifiers = _ref.modifiers;\n var content = getContent(value);\n\n if (!content || !state.enabled) {\n destroyTooltip(el);\n } else {\n var tooltip;\n\n if (el._tooltip) {\n tooltip = el._tooltip; // Content\n\n tooltip.setContent(content); // Options\n\n tooltip.setOptions(_objectSpread$1(_objectSpread$1({}, value), {}, {\n placement: getPlacement(value, modifiers)\n }));\n } else {\n tooltip = createTooltip(el, value, modifiers);\n } // Manual show\n\n\n if (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n el._tooltipOldShow = value.show;\n value.show ? tooltip.show() : tooltip.hide();\n }\n }\n}\nvar directive = {\n options: defaultOptions,\n bind: bind,\n update: bind,\n unbind: function unbind(el) {\n destroyTooltip(el);\n }\n};\n\nfunction addListeners(el) {\n el.addEventListener('click', onClick);\n el.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\n\nfunction removeListeners(el) {\n el.removeEventListener('click', onClick);\n el.removeEventListener('touchstart', onTouchStart);\n el.removeEventListener('touchend', onTouchEnd);\n el.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n var el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n var touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener('touchend', onTouchEnd);\n el.addEventListener('touchcancel', onTouchCancel);\n }\n}\n\nfunction onTouchEnd(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n\n if (event.changedTouches.length === 1) {\n var touch = event.changedTouches[0];\n var firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\n\nfunction onTouchCancel(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n bind: function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n }\n },\n update: function update(el, _ref2) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (value !== oldValue) {\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind: function unbind(el) {\n removeListeners(el);\n }\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction getDefault(key) {\n var value = directive.options.popover[key];\n\n if (typeof value === 'undefined') {\n return directive.options[key];\n }\n\n return value;\n}\n\nvar isIOS = false;\n\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\n\nif (typeof window !== 'undefined') {\n Element = window.Element;\n}\n\nvar script = {\n name: 'VPopover',\n components: {\n ResizeObserver: ResizeObserver\n },\n props: {\n open: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n default: function _default() {\n return getDefault('defaultPlacement');\n }\n },\n delay: {\n type: [String, Number, Object],\n default: function _default() {\n return getDefault('defaultDelay');\n }\n },\n offset: {\n type: [String, Number],\n default: function _default() {\n return getDefault('defaultOffset');\n }\n },\n trigger: {\n type: String,\n default: function _default() {\n return getDefault('defaultTrigger');\n }\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: function _default() {\n return getDefault('defaultContainer');\n }\n },\n boundariesElement: {\n type: [String, Element],\n default: function _default() {\n return getDefault('defaultBoundariesElement');\n }\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return getDefault('defaultPopperOptions');\n }\n },\n popoverClass: {\n type: [String, Array],\n default: function _default() {\n return getDefault('defaultClass');\n }\n },\n popoverBaseClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultBaseClass;\n }\n },\n popoverInnerClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultInnerClass;\n }\n },\n popoverWrapperClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultWrapperClass;\n }\n },\n popoverArrowClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultArrowClass;\n }\n },\n autoHide: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultAutoHide;\n }\n },\n handleResize: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultHandleResize;\n }\n },\n openGroup: {\n type: String,\n default: null\n },\n openClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultOpenClass;\n }\n },\n ariaId: {\n default: null\n }\n },\n data: function data() {\n return {\n isOpen: false,\n id: Math.random().toString(36).substr(2, 10)\n };\n },\n computed: {\n cssClass: function cssClass() {\n return _defineProperty({}, this.openClass, this.isOpen);\n },\n popoverId: function popoverId() {\n return \"popover_\".concat(this.ariaId != null ? this.ariaId : this.id);\n }\n },\n watch: {\n open: function open(val) {\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n },\n disabled: function disabled(val, oldVal) {\n if (val !== oldVal) {\n if (val) {\n this.hide();\n } else if (this.open) {\n this.show();\n }\n }\n },\n container: function container(val) {\n if (this.isOpen && this.popperInstance) {\n var popoverNode = this.$refs.popover;\n var reference = this.$refs.trigger;\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.popperInstance.scheduleUpdate();\n }\n },\n trigger: function trigger(val) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n },\n placement: function placement(val) {\n var _this = this;\n\n this.$_updatePopper(function () {\n _this.popperInstance.options.placement = val;\n });\n },\n offset: '$_restartPopper',\n boundariesElement: '$_restartPopper',\n popperOptions: {\n handler: '$_restartPopper',\n deep: true\n }\n },\n created: function created() {\n this.$_isDisposed = false;\n this.$_mounted = false;\n this.$_events = [];\n this.$_preventOpen = false;\n },\n mounted: function mounted() {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n this.$_init();\n\n if (this.open) {\n this.show();\n }\n },\n deactivated: function deactivated() {\n this.hide();\n },\n beforeDestroy: function beforeDestroy() {\n this.dispose();\n },\n methods: {\n show: function show() {\n var _this2 = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref2.event;\n _ref2.skipDelay;\n var _ref2$force = _ref2.force,\n force = _ref2$force === void 0 ? false : _ref2$force;\n\n if (force || !this.disabled) {\n this.$_scheduleShow(event);\n this.$emit('show');\n }\n\n this.$emit('update:open', true);\n this.$_beingShowed = true;\n requestAnimationFrame(function () {\n _this2.$_beingShowed = false;\n });\n },\n hide: function hide() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref3.event;\n _ref3.skipDelay;\n\n this.$_scheduleHide(event);\n this.$emit('hide');\n this.$emit('update:open', false);\n },\n dispose: function dispose() {\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({\n skipDelay: true\n });\n\n if (this.popperInstance) {\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n }\n }\n\n this.$_mounted = false;\n this.popperInstance = null;\n this.isOpen = false;\n this.$emit('dispose');\n },\n $_init: function $_init() {\n if (this.trigger.indexOf('manual') === -1) {\n this.$_addEventListeners();\n }\n },\n $_show: function $_show() {\n var _this3 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n clearTimeout(this.$_disposeTimer); // Already open\n\n if (this.isOpen) {\n return;\n } // Popper is already initialized\n\n\n if (this.popperInstance) {\n this.isOpen = true;\n this.popperInstance.enableEventListeners();\n this.popperInstance.scheduleUpdate();\n }\n\n if (!this.$_mounted) {\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.$_mounted = true;\n this.isOpen = false;\n\n if (this.popperInstance) {\n requestAnimationFrame(function () {\n if (!_this3.hidden) {\n _this3.isOpen = true;\n }\n });\n }\n }\n\n if (!this.popperInstance) {\n var popperOptions = _objectSpread(_objectSpread({}, this.popperOptions), {}, {\n placement: this.placement\n });\n\n popperOptions.modifiers = _objectSpread(_objectSpread({}, popperOptions.modifiers), {}, {\n arrow: _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.arrow), {}, {\n element: this.$refs.arrow\n })\n });\n\n if (this.offset) {\n var offset = this.$_getOffset();\n popperOptions.modifiers.offset = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.offset), {}, {\n offset: offset\n });\n }\n\n if (this.boundariesElement) {\n popperOptions.modifiers.preventOverflow = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow), {}, {\n boundariesElement: this.boundariesElement\n });\n }\n\n this.popperInstance = new Popper(reference, popoverNode, popperOptions); // Fix position\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed && _this3.popperInstance) {\n _this3.popperInstance.scheduleUpdate(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed) {\n _this3.isOpen = true;\n } else {\n _this3.dispose();\n }\n });\n } else {\n _this3.dispose();\n }\n });\n }\n\n var openGroup = this.openGroup;\n\n if (openGroup) {\n var popover;\n\n for (var i = 0; i < openPopovers.length; i++) {\n popover = openPopovers[i];\n\n if (popover.openGroup !== openGroup) {\n popover.hide();\n popover.$emit('close-group');\n }\n }\n }\n\n openPopovers.push(this);\n this.$emit('apply-show');\n },\n $_hide: function $_hide() {\n var _this4 = this;\n\n // Already hidden\n if (!this.isOpen) {\n return;\n }\n\n var index = openPopovers.indexOf(this);\n\n if (index !== -1) {\n openPopovers.splice(index, 1);\n }\n\n this.isOpen = false;\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this.$_disposeTimer);\n var disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(function () {\n var popoverNode = _this4.$refs.popover;\n\n if (popoverNode) {\n // Don't remove popper instance, just the HTML element\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n _this4.$_mounted = false;\n }\n }, disposeTime);\n }\n\n this.$emit('apply-hide');\n },\n $_findContainer: function $_findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n },\n $_getOffset: function $_getOffset() {\n var typeofOffset = _typeof(this.offset);\n\n var offset = this.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n return offset;\n },\n $_addEventListeners: function $_addEventListeners() {\n var _this5 = this;\n\n var reference = this.$refs.trigger;\n var directEvents = [];\n var oppositeEvents = [];\n var events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(event) {\n if (_this5.isOpen) {\n return;\n }\n\n event.usedByTooltip = true;\n !_this5.$_preventOpen && _this5.show({\n event: event\n });\n _this5.hidden = false;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(event) {\n if (event.usedByTooltip) {\n return;\n }\n\n _this5.hide({\n event: event\n });\n\n _this5.hidden = true;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n },\n $_scheduleShow: function $_scheduleShow() {\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_show();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n this.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n }\n },\n $_scheduleHide: function $_scheduleHide() {\n var _this6 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_hide();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n this.$_scheduleTimer = setTimeout(function () {\n if (!_this6.isOpen) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (event && event.type === 'mouseleave') {\n var isSet = _this6.$_setTooltipNodeEvent(event); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this6.$_hide();\n }, computedDelay);\n }\n },\n $_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n var _this7 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n var relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n var callback = function callback(event2) {\n var relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget; // Remove event listener after call\n\n popoverNode.removeEventListener(event.type, callback); // If the new reference is not the reference element\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this7.hide({\n event: event2\n });\n }\n };\n\n if (popoverNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n popoverNode.addEventListener(event.type, callback);\n return true;\n }\n\n return false;\n },\n $_removeEventListeners: function $_removeEventListeners() {\n var reference = this.$refs.trigger;\n this.$_events.forEach(function (_ref4) {\n var func = _ref4.func,\n event = _ref4.event;\n reference.removeEventListener(event, func);\n });\n this.$_events = [];\n },\n $_updatePopper: function $_updatePopper(cb) {\n if (this.popperInstance) {\n cb();\n if (this.isOpen) this.popperInstance.scheduleUpdate();\n }\n },\n $_restartPopper: function $_restartPopper() {\n if (this.popperInstance) {\n var isOpen = this.isOpen;\n this.dispose();\n this.$_isDisposed = false;\n this.$_init();\n\n if (isOpen) {\n this.show({\n skipDelay: true,\n force: true\n });\n }\n }\n },\n $_handleGlobalClose: function $_handleGlobalClose(event) {\n var _this8 = this;\n\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.$_beingShowed) return;\n this.hide({\n event: event\n });\n\n if (event.closePopover) {\n this.$emit('close-directive');\n } else {\n this.$emit('auto-hide');\n }\n\n if (touch) {\n this.$_preventOpen = true;\n setTimeout(function () {\n _this8.$_preventOpen = false;\n }, 300);\n }\n },\n $_handleResize: function $_handleResize() {\n if (this.isOpen && this.popperInstance) {\n this.popperInstance.scheduleUpdate();\n this.$emit('resize');\n }\n }\n }\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (isIOS) {\n document.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener('click', handleGlobalClick, true);\n }\n}\n\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var _loop = function _loop(i) {\n var popover = openPopovers[i];\n\n if (popover.$refs.popover) {\n var contains = popover.$refs.popover.contains(event.target);\n requestAnimationFrame(function () {\n if (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n popover.$_handleGlobalClose(event, touch);\n }\n });\n }\n };\n\n // Delay so that close directive has time to set values\n for (var i = 0; i < openPopovers.length; i++) {\n _loop(i);\n }\n}\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"v-popover\",\n class: _vm.cssClass\n }, [_c(\"div\", {\n ref: \"trigger\",\n staticClass: \"trigger\",\n staticStyle: {\n display: \"inline-block\"\n },\n attrs: {\n \"aria-describedby\": _vm.isOpen ? _vm.popoverId : undefined,\n tabindex: _vm.trigger.indexOf(\"focus\") !== -1 ? 0 : undefined\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c(\"div\", {\n ref: \"popover\",\n class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass],\n style: {\n visibility: _vm.isOpen ? \"visible\" : \"hidden\"\n },\n attrs: {\n id: _vm.popoverId,\n \"aria-hidden\": _vm.isOpen ? \"false\" : \"true\",\n tabindex: _vm.autoHide ? 0 : undefined\n },\n on: {\n keyup: function keyup($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n\n _vm.autoHide && _vm.hide();\n }\n }\n }, [_c(\"div\", {\n class: _vm.popoverWrapperClass\n }, [_c(\"div\", {\n ref: \"inner\",\n class: _vm.popoverInnerClass,\n staticStyle: {\n position: \"relative\"\n }\n }, [_c(\"div\", [_vm._t(\"popover\", null, {\n isOpen: _vm.isOpen\n })], 2), _vm._v(\" \"), _vm.handleResize ? _c(\"ResizeObserver\", {\n on: {\n notify: _vm.$_handleResize\n }\n }) : _vm._e()], 1), _vm._v(\" \"), _c(\"div\", {\n ref: \"arrow\",\n class: _vm.popoverArrowClass\n })])])]);\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \".resize-observer[data-v-8859cc6c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-8859cc6c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}\";\nstyleInject(css_248z);\n\nfunction install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (install.installed) return;\n install.installed = true;\n var finalOptions = {};\n merge(finalOptions, defaultOptions, options);\n plugin.options = finalOptions;\n directive.options = finalOptions;\n Vue.directive('tooltip', directive);\n Vue.directive('close-popover', vclosepopover);\n Vue.component('VPopover', __vue_component__);\n}\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = __vue_component__;\nvar plugin = {\n install: install,\n\n get enabled() {\n return state.enabled;\n },\n\n set enabled(value) {\n state.enabled = value;\n }\n\n}; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { VClosePopover, VPopover, VTooltip, createTooltip, destroyTooltip, install };\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.concat\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.loadState = loadState;\n\n/**\n * @param app app ID, e.g. \"mail\"\n * @param key name of the property\n * @param fallback optional parameter to use as default value\n * @throws if the key can't be found\n */\nfunction loadState(app, key, fallback) {\n var elem = document.querySelector(\"#initial-state-\".concat(app, \"-\").concat(key));\n\n if (elem === null) {\n if (fallback !== undefined) {\n return fallback;\n }\n\n throw new Error(\"Could not find initial state \".concat(key, \" of \").concat(app));\n }\n\n try {\n return JSON.parse(atob(elem.value));\n } catch (e) {\n throw new Error(\"Could not parse initial state \".concat(key, \" of \").concat(app));\n }\n}\n//# sourceMappingURL=index.js.map","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : String(key);\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.17.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = {};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n // eslint-disable-next-line max-statements -- TODO\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = patchedExec.call(raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = str.slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str.charAt(re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"Components/Avatar\",[],e):\"object\"==typeof exports?exports[\"Components/Avatar\"]=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Avatar\"]=e())}(window,(function(){return function(t){var e={};function n(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,a){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)n.d(a,i,function(e){return t[e]}.bind(null,i));return a},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/dist/\",n(n.s=55)}([function(t,e,n){\"use strict\";function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==n)return;var a,i,o=[],r=!0,s=!1;try{for(n=n.call(t);!(r=(a=n.next()).done)&&(o.push(a.value),!e||o.length!==e);r=!0);}catch(t){s=!0,i=t}finally{try{r||null==n.return||n.return()}finally{if(s)throw i}}return o}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}t.exports=function(t){var e=a(t,4),n=e[1],i=e[3];if(!i)return n;if(\"function\"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(o),s=\"/*# \".concat(r,\" */\"),l=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(l).concat([s]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,e,n){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,a){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(a)for(var o=0;o<this.length;o++){var r=this[o][0];null!=r&&(i[r]=!0)}for(var s=0;s<t.length;s++){var l=[].concat(t[s]);a&&i[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),e.push(l))}},e}},function(t,e,n){\"use strict\";var a,i=function(){return void 0===a&&(a=Boolean(window&&document&&document.all&&!window.atob)),a},o=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),r=[];function s(t){for(var e=-1,n=0;n<r.length;n++)if(r[n].identifier===t){e=n;break}return e}function l(t,e){for(var n={},a=[],i=0;i<t.length;i++){var o=t[i],l=e.base?o[0]+e.base:o[0],c=n[l]||0,u=\"\".concat(l,\" \").concat(c);n[l]=c+1;var d=s(u),m={css:o[1],media:o[2],sourceMap:o[3]};-1!==d?(r[d].references++,r[d].updater(m)):r.push({identifier:u,updater:A(m,e),references:1}),a.push(u)}return a}function c(t){var e=document.createElement(\"style\"),a=t.attributes||{};if(void 0===a.nonce){var i=n.nc;i&&(a.nonce=i)}if(Object.keys(a).forEach((function(t){e.setAttribute(t,a[t])})),\"function\"==typeof t.insert)t.insert(e);else{var r=o(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(e)}return e}var u,d=(u=[],function(t,e){return u[t]=e,u.filter(Boolean).join(\"\\n\")});function m(t,e,n,a){var i=n?\"\":a.media?\"@media \".concat(a.media,\" {\").concat(a.css,\"}\"):a.css;if(t.styleSheet)t.styleSheet.cssText=d(e,i);else{var o=document.createTextNode(i),r=t.childNodes;r[e]&&t.removeChild(r[e]),r.length?t.insertBefore(o,r[e]):t.appendChild(o)}}function p(t,e,n){var a=n.css,i=n.media,o=n.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),o&&\"undefined\"!=typeof btoa&&(a+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),t.styleSheet)t.styleSheet.cssText=a;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(a))}}var g=null,h=0;function A(t,e){var n,a,i;if(e.singleton){var o=h++;n=g||(g=c(e)),a=m.bind(null,n,o,!1),i=m.bind(null,n,o,!0)}else n=c(e),a=p.bind(null,n,e),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return a(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;a(t=e)}else i()}}t.exports=function(t,e){(e=e||{}).singleton||\"boolean\"==typeof e.singleton||(e.singleton=i());var n=l(t=t||[],e);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var a=0;a<n.length;a++){var i=s(n[a]);r[i].references--}for(var o=l(t,e),c=0;c<n.length;c++){var u=s(n[c]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}n=o}}}},function(t,e,n){\"use strict\";function a(t,e,n,a,i,o,r,s){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),a&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}n.d(e,\"a\",(function(){return a}))},function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return s})),n.d(e,\"a\",(function(){return r}));var a=n(13),i=Object(a.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a timezone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search timezone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};i.addTranslation(t.locale,{translations:{\"\":e}})}));var o=i.build(),r=o.ngettext.bind(o),s=o.gettext.bind(o)},function(t,e){t.exports=require(\"v-tooltip\")},function(t,e){t.exports=require(\"vue\")},function(t,e){t.exports=require(\"@nextcloud/router\")},function(t,e,n){\"use strict\";t.exports=function(t,e){return e||(e={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/[\"'() \\t\\n]/.test(t)||e.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},function(t,e,n){\"use strict\";n.r(e);var a=n(5),i=n(2),o=n.n(i),r=n(12),s={insert:\"head\",singleton:!1};o()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\na.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),a.VTooltip.options.defaultHtml=!1,a.VTooltip.options.defaultDelay={show:500,hide:200};e.default=a.VTooltip},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(t,e,n){\"use strict\";var a={name:\"Popover\",components:{VPopover:n(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},i=n(2),o=n.n(i),r=n(9),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(3)),c=n(10),u=n.n(c),d=Object(l.a)(a,(function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"VPopover\",t._g(t._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:t._u([{key:\"popover\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof u.a&&u()(d);e.a=d.exports},function(t,e){t.exports=require(\"vue-material-design-icons/DotsHorizontal\")},function(t,e){t.exports=require(\"@nextcloud/event-bus\")},,function(t,e){t.exports=require(\"@nextcloud/auth\")},,function(t,e,n){\"use strict\";n.r(e);var a=n(6),i=new(n.n(a).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});e.default={data:function(){return{isMobile:!1}},mounted:function(){i.$on(\"changed\",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,e){t.exports=require(\"@nextcloud/axios\")},,,function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return a.default})),n.d(e,\"b\",(function(){return i.default})),n.d(e,\"c\",(function(){return o.default})),n.d(e,\"d\",(function(){return r.default})),n.d(e,\"e\",(function(){return p}));var a=n(47),i=n(48),o=n(20),r=n(39),s=n(21),l=n.n(s),c=n(7),u=n(57),d=n(18);function m(t,e,n,a,i,o,r){try{var s=t[o](r),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(a,i)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var p={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=regeneratorRuntime.mark((function e(){var a,i,o,r,s,m,p,g,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt(\"return\");case 2:if(a=Object(u.getCapabilities)(),Object.prototype.hasOwnProperty.call(a,\"user_status\")&&a.user_status.enabled){e.next=5;break}return e.abrupt(\"return\");case 5:if(Object(d.getCurrentUser)()){e.next=7;break}return e.abrupt(\"return\");case 7:return e.prev=7,e.next=10,l.a.get(Object(c.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:t}));case 10:i=e.sent,o=i.data,r=o.ocs.data,s=r.status,m=r.message,p=r.icon,n.userStatus.status=s,n.userStatus.message=m||\"\",n.userStatus.icon=p||\"\",n.hasStatus=!0,e.next=24;break;case 19:if(e.prev=19,e.t0=e.catch(7),404!==e.t0.response.status||0!==(null===(g=e.t0.response.data.ocs)||void 0===g||null===(h=g.data)||void 0===h?void 0:h.length)){e.next=23;break}return e.abrupt(\"return\");case 23:console.error(e.t0);case 24:case\"end\":return e.stop()}}),e,null,[[7,19]])})),function(){var t=this,n=arguments;return new Promise((function(a,i){var o=e.apply(t,n);function r(t){m(o,a,i,r,s,\"next\",t)}function s(t){m(o,a,i,r,s,\"throw\",t)}r(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,e){t.exports=require(\"striptags\")},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},,function(t,e){t.exports=require(\"v-click-outside\")},,,function(t,e){t.exports=require(\"linkifyjs/string\")},,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\"\\nbutton.menuitem[data-v-54983729] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-54983729] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-54983729]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-54983729] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-54983729] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\"],names:[],mappings:\";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\ttype=\"button\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),e.a=r},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-54983729]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,,function(t,e,n){\"use strict\";n.r(e),n.d(e,\"USERID_REGEX\",(function(){return f})),n.d(e,\"USERID_REGEX_WITH_SPACE\",(function(){return C}));var a=n(43),i=n.n(a),o=n(31),r=n.n(o),s=n(25),l=n.n(s),c=n(6),u=n.n(c),d=n(7),m={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,e){return Object(d.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}},p=n(2),g=n.n(p),h=n(26),A={insert:\"head\",singleton:!1},v=(g()(h.a,A),h.a.locals,n(3)),b=Object(v.a)(m,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[n(\"span\",{staticClass:\"mention-bubble__wrapper\"},[n(\"span\",{staticClass:\"mention-bubble__content\"},[n(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,f=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),C=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@&quot;[a-zA-Z0-9 _.@\\\\-']+&quot;)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");e.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return i()(t).split(f).map((function(t){return t.split(C)})).flat().map((function(t){if(!t.startsWith(\"@\"))return r()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var n=t.replace(/@|&quot;/gi,\"\");return\" \"+e.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var e=t.replace(/<br>/gim,\"\\n\");return e=(e=(e=e.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),e=l()(e,\"<div>\"),e=l()(e)},genSelectTemplate:function(t){var e=this.userData[t];return e?this.renderComponentHtml(e,b).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,e){var n=new(u.a.extend(e))({propsData:t}),a=document.createElement(\"div\"),i=document.createElement(\"div\");a.style.display=\"none\",a.appendChild(i),document.body.appendChild(a),n.$mount(i);var o=a.innerHTML;return n.$destroy(),a.remove(),o}}}},,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o),s=n(8),l=n.n(s),c=n(50),u=n(51),d=n(52),m=r()(i.a),p=l()(c.a),g=l()(u.a),h=l()(d.a);m.push([t.i,\".material-design-icon[data-v-583ead48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-583ead48]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-583ead48]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-583ead48]{cursor:pointer}.avatardiv--with-menu[data-v-583ead48] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu .icon-loading[data-v-583ead48]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-583ead48]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-583ead48],.avatardiv--with-menu:hover .icon-more[data-v-583ead48]{opacity:1}.avatardiv--with-menu:focus img[data-v-583ead48],.avatardiv--with-menu:hover img[data-v-583ead48]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu img[data-v-583ead48]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-583ead48]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-583ead48]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-583ead48]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-583ead48]{background-image:url(\"+p+\")}.avatardiv .avatardiv__user-status--dnd[data-v-583ead48]{background-image:url(\"+g+\");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-583ead48]{background-image:url(\"+h+\")}.avatardiv .avatardiv__user-status--icon[data-v-583ead48]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-583ead48]{position:relative;display:inline-block}.avatar-class-icon[data-v-583ead48]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--size);\\n\\t\\t\\theight: var(--size);\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=m},function(t,e){},function(t,e){t.exports=require(\"escape-html\")},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */function a(t,e,n){this.r=t,this.g=e,this.b=n}function i(t,e,n){var i=[];i.push(e);for(var o=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),r=1;r<t;r++){var s=parseInt(e.r+o[0]*r,10),l=parseInt(e.g+o[1]*r,10),c=parseInt(e.b+o[2]*r,10);i.push(new a(s,l,c))}return i}e.a=function(t){t||(t=6);var e=new a(182,70,157),n=new a(221,203,85),o=new a(0,130,201),r=i(t,e,n),s=i(t,n,o),l=i(t,o,e);return r.concat(s).concat(l)}},,,function(t,e,n){\"use strict\";function a(t,e){var n=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if(\"string\"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,e)}(t))||e&&t&&\"number\"==typeof t.length){n&&(t=n);var a=0,o=function(){};return{s:o,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){l=!0,r=t},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw r}}}}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.r(e),e.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var e=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===e.length||!this.hasNodeOrAnyParentClass(t.target,e)},hasNodeOrAnyParentClass:function(t,e){var n,i=a(e);try{for(i.s();!(n=i.n()).done;){var o,r=n.value;if(null!=t&&null!==(o=t.classList)&&void 0!==o&&o.contains(r))return!0}}catch(t){i.e(t)}finally{i.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,e)}}}},function(t,e,n){\"use strict\";n.r(e),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,e){t.exports=require(\"@nextcloud/browser-storage\")},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"},,function(t,e,n){\"use strict\";n.r(e);var a={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},i=n(2),o=n.n(i),r=n(33),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(34)),c={insert:\"head\",singleton:!1},u=(o()(l.a,c),l.a.locals,n(3)),d={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(u.a)(a,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?n(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?n(\"img\",{attrs:{src:t.item.icon}}):n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?n(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?n(\"form\",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action(e)}}},[n(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,a=e.target,i=!!a.checked;if(Array.isArray(n)){var o=t._i(n,null);a.checked?o<0&&t.$set(t.item,\"model\",n.concat([null])):o>-1&&t.$set(t.item,\"model\",n.slice(0,o).concat(n.slice(o+1)))}else t.$set(t.item,\"model\",i)},t.item.action]}}):\"radio\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,\"model\",null)},t.item.action]}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,\"model\",e.target.value)}}}),t._v(\" \"),n(\"label\",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?n(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:\"button\"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"54983729\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},m=n(35),p={insert:\"head\",singleton:!1},g=(o()(m.a,p),m.a.locals,n(36)),h=n.n(g),A=Object(u.a)(d,(function(){var t=this.$createElement,e=this._self._c||t;return e(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,n){return e(\"PopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof h.a&&h()(A);var v=A.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=v},function(t,e,n){\"use strict\";n.r(e);var a=n(15),i=n.n(a),o=n(28),r=n(7),s=n(49),l=n(18),c=n(16),u=n(21),d=n.n(u),m=n(54),p=n(11),g=n(58),h=n(24),A=n(4),v=n(14);function b(t,e,n,a,i,o,r){try{var s=t[o](r),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(a,i)}function f(t){return function(){var e=this,n=arguments;return new Promise((function(a,i){var o=t.apply(e,n);function r(t){b(o,a,i,r,s,\"next\",t)}function s(t){b(o,a,i,r,s,\"throw\",t)}r(void 0)}))}}var C=Object(s.getBuilder)(\"nextcloud\").persist().build();function y(t){var e=C.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof e?Boolean(e):null}function k(t,e){t&&C.setItem(\"user-has-avatar.\"+t,e)}var x={name:\"Avatar\",directives:{tooltip:p.default,ClickOutside:o.directive},components:{DotsHorizontal:i.a,Popover:v.a,PopoverMenu:m.default},mixins:[h.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:Object(A.b)(\"Avatar of {displayName}\",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(l.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var e=Object(g.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+e.r+\", \"+e.g+\", \"+e.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(\" \");\"\"===e?t=\"?\":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,a=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(e),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(a):a}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(c.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(c.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return f(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.hasMenu){e.next=2;break}return e.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){e.next=5;break}return e.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return e.stop()}}),e)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return f(regeneratorRuntime.mark((function e(){var n,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.contactsMenuLoading=!0,e.prev=1,n=encodeURIComponent(t.user),e.next=5,d.a.post(Object(r.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:a=e.sent,i=a.data,t.contactsMenuActions=i.topAction?[i.topAction].concat(i.actions):i.actions,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return e.stop()}}),e,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),e=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,e)}},avatarUrlGenerator:function(t,e){var n,a=\"/avatar/{user}/{size}\";this.isGuest&&(a=\"/avatar/guest/{user}/{size}\");var i=Object(r.generateUrl)(a,{user:t,size:e});return t===(null===(n=Object(l.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(i+=\"?v=\"+oc_userconfig.avatar.version),i},updateImageIfValid:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=y(this.user);if(this.isUserDefined&&\"boolean\"==typeof a)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===a&&(this.userDoesNotExist=!0));var i=new Image;i.onload=function(){e.avatarUrlLoaded=t,n&&(e.avatarSrcSetLoaded=n),e.isAvatarLoaded=!0,k(e.user,!0)},i.onerror=function(){console.debug(\"Invalid avatar url\",t),e.avatarUrlLoaded=null,e.avatarSrcSetLoaded=null,e.userDoesNotExist=!0,e.isAvatarLoaded=!1,k(e.user,!1)},n&&(i.srcset=n),i.src=t}}},w=n(2),S=n.n(w),B=n(41),j={insert:\"head\",singleton:!1},N=(S()(B.a,j),B.a.locals,n(3)),P=n(42),z=n.n(P),E=Object(N.a)(x,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle,attrs:{tabindex:t.disableMenu?\"-1\":\"0\",\"aria-label\":t.avatarAriaLabel,role:t.disableMenu?\"\":\"button\"},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.toggleMenu(e)}}},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?n(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?n(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?n(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState},on:{\"after-show\":t.handlePopoverAfterShow,\"after-hide\":t.handlePopoverAfterHide},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t.contactsMenuLoading?n(\"div\",{staticClass:\"icon-loading\"}):n(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:24,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,3277751148)},[n(\"PopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:t.menu}})],1):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?n(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?n(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?n(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"583ead48\",null);\"function\"==typeof z.a&&z()(E);var _=E.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=_},function(t,e){t.exports=require(\"md5\")},function(t,e){t.exports=require(\"@nextcloud/capabilities\")},function(t,e,n){\"use strict\";n.r(e);var a=n(56),i=n.n(a),o=n(44),r=function(t){var e=t.toLowerCase();null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=i()(e)),e=e.replace(/[^0-9a-f]/g,\"\");return Object(o.a)(6)[function(t,e){for(var n=0,a=[],i=0;i<t.length;i++)a.push(parseInt(t.charAt(i),16)%16);for(var o in a)n+=a[o];return parseInt(parseInt(n,10)%e,10)}(e,18)]};e.default=r}])}));\n//# sourceMappingURL=Avatar.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionButton\",[],n):\"object\"==typeof exports?exports[\"Components/ActionButton\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionButton\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=78)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,r=[],a=!0,s=!1;try{for(e=e.call(t);!(a=(o=e.next()).done)&&(r.push(o.value),!n||r.length!==n);a=!0);}catch(t){s=!0,i=t}finally{try{a||null==e.return||e.return()}finally{if(s)throw i}}return r}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),s=\"/*# \".concat(a,\" */\"),c=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(c).concat([s]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(var s=0;s<t.length;s++){var c=[].concat(t[s]);o&&i[c[0]]||(e&&(c[2]?c[2]=\"\".concat(e,\" and \").concat(c[2]):c[2]=e),n.push(c))}},n}},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),a=[];function s(t){for(var n=-1,e=0;e<a.length;e++)if(a[e].identifier===t){n=e;break}return n}function c(t,n){for(var e={},o=[],i=0;i<t.length;i++){var r=t[i],c=n.base?r[0]+n.base:r[0],l=e[c]||0,u=\"\".concat(c,\" \").concat(l);e[c]=l+1;var d=s(u),f={css:r[1],media:r[2],sourceMap:r[3]};-1!==d?(a[d].references++,a[d].updater(f)):a.push({identifier:u,updater:b(f,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var a=r(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function f(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function p(t,n,e){var o=e.css,i=e.media,r=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),r&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,A=0;function b(t,n){var e,o,i;if(n.singleton){var r=A++;e=h||(h=l(n)),o=f.bind(null,e,r,!1),i=f.bind(null,e,r,!0)}else e=l(n),o=p.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=c(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=s(e[o]);a[i].references--}for(var r=c(t,n),l=0;l<e.length;l++){var u=s(e[l]);0===a[u].references&&(a[u].updater(),a.splice(u,1))}e=r}}}},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,r,a,s){var c,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId=\"data-v-\"+r),a?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,n){return c.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},32:function(t,n,e){\"use strict\";var o=e(27),i=function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=i(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},6:function(t,n){t.exports=require(\"vue\")},62:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),r=e(1),a=e.n(r)()(i.a);a.push([t.i,\".material-design-icon[data-v-459b7561]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-459b7561]{background-color:var(--color-background-hover)}.action--disabled[data-v-459b7561]{pointer-events:none;opacity:.5}.action--disabled[data-v-459b7561]:hover,.action--disabled[data-v-459b7561]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-459b7561]{opacity:1 !important}.action-button[data-v-459b7561]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-459b7561]:hover,.action-button[data-v-459b7561]:focus{opacity:1}.action-button>span[data-v-459b7561]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-459b7561]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-459b7561] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-459b7561] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-459b7561]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-459b7561]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-459b7561]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,4EA2BE,SC9Ba,CDGf,qCA+BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,sDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,iFAkDG,qBAAsB,CAlDzB,kCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=a},63:function(t,n){},69:function(t,n,e){\"use strict\";var o={name:\"ActionButton\",mixins:[e(32).a],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},i=e(2),r=e.n(i),a=e(62),s={insert:\"head\",singleton:!1},c=(r()(a.a,s),a.a.locals,e(3)),l=e(63),u=e.n(l),d=Object(c.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"button\",{staticClass:\"action-button\",class:{focusable:t.isFocusable},attrs:{\"aria-label\":t.ariaLabel,type:\"button\"},on:{click:t.onClick}},[t._t(\"icon\",[e(\"span\",{staticClass:\"action-button__icon\",class:[t.isIconUrl?\"action-button__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}})]),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-button__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-button__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"459b7561\",null);\"function\"==typeof u.a&&u()(d);n.a=d.exports},78:function(t,n,e){\"use strict\";e.r(n);var o=e(69);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=o.a}})}));\n//# sourceMappingURL=ActionButton.js.map","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\n\nmodule.exports = function (key, value) {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n redefine(String.prototype, KEY, methods[0]);\n redefine(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","var toInteger = require('../internals/to-integer');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.codePointAt` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getGettextBuilder = getGettextBuilder;\n\nvar _nodeGettext = _interopRequireDefault(require(\"node-gettext\"));\n\nvar _ = require(\".\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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\nvar GettextBuilder = /*#__PURE__*/function () {\n function GettextBuilder() {\n _classCallCheck(this, GettextBuilder);\n\n this.translations = {};\n this.debug = false;\n }\n\n _createClass(GettextBuilder, [{\n key: \"setLanguage\",\n value: function setLanguage(language) {\n this.locale = language;\n return this;\n }\n }, {\n key: \"detectLocale\",\n value: function detectLocale() {\n return this.setLanguage((0, _.getLanguage)().replace('-', '_'));\n }\n }, {\n key: \"addTranslation\",\n value: function addTranslation(language, data) {\n this.translations[language] = data;\n return this;\n }\n }, {\n key: \"enableDebugMode\",\n value: function enableDebugMode() {\n this.debug = true;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new GettextWrapper(this.locale || 'en', this.translations, this.debug);\n }\n }]);\n\n return GettextBuilder;\n}();\n\nvar GettextWrapper = /*#__PURE__*/function () {\n function GettextWrapper(locale, data, debug) {\n _classCallCheck(this, GettextWrapper);\n\n this.gt = new _nodeGettext.default({\n debug: debug,\n sourceLocale: 'en'\n });\n\n for (var key in data) {\n this.gt.addTranslations(key, 'messages', data[key]);\n }\n\n this.gt.setLocale(locale);\n }\n\n _createClass(GettextWrapper, [{\n key: \"subtitudePlaceholders\",\n value: function subtitudePlaceholders(translated, vars) {\n return translated.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (typeof r === 'string' || typeof r === 'number') {\n return r.toString();\n } else {\n return a;\n }\n });\n }\n }, {\n key: \"gettext\",\n value: function gettext(original) {\n var placeholders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.subtitudePlaceholders(this.gt.gettext(original), placeholders);\n }\n }, {\n key: \"ngettext\",\n value: function ngettext(singular, plural, count) {\n var placeholders = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return this.subtitudePlaceholders(this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()), placeholders);\n }\n }]);\n\n return GettextWrapper;\n}();\n\nfunction getGettextBuilder() {\n return new GettextBuilder();\n}\n//# sourceMappingURL=gettext.js.map","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionLink\",[],n):\"object\"==typeof exports?exports[\"Components/ActionLink\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionLink\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=105)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,r=[],a=!0,c=!1;try{for(e=e.call(t);!(a=(o=e.next()).done)&&(r.push(o.value),!n||r.length!==n);a=!0);}catch(t){c=!0,i=t}finally{try{a||null==e.return||e.return()}finally{if(c)throw i}}return r}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),c=\"/*# \".concat(a,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(s).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(var c=0;c<t.length;c++){var s=[].concat(t[c]);o&&i[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),n.push(s))}},n}},105:function(t,n,e){\"use strict\";e.r(n);var o={name:\"ActionLink\",mixins:[e(32).a],props:{href:{type:String,default:\"#\",required:!0,validator:function(t){try{return new URL(t)}catch(n){return t.startsWith(\"#\")||t.startsWith(\"/\")}}},download:{type:String,default:null},target:{type:String,default:\"_self\",validator:function(t){return[\"_blank\",\"_self\",\"_parent\",\"_top\"].indexOf(t)>-1}}}},i=e(2),r=e.n(i),a=e(84),c={insert:\"head\",singleton:!1},s=(r()(a.a,c),a.a.locals,e(3)),l=e(85),u=e.n(l),d=Object(s.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\"},[e(\"a\",{staticClass:\"action-link focusable\",attrs:{download:t.download,href:t.href,\"aria-label\":t.ariaLabel,target:t.target,rel:\"noreferrer noopener\"},on:{click:t.onClick}},[t._t(\"icon\",[e(\"span\",{staticClass:\"action-link__icon\",class:[t.isIconUrl?\"action-link__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}})]),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-link__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-link__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-link__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-link__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"aee1c25a\",null);\"function\"==typeof u.a&&u()(d);var f=d.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=f},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),a=[];function c(t){for(var n=-1,e=0;e<a.length;e++)if(a[e].identifier===t){n=e;break}return n}function s(t,n){for(var e={},o=[],i=0;i<t.length;i++){var r=t[i],s=n.base?r[0]+n.base:r[0],l=e[s]||0,u=\"\".concat(s,\" \").concat(l);e[s]=l+1;var d=c(u),f={css:r[1],media:r[2],sourceMap:r[3]};-1!==d?(a[d].references++,a[d].updater(f)):a.push({identifier:u,updater:g(f,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var a=r(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function f(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function p(t,n,e){var o=e.css,i=e.media,r=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),r&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,A=0;function g(t,n){var e,o,i;if(n.singleton){var r=A++;e=h||(h=l(n)),o=f.bind(null,e,r,!1),i=f.bind(null,e,r,!0)}else e=l(n),o=p.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=s(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=c(e[o]);a[i].references--}for(var r=s(t,n),l=0;l<e.length;l++){var u=c(e[l]);0===a[u].references&&(a[u].updater(),a.splice(u,1))}e=r}}}},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,r,a,c){var s,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId=\"data-v-\"+r),a?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=s):i&&(s=c?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(l.functional){l._injectStyles=s;var u=l.render;l.render=function(t,n){return s.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},32:function(t,n,e){\"use strict\";var o=e(27),i=function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=i(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},6:function(t,n){t.exports=require(\"vue\")},84:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),r=e(1),a=e.n(r)()(i.a);a.push([t.i,\".material-design-icon[data-v-aee1c25a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-aee1c25a]{background-color:var(--color-background-hover)}.action-link[data-v-aee1c25a]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-link[data-v-aee1c25a]:hover,.action-link[data-v-aee1c25a]:focus{opacity:1}.action-link>span[data-v-aee1c25a]{cursor:pointer;white-space:nowrap}.action-link__icon[data-v-aee1c25a]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-link[data-v-aee1c25a] .material-design-icon{width:44px;height:44px;opacity:1}.action-link[data-v-aee1c25a] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-link p[data-v-aee1c25a]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-link__longtext[data-v-aee1c25a]{cursor:pointer;white-space:pre-wrap}.action-link__title[data-v-aee1c25a]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,8BAqBD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,wEA2BE,SC9Ba,CDGf,mCA+BE,cAAe,CACf,kBAAmB,CACnB,oCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,oDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,+EAkDG,qBAAsB,CAlDzB,gCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,wCAGA,cAAe,CAEf,oBAAqB,CACrB,qCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=a},85:function(t,n){}})}));\n//# sourceMappingURL=ActionLink.js.map","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"Components/Actions\",[],t):\"object\"==typeof exports?exports[\"Components/Actions\"]=t():(e.NextcloudVue=e.NextcloudVue||{},e.NextcloudVue[\"Components/Actions\"]=t())}(window,(function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var i=t[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(o,i,function(t){return e[t]}.bind(null,i));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"/dist/\",n(n.s=53)}([function(e,t,n){\"use strict\";function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&(\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"]);if(null==n)return;var o,i,a=[],r=!0,s=!1;try{for(n=n.call(e);!(r=(o=n.next()).done)&&(a.push(o.value),!t||a.length!==t);r=!0);}catch(e){s=!0,i=e}finally{try{r||null==n.return||n.return()}finally{if(s)throw i}}return a}(e,t)||function(e,t){if(!e)return;if(\"string\"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(e,t)}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}e.exports=function(e){var t=o(e,4),n=t[1],i=t[3];if(!i)return n;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),s=\"/*# \".concat(r,\" */\"),l=i.sources.map((function(e){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(e,\" */\")}));return[n].concat(l).concat([s]).join(\"\\n\")}return[n].join(\"\\n\")}},function(e,t,n){\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?\"@media \".concat(t[2],\" {\").concat(n,\"}\"):n})).join(\"\")},t.i=function(e,n,o){\"string\"==typeof e&&(e=[[null,e,\"\"]]);var i={};if(o)for(var a=0;a<this.length;a++){var r=this[a][0];null!=r&&(i[r]=!0)}for(var s=0;s<e.length;s++){var l=[].concat(e[s]);o&&i[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),t.push(l))}},t}},function(e,t,n){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),r=[];function s(e){for(var t=-1,n=0;n<r.length;n++)if(r[n].identifier===e){t=n;break}return t}function l(e,t){for(var n={},o=[],i=0;i<e.length;i++){var a=e[i],l=t.base?a[0]+t.base:a[0],c=n[l]||0,u=\"\".concat(l,\" \").concat(c);n[l]=c+1;var d=s(u),m={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(r[d].references++,r[d].updater(m)):r.push({identifier:u,updater:A(m,t),references:1}),o.push(u)}return o}function c(e){var t=document.createElement(\"style\"),o=e.attributes||{};if(void 0===o.nonce){var i=n.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(e){t.setAttribute(e,o[e])})),\"function\"==typeof e.insert)e.insert(t);else{var r=a(e.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(t)}return t}var u,d=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join(\"\\n\")});function m(e,t,n,o){var i=n?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(e.styleSheet)e.styleSheet.cssText=d(t,i);else{var a=document.createTextNode(i),r=e.childNodes;r[t]&&e.removeChild(r[t]),r.length?e.insertBefore(a,r[t]):e.appendChild(a)}}function p(e,t,n){var o=n.css,i=n.media,a=n.sourceMap;if(i?e.setAttribute(\"media\",i):e.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var g=null,h=0;function A(e,t){var n,o,i;if(t.singleton){var a=h++;n=g||(g=c(t)),o=m.bind(null,n,a,!1),i=m.bind(null,n,a,!0)}else n=c(t),o=p.bind(null,n,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).singleton||\"boolean\"==typeof t.singleton||(t.singleton=i());var n=l(e=e||[],t);return function(e){if(e=e||[],\"[object Array]\"===Object.prototype.toString.call(e)){for(var o=0;o<n.length;o++){var i=s(n[o]);r[i].references--}for(var a=l(e,t),c=0;c<n.length;c++){var u=s(n[c]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}n=a}}}},function(e,t,n){\"use strict\";function o(e,t,n,o,i,a,r,s){var l,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),a&&(c._scopeId=\"data-v-\"+a),r?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}n.d(t,\"a\",(function(){return o}))},function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return s})),n.d(t,\"a\",(function(){return r}));var o=n(13),i=Object(o.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a timezone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search timezone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(e){var t={};for(var n in e.translations)e.translations[n].pluralId?t[n]={msgid:n,msgid_plural:e.translations[n].pluralId,msgstr:e.translations[n].msgstr}:t[n]={msgid:n,msgstr:[e.translations[n]]};i.addTranslation(e.locale,{translations:{\"\":t}})}));var a=i.build(),r=a.ngettext.bind(a),s=a.gettext.bind(a)},function(e,t){e.exports=require(\"v-tooltip\")},function(e,t){e.exports=require(\"vue\")},,,function(e,t,n){\"use strict\";var o=n(0),i=n.n(o),a=n(1),r=n.n(a)()(i.a);r.push([e.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.a=r},function(e,t){},function(e,t,n){\"use strict\";n.r(t);var o=n(5),i=n(2),a=n.n(i),r=n(12),s={insert:\"head\",singleton:!1};a()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\no.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),o.VTooltip.options.defaultHtml=!1,o.VTooltip.options.defaultDelay={show:500,hide:200};t.default=o.VTooltip},function(e,t,n){\"use strict\";var o=n(0),i=n.n(o),a=n(1),r=n.n(a)()(i.a);r.push([e.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.a=r},function(e,t){e.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(e,t,n){\"use strict\";var o={name:\"Popover\",components:{VPopover:n(5).VPopover},mounted:function(){var e=this;this.$watch((function(){return e.$refs.popover.isOpen}),(function(t){t?e.$emit(\"after-show\"):e.$emit(\"after-hide\")}))}},i=n(2),a=n.n(i),r=n(9),s={insert:\"head\",singleton:!1},l=(a()(r.a,s),r.a.locals,n(3)),c=n(10),u=n.n(c),d=Object(l.a)(o,(function(){var e=this,t=e.$createElement;return(e._self._c||t)(\"VPopover\",e._g(e._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:e._u([{key:\"popover\",fn:function(){return[e._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",e.$attrs,!1),e.$listeners),[e._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof u.a&&u()(d);t.a=d.exports},function(e,t){e.exports=require(\"vue-material-design-icons/DotsHorizontal\")},,function(e,t,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.a=function(e){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,e||5)}},,function(e,t,n){\"use strict\";n.r(t);var o=n(14);\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=o.a},,,,function(e,t,n){\"use strict\";var o=n(6),i=n.n(o);t.a=function(e,t,n){if(void 0!==e)for(var o=e.length-1;o>=0;o--){var a=e[o],r=!a.componentOptions&&a.tag&&-1===t.indexOf(a.tag),s=!!a.componentOptions&&\"string\"==typeof a.componentOptions.tag,l=s&&-1===t.indexOf(a.componentOptions.tag);(r||!s||l)&&((r||l)&&i.a.util.warn(\"\".concat(r?a.tag:a.componentOptions.tag,\" is not allowed inside the \").concat(n.$options.name,\" component\"),n),e.splice(o,1))}}},,,,,,function(e,t,n){\"use strict\";var o=n(0),i=n.n(o),a=n(1),r=n.n(a)()(i.a);r.push([e.i,\".material-design-icon[data-v-de7c02d6]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-item[data-v-de7c02d6]{position:relative;display:inline-block}.action-item--single[data-v-de7c02d6]:hover,.action-item--single[data-v-de7c02d6]:focus,.action-item--single[data-v-de7c02d6]:active,.action-item__menutoggle[data-v-de7c02d6]:hover,.action-item__menutoggle[data-v-de7c02d6]:focus,.action-item__menutoggle[data-v-de7c02d6]:active{opacity:1;background-color:rgba(127,127,127,0.25) !important}.action-item__menutoggle[data-v-de7c02d6]:disabled,.action-item--single[data-v-de7c02d6]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-de7c02d6]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-de7c02d6],.action-item__menutoggle[data-v-de7c02d6]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:0;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item[data-v-de7c02d6] .material-design-icon{width:44px;height:44px;opacity:1}.action-item[data-v-de7c02d6] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-item__menutoggle[data-v-de7c02d6]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle--with-title[data-v-de7c02d6]{position:relative;padding:0 14px;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item__menutoggle--with-title[data-v-de7c02d6] span{width:24px;height:24px;line-height:16px;position:absolute;top:10px;left:10px}.action-item__menutoggle--primary[data-v-de7c02d6]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-de7c02d6],.action-item__menutoggle--primary[data-v-de7c02d6]:hover,.action-item__menutoggle--primary[data-v-de7c02d6]:focus,.action-item__menutoggle--primary[data-v-de7c02d6]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-de7c02d6]{opacity:.7}.action-item--single[data-v-de7c02d6]:hover,.action-item--single[data-v-de7c02d6]:focus,.action-item--single[data-v-de7c02d6]:active{opacity:1}.action-item--single>[hidden][data-v-de7c02d6]{display:none}.ie .action-item__menu[data-v-de7c02d6],.ie .action-item__menu .action-item__menu_arrow[data-v-de7c02d6],.edge .action-item__menu[data-v-de7c02d6],.edge .action-item__menu .action-item__menu_arrow[data-v-de7c02d6]{border:1px solid var(--color-border)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Actions.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC6oBxB,8BACC,iBAAkB,CAClB,oBAAqB,CAIrB,sRAMC,SCrnBc,CDunBd,kDAA2C,CAC3C,kGAKA,qBAAsB,CApBxB,yEAwBE,SCjoBc,CDkoBd,uCC9nBgD,CD+nBhD,gFAKA,qBAAsB,CACtB,UAAW,CACX,cC7pBmB,CD8pBnB,WC9pBmB,CD+pBnB,QAAS,CACT,SAAU,CACV,cAAe,CACf,WAAY,CACZ,kBAAkC,CAClC,4BAA6B,CAxC/B,oDA4CE,UCxqBmB,CDyqBnB,WCzqBmB,CD0qBnB,SCvpBc,CDymBhB,+EAiDG,qBAAsB,CACtB,0CAMD,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UCrqBiB,CDsqBjB,gBAAiB,CACjB,gBCrrBc,CDurBd,sDACC,iBAAkB,CAClB,cCrrB6C,CDsrB7C,iBC9rBkB,CD+rBlB,kBAAmB,CACnB,SC7qBa,CD8qBb,yCAA0C,CAE1C,6CAA8C,CAC9C,+BAAwC,CACxC,iBAAkB,CAVlB,2DAeC,UAAW,CACX,WAAY,CACZ,gBCxsBY,CDysBZ,iBAAkB,CAClB,QAAiC,CACjC,SAAkC,CAClC,mDAID,SCjsBa,CDksBb,+BAAgC,CAChC,WAAY,CACZ,6CAA8C,CAC9C,kPAIC,0CAA2C,CAC3C,8DAA+D,CAC/D,sCAKF,UCjtBiB,CDgtBjB,qIAKC,SCptBa,CD+sBd,+CASC,YAAa,CACb,sNAQD,oCAAqC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg, override server styling\\n\\t\\tbackground-color: $icon-focus-bg !important;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\t}\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 0 $icon-margin;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t// image slot\\n\\t\\t\\t/deep/ span {\\n\\t\\t\\t\\twidth: 24px;\\n\\t\\t\\t\\theight: 24px;\\n\\t\\t\\t\\tline-height: $icon-size;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: ($clickable-area - 24px) / 2;\\n\\t\\t\\t\\tleft: ($clickable-area - 24px) / 2;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.a=r},function(e,t){},,,,,,,function(e,t,n){\"use strict\";var o=n(15),i=n.n(o),a=n(11),r=n(17),s=n(23),l=n(4),c=n(19);function u(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(!e)return;if(\"string\"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===n&&e.constructor&&(n=e.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(e);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach((function(t){g(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function g(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=[\"ActionButton\",\"ActionCheckbox\",\"ActionInput\",\"ActionLink\",\"ActionRadio\",\"ActionRouter\",\"ActionSeparator\",\"ActionText\",\"ActionTextEditable\",\"ActionCaption\"],A={name:\"Actions\",directives:{tooltip:a.default},components:{DotsHorizontal:i.a,Popover:c.default,VNodes:{functional:!0,render:function(e,t){return t.props.vnodes}}},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},defaultIcon:{type:String,default:\"\"},ariaLabel:{type:String,default:Object(l.b)(\"Actions\")},placement:{type:String,default:\"bottom\"},boundariesElement:{type:Element,default:function(){return document.querySelector(\"body\")}},container:{type:String,default:\"body\"},disabled:{type:Boolean,default:!1}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:\"menu-\"+Object(r.a)(),children:this.$children}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},firstActionVNode:function(){return this.actions[0]},firstAction:function(){return this.children[0]?this.children[0]:{}},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var e=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===e)return p(p({is:\"a\",href:this.firstAction.href,target:this.firstAction.target,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionRouter\"===e)return p(p({is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionButton\"===e)return p(p({is:\"button\",\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var e,t,n;return null===(e=this.firstActionVNode)||void 0===e||null===(t=e.componentOptions)||void 0===t||null===(n=t.listeners)||void 0===n?void 0:n.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionIconSlot:function(){var e,t;return null===(e=this.firstAction)||void 0===e||null===(t=e.$slots)||void 0===t?void 0:t.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+\" \"+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(e){e!==this.opened&&(this.opened=e)}},beforeMount:function(){this.initActions(),Object(s.a)(this.$slots.default,h,this)},beforeUpdate:function(){this.initActions(),Object(s.a)(this.$slots.default,h,this)},methods:{openMenu:function(e){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(e){this.opened&&(this.opened=!1,this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(e){var t=this;this.$nextTick((function(){t.focusFirstAction(e)}))},onMouseFocusAction:function(e){if(document.activeElement!==e.target){var t=e.target.closest(\"li\");if(t){var n=t.querySelector(\".focusable\");if(n){var o=u(this.$refs.menu.querySelectorAll(\".focusable\")).indexOf(n);o>-1&&(this.focusIndex=o,this.focusAction())}}}},removeCurrentActive:function(){var e=this.$refs.menu.querySelector(\"li.active\");e&&e.classList.remove(\"active\")},focusAction:function(){var e=this.$refs.menu.querySelectorAll(\".focusable\")[this.focusIndex];if(e){this.removeCurrentActive();var t=e.closest(\"li.action\");e.focus(),t&&t.classList.add(\"active\")}},focusPreviousAction:function(e){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(e){if(this.opened){var t=this.$refs.menu.querySelectorAll(\".focusable\").length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(e),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=0,this.focusAction())},focusLastAction:function(e){this.opened&&(this.preventIfEvent(e),this.focusIndex=this.$el.querySelectorAll(\".focusable\").length-1,this.focusAction())},preventIfEvent:function(e){e&&(e.preventDefault(),e.stopPropagation())},execFirstAction:function(e){this.firstActionEvent&&this.firstActionEvent(e)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(e){return!!e&&!!e.componentOptions}))},onFocus:function(e){this.$emit(\"focus\",e)},onBlur:function(e){this.$emit(\"blur\",e)}}},v=n(2),f=n.n(v),b=n(29),C={insert:\"head\",singleton:!1},y=(f()(b.a,C),b.a.locals,n(3)),k=n(30),S=n.n(k),w=Object(y.a)(A,(function(){var e,t=this,n=t.$createElement,o=t._self._c||n;return t.isValidSingleAction&&!t.forceMenu?o(\"element\",t._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:(e={},e[t.firstAction.icon]=t.firstAction.icon,e[t.firstActionClass]=t.firstActionClass,e),attrs:{rel:\"noreferrer noopener\",disabled:t.disabled},on:t._d({focus:t.onFocus,blur:t.onBlur},[t.firstActionEventBinding,t.execFirstAction])},\"element\",t.firstActionBinding,!1),[o(\"VNodes\",{attrs:{vnodes:t.firstActionIconSlot}}),t._v(\" \"),o(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[t._t(\"default\")],2)],1):o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasMultipleActions||t.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":t.opened}},[o(\"Popover\",{attrs:{delay:0,\"handle-resize\":!0,open:t.opened,placement:t.placement,\"boundaries-element\":t.boundariesElement,container:t.container},on:{\"update:open\":function(e){t.opened=e},show:t.openMenu,\"after-show\":t.onOpen,hide:t.closeMenu},scopedSlots:t._u([{key:\"trigger\",fn:function(){var e;return[o(\"button\",{ref:\"menuButton\",staticClass:\"icon action-item__menutoggle\",class:(e={},e[t.defaultIcon]=!t.iconSlotIsPopulated,e[\"action-item__menutoggle--with-title\"]=t.menuTitle,e[\"action-item__menutoggle--with-icon-slot\"]=t.iconSlotIsPopulated,e[\"action-item__menutoggle--default-icon\"]=!t.iconSlotIsPopulated&&\"\"===t.defaultIcon,e[\"action-item__menutoggle--primary\"]=t.primary,e),attrs:{disabled:t.disabled,\"aria-haspopup\":\"true\",\"aria-label\":t.ariaLabel,\"aria-controls\":t.randomId,\"aria-expanded\":t.opened?\"true\":\"false\",\"test-attr\":\"1\",type:\"button\"},on:{focus:t.onFocus,blur:t.onBlur}},[t.iconSlotIsPopulated?t._t(\"icon\"):\"\"===t.defaultIcon?o(\"DotsHorizontal\",{attrs:{size:24,decorative:\"\"}}):t._e(),t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.menuTitle)+\"\\n\\t\\t\\t\")],2)]},proxy:!0}],null,!0)},[t._v(\" \"),o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.opened,expression:\"opened\"}],ref:\"menu\",class:{open:t.opened},attrs:{tabindex:\"-1\"},on:{keydown:[function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusPreviousAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusNextAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusNextAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?null:e.shiftKey?e.ctrlKey||e.altKey||e.metaKey?null:t.focusPreviousAction(e):null},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"page-up\",void 0,e.key,void 0)||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusFirstAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"page-down\",void 0,e.key,void 0)||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:t.focusLastAction(e)},function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"esc\",27,e.key,[\"Esc\",\"Escape\"])||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey?null:(e.preventDefault(),t.closeMenu(e))}],mousemove:t.onMouseFocusAction}},[o(\"ul\",{attrs:{id:t.randomId,tabindex:\"-1\"}},[t.opened?[t._t(\"default\")]:t._e()],2)])])],1)}),[],!1,null,\"de7c02d6\",null);\"function\"==typeof S.a&&S()(w);t.a=w.exports},,,,,,,,,,,,,,,,function(e,t,n){\"use strict\";n.r(t);var o=n(37);\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=o.a}])}));\n//# sourceMappingURL=Actions.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Directives/Tooltip\",[],n):\"object\"==typeof exports?exports[\"Directives/Tooltip\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Directives/Tooltip\"]=n())}(window,(function(){return function(t){var n={};function r(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=n,r.d=function(t,n,e){r.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:e})},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.t=function(t,n){if(1&n&&(t=r(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var o in t)r.d(e,o,function(n){return t[n]}.bind(null,o));return e},r.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(n,\"a\",n),n},r.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r.p=\"/dist/\",r(r.s=11)}([function(t,n,r){\"use strict\";function e(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var r=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==r)return;var e,o,i=[],a=!0,c=!1;try{for(r=r.call(t);!(a=(e=r.next()).done)&&(i.push(e.value),!n||i.length!==n);a=!0);}catch(t){c=!0,o=t}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return o(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===r&&t.constructor&&(r=t.constructor.name);if(\"Map\"===r||\"Set\"===r)return Array.from(t);if(\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return o(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function o(t,n){(null==n||n>t.length)&&(n=t.length);for(var r=0,e=new Array(n);r<n;r++)e[r]=t[r];return e}t.exports=function(t){var n=e(t,4),r=n[1],o=n[3];if(!o)return r;if(\"function\"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(i),c=\"/*# \".concat(a,\" */\"),l=o.sources.map((function(t){return\"/*# sourceURL=\".concat(o.sourceRoot||\"\").concat(t,\" */\")}));return[r].concat(l).concat([c]).join(\"\\n\")}return[r].join(\"\\n\")}},function(t,n,r){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var r=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(r,\"}\"):r})).join(\"\")},n.i=function(t,r,e){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var o={};if(e)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(o[a]=!0)}for(var c=0;c<t.length;c++){var l=[].concat(t[c]);e&&o[l[0]]||(r&&(l[2]?l[2]=\"\".concat(r,\" and \").concat(l[2]):l[2]=r),n.push(l))}},n}},function(t,n,r){\"use strict\";var e,o=function(){return void 0===e&&(e=Boolean(window&&document&&document.all&&!window.atob)),e},i=function(){var t={};return function(n){if(void 0===t[n]){var r=document.querySelector(n);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}t[n]=r}return t[n]}}(),a=[];function c(t){for(var n=-1,r=0;r<a.length;r++)if(a[r].identifier===t){n=r;break}return n}function l(t,n){for(var r={},e=[],o=0;o<t.length;o++){var i=t[o],l=n.base?i[0]+n.base:i[0],s=r[l]||0,p=\"\".concat(l,\" \").concat(s);r[l]=s+1;var d=c(p),u={css:i[1],media:i[2],sourceMap:i[3]};-1!==d?(a[d].references++,a[d].updater(u)):a.push({identifier:p,updater:h(u,n),references:1}),e.push(p)}return e}function s(t){var n=document.createElement(\"style\"),e=t.attributes||{};if(void 0===e.nonce){var o=r.nc;o&&(e.nonce=o)}if(Object.keys(e).forEach((function(t){n.setAttribute(t,e[t])})),\"function\"==typeof t.insert)t.insert(n);else{var a=i(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(n)}return n}var p,d=(p=[],function(t,n){return p[t]=n,p.filter(Boolean).join(\"\\n\")});function u(t,n,r,e){var o=r?\"\":e.media?\"@media \".concat(e.media,\" {\").concat(e.css,\"}\"):e.css;if(t.styleSheet)t.styleSheet.cssText=d(n,o);else{var i=document.createTextNode(o),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(i,a[n]):t.appendChild(i)}}function A(t,n,r){var e=r.css,o=r.media,i=r.sourceMap;if(o?t.setAttribute(\"media\",o):t.removeAttribute(\"media\"),i&&\"undefined\"!=typeof btoa&&(e+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}var f=null,C=0;function h(t,n){var r,e,o;if(n.singleton){var i=C++;r=f||(f=s(n)),e=u.bind(null,r,i,!1),o=u.bind(null,r,i,!0)}else r=s(n),e=A.bind(null,r,n),o=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(r)};return e(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;e(t=n)}else o()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=o());var r=l(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var e=0;e<r.length;e++){var o=c(r[e]);a[o].references--}for(var i=l(t,n),s=0;s<r.length;s++){var p=c(r[s]);0===a[p].references&&(a[p].updater(),a.splice(p,1))}r=i}}}},,,function(t,n){t.exports=require(\"v-tooltip\")},,,,,,function(t,n,r){\"use strict\";r.r(n);var e=r(5),o=r(2),i=r.n(o),a=r(12),c={insert:\"head\",singleton:!1};i()(a.a,c),a.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\ne.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),e.VTooltip.options.defaultHtml=!1,e.VTooltip.options.defaultDelay={show:500,hide:200};n.default=e.VTooltip},function(t,n,r){\"use strict\";var e=r(0),o=r.n(e),i=r(1),a=r.n(i)()(o.a);a.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=a}])}));\n//# sourceMappingURL=Tooltip.js.map","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nexports.UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","module.exports = {};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = $toString(R.source);\n var rf = R.flags;\n var f = $toString(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\n\n return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=e||self)[\"v-click-outside\"]=n()}(this,function(){var e=\"undefined\"!=typeof window,n=\"undefined\"!=typeof navigator,t=e&&(\"ontouchstart\"in window||n&&navigator.msMaxTouchPoints>0)?[\"touchstart\"]:[\"click\"];function i(e){var n=e.event,t=e.handler;(0,e.middleware)(n)&&t(n)}function r(e,n){var r=function(e){var n=\"function\"==typeof e;if(!n&&\"object\"!=typeof e)throw new Error(\"v-click-outside: Binding value must be a function or an object\");return{handler:n?e:e.handler,middleware:e.middleware||function(e){return e},events:e.events||t,isActive:!(!1===e.isActive),detectIframe:!(!1===e.detectIframe)}}(n.value),d=r.handler,o=r.middleware,a=r.detectIframe;if(r.isActive){if(e[\"__v-click-outside\"]=r.events.map(function(n){return{event:n,srcTarget:document.documentElement,handler:function(n){return function(e){var n=e.el,t=e.event,r=e.handler,d=e.middleware,o=t.path||t.composedPath&&t.composedPath();(o?o.indexOf(n)<0:!n.contains(t.target))&&i({event:t,handler:r,middleware:d})}({el:e,event:n,handler:d,middleware:o})}}}),a){var c={event:\"blur\",srcTarget:window,handler:function(n){return function(e){var n=e.el,t=e.event,r=e.handler,d=e.middleware;setTimeout(function(){var e=document.activeElement;e&&\"IFRAME\"===e.tagName&&!n.contains(e)&&i({event:t,handler:r,middleware:d})},0)}({el:e,event:n,handler:d,middleware:o})}};e[\"__v-click-outside\"]=[].concat(e[\"__v-click-outside\"],[c])}e[\"__v-click-outside\"].forEach(function(n){var t=n.event,i=n.srcTarget,r=n.handler;return setTimeout(function(){e[\"__v-click-outside\"]&&i.addEventListener(t,r,!1)},0)})}}function d(e){(e[\"__v-click-outside\"]||[]).forEach(function(e){return e.srcTarget.removeEventListener(e.event,e.handler,!1)}),delete e[\"__v-click-outside\"]}var o=e?{bind:r,update:function(e,n){var t=n.value,i=n.oldValue;JSON.stringify(t)!==JSON.stringify(i)&&(d(e),r(e,{value:t}))},unbind:d}:{};return{install:function(e){e.directive(\"click-outside\",o)},directive:o}});\n//# sourceMappingURL=v-click-outside.umd.js.map\n","'use strict';\n\n(function (global) {\n\n // minimal symbol polyfill for IE11 and others\n if (typeof Symbol !== 'function') {\n var Symbol = function(name) {\n return name;\n }\n\n Symbol.nonNative = true;\n }\n\n const STATE_PLAINTEXT = Symbol('plaintext');\n const STATE_HTML = Symbol('html');\n const STATE_COMMENT = Symbol('comment');\n\n const ALLOWED_TAGS_REGEX = /<(\\w*)>/g;\n const NORMALIZE_TAG_REGEX = /<\\/?([^\\s\\/>]+)/;\n\n function striptags(html, allowable_tags, tag_replacement) {\n html = html || '';\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return striptags_internal(html, context);\n }\n\n function init_striptags_stream(allowable_tags, tag_replacement) {\n allowable_tags = allowable_tags || [];\n tag_replacement = tag_replacement || '';\n\n let context = init_context(allowable_tags, tag_replacement);\n\n return function striptags_stream(html) {\n return striptags_internal(html || '', context);\n };\n }\n\n striptags.init_streaming_mode = init_striptags_stream;\n\n function init_context(allowable_tags, tag_replacement) {\n allowable_tags = parse_allowable_tags(allowable_tags);\n\n return {\n allowable_tags : allowable_tags,\n tag_replacement: tag_replacement,\n\n state : STATE_PLAINTEXT,\n tag_buffer : '',\n depth : 0,\n in_quote_char : ''\n };\n }\n\n function striptags_internal(html, context) {\n if (typeof html != \"string\") {\n throw new TypeError(\"'html' parameter must be a string\");\n }\n\n let allowable_tags = context.allowable_tags;\n let tag_replacement = context.tag_replacement;\n\n let state = context.state;\n let tag_buffer = context.tag_buffer;\n let depth = context.depth;\n let in_quote_char = context.in_quote_char;\n let output = '';\n\n for (let idx = 0, length = html.length; idx < length; idx++) {\n let char = html[idx];\n\n if (state === STATE_PLAINTEXT) {\n switch (char) {\n case '<':\n state = STATE_HTML;\n tag_buffer += char;\n break;\n\n default:\n output += char;\n break;\n }\n }\n\n else if (state === STATE_HTML) {\n switch (char) {\n case '<':\n // ignore '<' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // we're seeing a nested '<'\n depth++;\n break;\n\n case '>':\n // ignore '>' if inside a quote\n if (in_quote_char) {\n break;\n }\n\n // something like this is happening: '<<>>'\n if (depth) {\n depth--;\n\n break;\n }\n\n // this is closing the tag in tag_buffer\n in_quote_char = '';\n state = STATE_PLAINTEXT;\n tag_buffer += '>';\n\n if (allowable_tags.has(normalize_tag(tag_buffer))) {\n output += tag_buffer;\n } else {\n output += tag_replacement;\n }\n\n tag_buffer = '';\n break;\n\n case '\"':\n case '\\'':\n // catch both single and double quotes\n\n if (char === in_quote_char) {\n in_quote_char = '';\n } else {\n in_quote_char = in_quote_char || char;\n }\n\n tag_buffer += char;\n break;\n\n case '-':\n if (tag_buffer === '<!-') {\n state = STATE_COMMENT;\n }\n\n tag_buffer += char;\n break;\n\n case ' ':\n case '\\n':\n if (tag_buffer === '<') {\n state = STATE_PLAINTEXT;\n output += '< ';\n tag_buffer = '';\n\n break;\n }\n\n tag_buffer += char;\n break;\n\n default:\n tag_buffer += char;\n break;\n }\n }\n\n else if (state === STATE_COMMENT) {\n switch (char) {\n case '>':\n if (tag_buffer.slice(-2) == '--') {\n // close the comment\n state = STATE_PLAINTEXT;\n }\n\n tag_buffer = '';\n break;\n\n default:\n tag_buffer += char;\n break;\n }\n }\n }\n\n // save the context for future iterations\n context.state = state;\n context.tag_buffer = tag_buffer;\n context.depth = depth;\n context.in_quote_char = in_quote_char;\n\n return output;\n }\n\n function parse_allowable_tags(allowable_tags) {\n let tag_set = new Set();\n\n if (typeof allowable_tags === 'string') {\n let match;\n\n while ((match = ALLOWED_TAGS_REGEX.exec(allowable_tags))) {\n tag_set.add(match[1]);\n }\n }\n\n else if (!Symbol.nonNative &&\n typeof allowable_tags[Symbol.iterator] === 'function') {\n\n tag_set = new Set(allowable_tags);\n }\n\n else if (typeof allowable_tags.forEach === 'function') {\n // IE11 compatible\n allowable_tags.forEach(tag_set.add, tag_set);\n }\n\n return tag_set;\n }\n\n function normalize_tag(tag_buffer) {\n let match = NORMALIZE_TAG_REGEX.exec(tag_buffer);\n\n return match ? match[1].toLowerCase() : null;\n }\n\n if (typeof define === 'function' && define.amd) {\n // AMD\n define(function module_factory() { return striptags; });\n }\n\n else if (typeof module === 'object' && module.exports) {\n // Node\n module.exports = striptags;\n }\n\n else {\n // Browser\n global.striptags = striptags;\n }\n}(this));\n","module.exports = require('./lib/linkify-string').default;\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCapabilities = getCapabilities;\n\nvar _initialState = require(\"@nextcloud/initial-state\");\n\nfunction getCapabilities() {\n try {\n return (0, _initialState.loadState)('core', 'capabilities');\n } catch (error) {\n console.debug('Could not find capabilities initial state fall back to _oc_capabilities');\n\n if (!('_oc_capabilities' in window)) {\n return {};\n }\n\n return window['_oc_capabilities'];\n }\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.filter\");\n\nrequire(\"core-js/modules/es.array.map\");\n\nrequire(\"core-js/modules/es.object.keys\");\n\nrequire(\"core-js/modules/es.string.starts-with\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getBuilder = getBuilder;\nexports.clearAll = clearAll;\nexports.clearNonPersistent = clearNonPersistent;\n\nvar _storagebuilder = _interopRequireDefault(require(\"./storagebuilder\"));\n\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getBuilder(appId) {\n return new _storagebuilder.default(appId);\n}\n\nfunction clearStorage(storage, pred) {\n Object.keys(storage).filter(function (k) {\n return pred ? pred(k) : true;\n }).map(storage.removeItem.bind(storage));\n}\n\nfunction clearAll() {\n var storages = [window.sessionStorage, window.localStorage];\n storages.map(function (s) {\n return clearStorage(s);\n });\n}\n\nfunction clearNonPersistent() {\n var storages = [window.sessionStorage, window.localStorage];\n storages.map(function (s) {\n return clearStorage(s, function (k) {\n return !k.startsWith(_scopedstorage.default.GLOBAL_SCOPE_PERSISTENT);\n });\n });\n}\n//# sourceMappingURL=index.js.map","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLocale = getLocale;\nexports.getCanonicalLocale = getCanonicalLocale;\nexports.getLanguage = getLanguage;\nexports.translate = translate;\nexports.translatePlural = translatePlural;\nexports.getFirstDay = getFirstDay;\nexports.getDayNames = getDayNames;\nexports.getDayNamesShort = getDayNamesShort;\nexports.getDayNamesMin = getDayNamesMin;\nexports.getMonthNames = getMonthNames;\nexports.getMonthNamesShort = getMonthNamesShort;\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Returns the user's locale\n */\nfunction getLocale() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLocale();\n}\n\nfunction getCanonicalLocale() {\n return getLocale().replace(/_/g, '-');\n}\n/**\n * Returns the user's language\n */\n\n\nfunction getLanguage() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLanguage();\n}\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 {object} vars map of placeholder key to value\n * @param {number} number to replace %n with\n * @param {object} [options] options object\n * @return {string}\n */\nfunction translate(app, text, vars, count, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return text;\n }\n\n return OC.L10N.translate(app, text, vars, count, options);\n}\n/**\n * Translate a plural string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} textSingular the string to translate for exactly one object\n * @param {string} textPlural the string to translate for n objects\n * @param {number} count number to determine whether to use singular or plural\n * @param {Object} vars of placeholder key to value\n * @param {object} options options object\n * @return {string}\n */\n\n\nfunction translatePlural(app, textSingular, textPlural, count, vars, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return textSingular;\n }\n\n return OC.L10N.translatePlural(app, textSingular, textPlural, count, vars, options);\n}\n/**\n * Get the first day of the week\n *\n * @return {number}\n */\n\n\nfunction getFirstDay() {\n if (typeof window.firstDay === 'undefined') {\n console.warn('No firstDay found');\n return 1;\n }\n\n return window.firstDay;\n}\n/**\n * Get a list of day names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNames() {\n if (typeof window.dayNames === 'undefined') {\n console.warn('No dayNames found');\n return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n }\n\n return window.dayNames;\n}\n/**\n * Get a list of day names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesShort() {\n if (typeof window.dayNamesShort === 'undefined') {\n console.warn('No dayNamesShort found');\n return ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'];\n }\n\n return window.dayNamesShort;\n}\n/**\n * Get a list of day names (minified names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesMin() {\n if (typeof window.dayNamesMin === 'undefined') {\n console.warn('No dayNamesMin found');\n return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n }\n\n return window.dayNamesMin;\n}\n/**\n * Get a list of month names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNames() {\n if (typeof window.monthNames === 'undefined') {\n console.warn('No monthNames found');\n return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n }\n\n return window.monthNames;\n}\n/**\n * Get a list of month names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNamesShort() {\n if (typeof window.monthNamesShort === 'undefined') {\n console.warn('No monthNamesShort found');\n return ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];\n }\n\n return window.monthNamesShort;\n}\n//# sourceMappingURL=index.js.map","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = input[TO_PRIMITIVE];\n var result;\n if (exoticToPrim !== undefined) {\n if (pref === undefined) pref = 'default';\n result = exoticToPrim.call(input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var fails = require('./fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var fails = require('./fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?<a>b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$<a>c') !== 'bc';\n});\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","\"use strict\";\n\nexports.__esModule = true;\nexports.inherits = inherits;\nfunction inherits(parent, child) {\n\tvar props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\tvar extended = Object.create(parent.prototype);\n\tfor (var p in props) {\n\t\textended[p] = props[p];\n\t}\n\textended.constructor = child;\n\tchild.prototype = extended;\n\treturn child;\n}","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var render = function (_h,_vm) {var _c=_vm._c;return _c('span',_vm._g(_vm._b({staticClass:\"material-design-icon dots-horizontal-icon\",class:[_vm.data.class, _vm.data.staticClass],attrs:{\"aria-hidden\":_vm.props.decorative,\"aria-label\":_vm.props.title,\"role\":\"img\"}},'span',_vm.data.attrs,false),_vm.listeners),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.props.fillColor,\"width\":_vm.props.size,\"height\":_vm.props.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\"}},[(!_vm.props.decorative)?_c('title',[_vm._v(_vm._s(_vm.props.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js&\"","<template functional>\n <span :aria-hidden=\"props.decorative\"\n :aria-label=\"props.title\"\n :class=\"[data.class, data.staticClass]\"\n class=\"material-design-icon dots-horizontal-icon\"\n role=\"img\"\n v-bind=\"data.attrs\"\n v-on=\"listeners\">\n <svg :fill=\"props.fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"props.size\"\n :height=\"props.size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\">\n <title v-if=\"!props.decorative\">{{ props.title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"DotsHorizontalIcon\",\n props: {\n title: {\n type: String,\n default: \"Dots Horizontal icon\"\n },\n decorative: {\n type: Boolean,\n default: false\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./DotsHorizontal.vue?vue&type=template&id=079a5c9e&functional=true&\"\nimport script from \"./DotsHorizontal.vue?vue&type=script&lang=js&\"\nexport * from \"./DotsHorizontal.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 true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear' \n * that is a function which will clear the timer to prevent previously scheduled executions. \n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {Function} function to wrap\n * @param {Number} timeout in ms (`100`)\n * @param {Boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nfunction debounce(func, wait, immediate){\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n };\n\n var debounced = function(){\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n \n debounced.flush = function() {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n \n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n};\n\n// Adds compatibility for ES modules\ndebounce.debounce = debounce;\n\nmodule.exports = debounce;\n","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionText\",[],n):\"object\"==typeof exports?exports[\"Components/ActionText\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionText\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=209)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,a=[],r=!0,c=!1;try{for(e=e.call(t);!(r=(o=e.next()).done)&&(a.push(o.value),!n||a.length!==n);r=!0);}catch(t){c=!0,i=t}finally{try{r||null==e.return||e.return()}finally{if(c)throw i}}return a}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),c=\"/*# \".concat(r,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(s).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var a=0;a<this.length;a++){var r=this[a][0];null!=r&&(i[r]=!0)}for(var c=0;c<t.length;c++){var s=[].concat(t[c]);o&&i[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),n.push(s))}},n}},135:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),a=e(1),r=e.n(a)()(i.a);r.push([t.i,\".material-design-icon[data-v-90adea72]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-90adea72]{background-color:var(--color-background-hover)}.action-text[data-v-90adea72]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-text[data-v-90adea72]:hover,.action-text[data-v-90adea72]:focus{opacity:1}.action-text>span[data-v-90adea72]{cursor:pointer;white-space:nowrap}.action-text__icon[data-v-90adea72]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-text[data-v-90adea72] .material-design-icon{width:44px;height:44px;opacity:1}.action-text[data-v-90adea72] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-text p[data-v-90adea72]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-text__longtext[data-v-90adea72]{cursor:pointer;white-space:pre-wrap}.action-text__title[data-v-90adea72]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}.action--disabled[data-v-90adea72]{pointer-events:none;opacity:.5}.action--disabled[data-v-90adea72]:hover,.action--disabled[data-v-90adea72]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-90adea72]{opacity:1 !important}.action-text[data-v-90adea72],.action-text span[data-v-90adea72]{cursor:default}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./ActionText.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,8BAqBD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,wEA2BE,SC9Ba,CDGf,mCA+BE,cAAe,CACf,kBAAmB,CACnB,oCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,oDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,+EAkDG,qBAAsB,CAlDzB,gCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,wCAGA,cAAe,CAEf,oBAAqB,CACrB,qCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB,CAjGvB,mCACC,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEyCxB,iEAGE,cAAe\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action-item('text');\\n@include action--disabled;\\n\\n.action-text {\\n\\t&,\\n\\tspan {\\n\\t\\tcursor: default;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=r},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),r=[];function c(t){for(var n=-1,e=0;e<r.length;e++)if(r[e].identifier===t){n=e;break}return n}function s(t,n){for(var e={},o=[],i=0;i<t.length;i++){var a=t[i],s=n.base?a[0]+n.base:a[0],l=e[s]||0,u=\"\".concat(s,\" \").concat(l);e[s]=l+1;var d=c(u),p={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(r[d].references++,r[d].updater(p)):r.push({identifier:u,updater:C(p,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var r=a(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function p(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var a=document.createTextNode(i),r=t.childNodes;r[n]&&t.removeChild(r[n]),r.length?t.insertBefore(a,r[n]):t.appendChild(a)}}function f(t,n,e){var o=e.css,i=e.media,a=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,A=0;function C(t,n){var e,o,i;if(n.singleton){var a=A++;e=h||(h=l(n)),o=p.bind(null,e,a,!1),i=p.bind(null,e,a,!0)}else e=l(n),o=f.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=s(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=c(e[o]);r[i].references--}for(var a=s(t,n),l=0;l<e.length;l++){var u=c(e[l]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}e=a}}}},209:function(t,n,e){\"use strict\";e.r(n);var o={name:\"ActionText\",mixins:[e(32).a]},i=e(2),a=e.n(i),r=e(135),c={insert:\"head\",singleton:!1},s=(a()(r.a,c),r.a.locals,e(3)),l=Object(s.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\"},[e(\"span\",{staticClass:\"action-text\",on:{click:t.onClick}},[t._t(\"icon\",[\"\"!==t.icon?e(\"span\",{staticClass:\"action-text__icon\",class:[t.isIconUrl?\"action-text__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}}):t._e()]),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-text__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-text__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-text__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-text__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"90adea72\",null).exports;n.default=l},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,a,r,c){var s,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),a&&(l._scopeId=\"data-v-\"+a),r?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},l._ssrRegister=s):i&&(s=c?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(l.functional){l._injectStyles=s;var u=l.render;l.render=function(t,n){return s.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},32:function(t,n,e){\"use strict\";var o=e(27),i=function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=i(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},6:function(t,n){t.exports=require(\"vue\")}})}));\n//# sourceMappingURL=ActionText.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionCheckbox\",[],n):\"object\"==typeof exports?exports[\"Components/ActionCheckbox\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionCheckbox\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=205)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,a=[],r=!0,c=!1;try{for(e=e.call(t);!(r=(o=e.next()).done)&&(a.push(o.value),!n||a.length!==n);r=!0);}catch(t){c=!0,i=t}finally{try{r||null==e.return||e.return()}finally{if(c)throw i}}return a}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),c=\"/*# \".concat(r,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(s).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var a=0;a<this.length;a++){var r=this[a][0];null!=r&&(i[r]=!0)}for(var c=0;c<t.length;c++){var s=[].concat(t[c]);o&&i[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),n.push(s))}},n}},128:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),a=e(1),r=e.n(a)()(i.a);r.push([t.i,\".material-design-icon[data-v-395fa6ac]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-395fa6ac]{background-color:var(--color-background-hover)}.action--disabled[data-v-395fa6ac]{pointer-events:none;opacity:.5}.action--disabled[data-v-395fa6ac]:hover,.action--disabled[data-v-395fa6ac]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-395fa6ac]{opacity:1 !important}.action-checkbox[data-v-395fa6ac]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-checkbox__checkbox[data-v-395fa6ac]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-checkbox__checkbox:focus+.action-checkbox__label[data-v-395fa6ac]{opacity:1}.action-checkbox__label[data-v-395fa6ac]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important;opacity:.7}.action-checkbox__label[data-v-395fa6ac]::before{margin:0 14px 0 !important}.action-checkbox--disabled[data-v-395fa6ac],.action-checkbox--disabled .action-checkbox__label[data-v-395fa6ac]{cursor:pointer}.action-checkbox:not(.action-checkbox--disabled):hover .action-checkbox__label[data-v-395fa6ac],.action-checkbox:not(.action-checkbox--disabled):focus .action-checkbox__label[data-v-395fa6ac]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./ActionCheckbox.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEiHxB,kCACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBDnJoB,CCsJpB,4CACC,iBAAkB,CAClB,QAAS,CACT,aAAc,CAEd,eAAgB,CAEhB,SAAU,CACV,UAAW,CARX,0EAUC,SD7Ia,CC8Ib,yCAID,YAAa,CACb,kBAAmB,CAEnB,UAAW,CACX,oBAAqB,CACrB,6BAAsC,CAEtC,UD1JiB,CCkJjB,iDAYC,0BAA2B,CAC3B,gHAMA,cAAe,CAvDlB,gMA8DG,SD3Ka\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-checkbox {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__checkbox {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align checkbox to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// checkbox-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-checkbox--disabled):hover,\\n\\t&:not(.action-checkbox--disabled):focus {\\n\\t\\t.action-checkbox__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=r},129:function(t,n){},17:function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),r=[];function c(t){for(var n=-1,e=0;e<r.length;e++)if(r[e].identifier===t){n=e;break}return n}function s(t,n){for(var e={},o=[],i=0;i<t.length;i++){var a=t[i],s=n.base?a[0]+n.base:a[0],l=e[s]||0,u=\"\".concat(s,\" \").concat(l);e[s]=l+1;var d=c(u),f={css:a[1],media:a[2],sourceMap:a[3]};-1!==d?(r[d].references++,r[d].updater(f)):r.push({identifier:u,updater:m(f,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var r=a(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function f(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var a=document.createTextNode(i),r=t.childNodes;r[n]&&t.removeChild(r[n]),r.length?t.insertBefore(a,r[n]):t.appendChild(a)}}function p(t,n,e){var o=e.css,i=e.media,a=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,b=0;function m(t,n){var e,o,i;if(n.singleton){var a=b++;e=h||(h=l(n)),o=f.bind(null,e,a,!1),i=f.bind(null,e,a,!0)}else e=l(n),o=p.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=s(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=c(e[o]);r[i].references--}for(var a=s(t,n),l=0;l<e.length;l++){var u=c(e[l]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}e=a}}}},205:function(t,n,e){\"use strict\";e.r(n);var o=e(27),i=e(17),a={name:\"ActionCheckbox\",mixins:[o.a],props:{id:{type:String,default:function(){return\"action-\"+Object(i.a)()},validator:function(t){return\"\"!==t.trim()}},checked:{type:Boolean,default:!1},value:{type:[String,Number],default:\"\"},disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}},methods:{checkInput:function(t){this.$refs.label.click()},onChange:function(t){this.$emit(\"update:checked\",this.$refs.checkbox.checked),this.$emit(\"change\",t),this.$refs.checkbox.checked?this.$emit(\"check\"):this.$emit(\"uncheck\")}}},r=e(2),c=e.n(r),s=e(128),l={insert:\"head\",singleton:!1},u=(c()(s.a,l),s.a.locals,e(3)),d=e(129),f=e.n(d),p=Object(u.a)(a,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-checkbox\"},[e(\"input\",{ref:\"checkbox\",staticClass:\"checkbox action-checkbox__checkbox\",class:{focusable:t.isFocusable},attrs:{id:t.id,disabled:t.disabled,type:\"checkbox\"},domProps:{checked:t.checked,value:t.value},on:{keydown:function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\")||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:(n.preventDefault(),t.checkInput(n))},change:t.onChange}}),t._v(\" \"),e(\"label\",{ref:\"label\",staticClass:\"action-checkbox__label\",attrs:{for:t.id}},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"395fa6ac\",null);\"function\"==typeof f.a&&f()(p);var h=p.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=h},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,a,r,c){var s,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),a&&(l._scopeId=\"data-v-\"+a),r?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},l._ssrRegister=s):i&&(s=c?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(l.functional){l._injectStyles=s;var u=l.render;l.render=function(t,n){return s.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},6:function(t,n){t.exports=require(\"vue\")}})}));\n//# sourceMappingURL=ActionCheckbox.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionInput\",[],n):\"object\"==typeof exports?exports[\"Components/ActionInput\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionInput\"]=n())}(window,(function(){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=206)}([function(t,n,e){\"use strict\";function r(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var r,i,a=[],o=!0,T=!1;try{for(e=e.call(t);!(o=(r=e.next()).done)&&(a.push(r.value),!n||a.length!==n);o=!0);}catch(t){T=!0,i=t}finally{try{o||null==e.return||e.return()}finally{if(T)throw i}}return a}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}t.exports=function(t){var n=r(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),o=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),T=\"/*# \".concat(o,\" */\"),l=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(l).concat([T]).join(\"\\n\")}return[e].join(\"\\n\")}},function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,r){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(r)for(var a=0;a<this.length;a++){var o=this[a][0];null!=o&&(i[o]=!0)}for(var T=0;T<t.length;T++){var l=[].concat(t[T]);r&&i[l[0]]||(e&&(l[2]?l[2]=\"\".concat(e,\" and \").concat(l[2]):l[2]=e),n.push(l))}},n}},function(t,n,e){\"use strict\";var r,i=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},a=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),o=[];function T(t){for(var n=-1,e=0;e<o.length;e++)if(o[e].identifier===t){n=e;break}return n}function l(t,n){for(var e={},r=[],i=0;i<t.length;i++){var a=t[i],l=n.base?a[0]+n.base:a[0],s=e[l]||0,A=\"\".concat(l,\" \").concat(s);e[l]=s+1;var c=T(A),d={css:a[1],media:a[2],sourceMap:a[3]};-1!==c?(o[c].references++,o[c].updater(d)):o.push({identifier:A,updater:p(d,n),references:1}),r.push(A)}return r}function s(t){var n=document.createElement(\"style\"),r=t.attributes||{};if(void 0===r.nonce){var i=e.nc;i&&(r.nonce=i)}if(Object.keys(r).forEach((function(t){n.setAttribute(t,r[t])})),\"function\"==typeof t.insert)t.insert(n);else{var o=a(t.insert||\"head\");if(!o)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");o.appendChild(n)}return n}var A,c=(A=[],function(t,n){return A[t]=n,A.filter(Boolean).join(\"\\n\")});function d(t,n,e,r){var i=e?\"\":r.media?\"@media \".concat(r.media,\" {\").concat(r.css,\"}\"):r.css;if(t.styleSheet)t.styleSheet.cssText=c(n,i);else{var a=document.createTextNode(i),o=t.childNodes;o[n]&&t.removeChild(o[n]),o.length?t.insertBefore(a,o[n]):t.appendChild(a)}}function u(t,n,e){var r=e.css,i=e.media,a=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}var E=null,m=0;function p(t,n){var e,r,i;if(n.singleton){var a=m++;e=E||(E=s(n)),r=d.bind(null,e,a,!1),i=d.bind(null,e,a,!0)}else e=s(n),r=u.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return r(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;r(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=l(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var r=0;r<e.length;r++){var i=T(e[r]);o[i].references--}for(var a=l(t,n),s=0;s<e.length;s++){var A=T(e[s]);0===o[A].references&&(o[A].updater(),o.splice(A,1))}e=a}}}},function(t,n,e){\"use strict\";function r(t,n,e,r,i,a,o,T){var l,s=\"function\"==typeof t?t.options:t;if(n&&(s.render=n,s.staticRenderFns=e,s._compiled=!0),r&&(s.functional=!0),a&&(s._scopeId=\"data-v-\"+a),o?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},s._ssrRegister=l):i&&(l=T?function(){i.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(s.functional){s._injectStyles=l;var A=s.render;s.render=function(t,n){return l.call(n),A(t,n)}}else{var c=s.beforeCreate;s.beforeCreate=c?[].concat(c,l):[l]}return{exports:t,options:s}}e.d(n,\"a\",(function(){return r}))},function(t,n,e){\"use strict\";e.d(n,\"b\",(function(){return T})),e.d(n,\"a\",(function(){return o}));var r=e(13),i=Object(r.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a timezone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search timezone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var n={};for(var e in t.translations)t.translations[e].pluralId?n[e]={msgid:e,msgid_plural:t.translations[e].pluralId,msgstr:t.translations[e].msgstr}:n[e]={msgid:e,msgstr:[t.translations[e]]};i.addTranslation(t.locale,{translations:{\"\":n}})}));var a=i.build(),o=a.ngettext.bind(a),T=a.gettext.bind(a)},function(t,n){t.exports=require(\"v-tooltip\")},function(t,n){t.exports=require(\"vue\")},function(t,n){t.exports=require(\"@nextcloud/router\")},function(t,n,e){\"use strict\";t.exports=function(t,n){return n||(n={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),n.hash&&(t+=n.hash),/[\"'() \\t\\n]/.test(t)||n.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},function(t,n,e){\"use strict\";e.r(n);var r=e(5),i=e(2),a=e.n(i),o=e(12),T={insert:\"head\",singleton:!1};a()(o.a,T),o.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nr.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),r.VTooltip.options.defaultHtml=!1,r.VTooltip.options.defaultDelay={show:500,hide:200};n.default=r.VTooltip},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(t,n,e){\"use strict\";var r={name:\"Popover\",components:{VPopover:e(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(n){n?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},i=e(2),a=e.n(i),o=e(9),T={insert:\"head\",singleton:!1},l=(a()(o.a,T),o.a.locals,e(3)),s=e(10),A=e.n(s),c=Object(l.a)(r,(function(){var t=this,n=t.$createElement;return(t._self._c||n)(\"VPopover\",t._g(t._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:t._u([{key:\"popover\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof A.a&&A()(c);n.a=c.exports},function(t,n){t.exports=require(\"vue-material-design-icons/DotsHorizontal\")},function(t,n){t.exports=require(\"@nextcloud/event-bus\")},function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},function(t,n){t.exports=require(\"@nextcloud/auth\")},function(t,n,e){\"use strict\";e.r(n);var r=e(14);\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=r.a},function(t,n,e){\"use strict\";e.r(n);var r=e(6),i=new(e.n(r).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});n.default={data:function(){return{isMobile:!1}},mounted:function(){i.$on(\"changed\",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,n){t.exports=require(\"@nextcloud/axios\")},function(t,n,e){\"use strict\";var r=e(4);n.a={methods:{n:r.a,t:r.b}}},,function(t,n,e){\"use strict\";e.d(n,\"a\",(function(){return r.default})),e.d(n,\"b\",(function(){return i.default})),e.d(n,\"c\",(function(){return a.default})),e.d(n,\"d\",(function(){return o.default})),e.d(n,\"e\",(function(){return u}));var r=e(47),i=e(48),a=e(20),o=e(39),T=e(21),l=e.n(T),s=e(7),A=e(57),c=e(18);function d(t,n,e,r,i,a,o){try{var T=t[a](o),l=T.value}catch(t){return void e(t)}T.done?n(l):Promise.resolve(l).then(r,i)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var u={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var n,e=this;return(n=regeneratorRuntime.mark((function n(){var r,i,a,o,T,d,u,E,m;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t){n.next=2;break}return n.abrupt(\"return\");case 2:if(r=Object(A.getCapabilities)(),Object.prototype.hasOwnProperty.call(r,\"user_status\")&&r.user_status.enabled){n.next=5;break}return n.abrupt(\"return\");case 5:if(Object(c.getCurrentUser)()){n.next=7;break}return n.abrupt(\"return\");case 7:return n.prev=7,n.next=10,l.a.get(Object(s.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:t}));case 10:i=n.sent,a=i.data,o=a.ocs.data,T=o.status,d=o.message,u=o.icon,e.userStatus.status=T,e.userStatus.message=d||\"\",e.userStatus.icon=u||\"\",e.hasStatus=!0,n.next=24;break;case 19:if(n.prev=19,n.t0=n.catch(7),404!==n.t0.response.status||0!==(null===(E=n.t0.response.data.ocs)||void 0===E||null===(m=E.data)||void 0===m?void 0:m.length)){n.next=23;break}return n.abrupt(\"return\");case 23:console.error(n.t0);case 24:case\"end\":return n.stop()}}),n,null,[[7,19]])})),function(){var t=this,e=arguments;return new Promise((function(r,i){var a=n.apply(t,e);function o(t){d(a,r,i,o,T,\"next\",t)}function T(t){d(a,r,i,o,T,\"throw\",t)}o(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,n){t.exports=require(\"striptags\")},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n,e){\"use strict\";var r=e(6),i=e.n(r);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},function(t,n){t.exports=require(\"v-click-outside\")},,,function(t,n){t.exports=require(\"linkifyjs/string\")},,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\"\\nbutton.menuitem[data-v-54983729] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-54983729] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-54983729]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-54983729] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-54983729] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\"],names:[],mappings:\";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\ttype=\"button\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),n.a=o},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-54983729]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},,function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t,n){for(var e=[],r=0,i=t.toLowerCase().indexOf(n.toLowerCase(),r),a=0;i>-1&&a<t.length;)r=i+n.length,e.push({start:i,end:r}),i=t.toLowerCase().indexOf(n.toLowerCase(),i+1),a++;return e}},function(t,n,e){\"use strict\";e.r(n),e.d(n,\"USERID_REGEX\",(function(){return g})),e.d(n,\"USERID_REGEX_WITH_SPACE\",(function(){return N}));var r=e(43),i=e.n(r),a=e(31),o=e.n(a),T=e(25),l=e.n(T),s=e(6),A=e.n(s),c=e(7),d={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,n){return Object(c.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:n})}}},u=e(2),E=e.n(u),m=e(26),p={insert:\"head\",singleton:!1},D=(E()(m.a,p),m.a.locals,e(3)),S=Object(D.a)(d,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[e(\"span\",{staticClass:\"mention-bubble__wrapper\"},[e(\"span\",{staticClass:\"mention-bubble__content\"},[e(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),e(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,g=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),N=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@&quot;[a-zA-Z0-9 _.@\\\\-']+&quot;)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");n.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var n=this;return i()(t).split(g).map((function(t){return t.split(N)})).flat().map((function(t){if(!t.startsWith(\"@\"))return o()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var e=t.replace(/@|&quot;/gi,\"\");return\" \"+n.genSelectTemplate(e)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var n=t.replace(/<br>/gim,\"\\n\");return n=(n=(n=n.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),n=l()(n,\"<div>\"),n=l()(n)},genSelectTemplate:function(t){var n=this.userData[t];return n?this.renderComponentHtml(n,S).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,n){var e=new(A.a.extend(n))({propsData:t}),r=document.createElement(\"div\"),i=document.createElement(\"div\");r.style.display=\"none\",r.appendChild(i),document.body.appendChild(r),e.$mount(i);var a=r.innerHTML;return e.$destroy(),r.remove(),a}}}},function(t,n,e){\"use strict\";e.r(n);var r=e(38);function i(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,r)}return e}function a(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?i(Object(e),!0).forEach((function(n){o(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):i(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}function o(t,n,e){return n in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}var T={name:\"Highlight\",props:{text:{type:String,default:\"\"},search:{type:String,default:\"\"},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,n=[];return this.search||0!==this.highlight.length?(n=this.highlight.length>0?this.highlight:Object(r.a)(this.text,this.search),n.reduce((function(n,e){return e.start<t.text.length&&e.end>0&&n.push({start:e.start<0?0:e.start,end:e.end>t.text.length?t.text.length:e.end}),n}),[])):n},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var t=[],n=0,e=0;n<this.text.length;){var r=this.ranges[e];r.start!==n?(t.push({start:n,end:r.start,highlight:!1,text:this.text.substr(n,r.start-n)}),n=r.start):(t.push(a(a({},r),{},{highlight:!0,text:this.text.substr(r.start,r.end-r.start)})),e++,n=r.end,e>=this.ranges.length&&n<this.text.length&&(t.push({start:n,end:this.text.length,highlight:!1,text:this.text.substr(n,this.text.length-n)}),n=this.text.length))}return t}},render:function(t){return this.ranges.length?t(\"span\",{},this.chunks.map((function(n){return n.highlight?t(\"strong\",{},n.text):n.text}))):t(\"span\",{},this.text)}},l=e(3),s=e(45),A=e.n(s),c=Object(l.a)(T,void 0,void 0,!1,null,null,null);\"function\"==typeof A.a&&A()(c);var d=c.exports;\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=d},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a),T=e(8),l=e.n(T),s=e(50),A=e(51),c=e(52),d=o()(i.a),u=l()(s.a),E=l()(A.a),m=l()(c.a);d.push([t.i,\".material-design-icon[data-v-583ead48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-583ead48]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-583ead48]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-583ead48]{cursor:pointer}.avatardiv--with-menu[data-v-583ead48] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu .icon-loading[data-v-583ead48]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-583ead48]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-583ead48],.avatardiv--with-menu:hover .icon-more[data-v-583ead48]{opacity:1}.avatardiv--with-menu:focus img[data-v-583ead48],.avatardiv--with-menu:hover img[data-v-583ead48]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu img[data-v-583ead48]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-583ead48]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-583ead48]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-583ead48]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-583ead48]{background-image:url(\"+u+\")}.avatardiv .avatardiv__user-status--dnd[data-v-583ead48]{background-image:url(\"+E+\");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-583ead48]{background-image:url(\"+m+\")}.avatardiv .avatardiv__user-status--icon[data-v-583ead48]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-583ead48]{position:relative;display:inline-block}.avatar-class-icon[data-v-583ead48]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--size);\\n\\t\\t\\theight: var(--size);\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=d},function(t,n){},function(t,n){t.exports=require(\"escape-html\")},function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */function r(t,n,e){this.r=t,this.g=n,this.b=e}function i(t,n,e){var i=[];i.push(n);for(var a=function(t,n){var e=new Array(3);return e[0]=(n[1].r-n[0].r)/t,e[1]=(n[1].g-n[0].g)/t,e[2]=(n[1].b-n[0].b)/t,e}(t,[n,e]),o=1;o<t;o++){var T=parseInt(n.r+a[0]*o,10),l=parseInt(n.g+a[1]*o,10),s=parseInt(n.b+a[2]*o,10);i.push(new r(T,l,s))}return i}n.a=function(t){t||(t=6);var n=new r(182,70,157),e=new r(221,203,85),a=new r(0,130,201),o=i(t,n,e),T=i(t,e,a),l=i(t,a,n);return o.concat(T).concat(l)}},function(t,n){},function(t){t.exports=JSON.parse('{\"version\":\"2.2019c\",\"aliases\":{\"AUS Central Standard Time\":{\"aliasTo\":\"Australia/Darwin\"},\"AUS Eastern Standard Time\":{\"aliasTo\":\"Australia/Sydney\"},\"Afghanistan Standard Time\":{\"aliasTo\":\"Asia/Kabul\"},\"Africa/Asmera\":{\"aliasTo\":\"Africa/Asmara\"},\"Africa/Timbuktu\":{\"aliasTo\":\"Africa/Bamako\"},\"Alaskan Standard Time\":{\"aliasTo\":\"America/Anchorage\"},\"America/Argentina/ComodRivadavia\":{\"aliasTo\":\"America/Argentina/Catamarca\"},\"America/Buenos_Aires\":{\"aliasTo\":\"America/Argentina/Buenos_Aires\"},\"America/Louisville\":{\"aliasTo\":\"America/Kentucky/Louisville\"},\"America/Montreal\":{\"aliasTo\":\"America/Toronto\"},\"America/Santa_Isabel\":{\"aliasTo\":\"America/Tijuana\"},\"Arab Standard Time\":{\"aliasTo\":\"Asia/Riyadh\"},\"Arabian Standard Time\":{\"aliasTo\":\"Asia/Dubai\"},\"Arabic Standard Time\":{\"aliasTo\":\"Asia/Baghdad\"},\"Argentina Standard Time\":{\"aliasTo\":\"America/Argentina/Buenos_Aires\"},\"Asia/Calcutta\":{\"aliasTo\":\"Asia/Kolkata\"},\"Asia/Katmandu\":{\"aliasTo\":\"Asia/Kathmandu\"},\"Asia/Rangoon\":{\"aliasTo\":\"Asia/Yangon\"},\"Asia/Saigon\":{\"aliasTo\":\"Asia/Ho_Chi_Minh\"},\"Atlantic Standard Time\":{\"aliasTo\":\"America/Halifax\"},\"Atlantic/Faeroe\":{\"aliasTo\":\"Atlantic/Faroe\"},\"Atlantic/Jan_Mayen\":{\"aliasTo\":\"Europe/Oslo\"},\"Azerbaijan Standard Time\":{\"aliasTo\":\"Asia/Baku\"},\"Azores Standard Time\":{\"aliasTo\":\"Atlantic/Azores\"},\"Bahia Standard Time\":{\"aliasTo\":\"America/Bahia\"},\"Bangladesh Standard Time\":{\"aliasTo\":\"Asia/Dhaka\"},\"Belarus Standard Time\":{\"aliasTo\":\"Europe/Minsk\"},\"Canada Central Standard Time\":{\"aliasTo\":\"America/Regina\"},\"Cape Verde Standard Time\":{\"aliasTo\":\"Atlantic/Cape_Verde\"},\"Caucasus Standard Time\":{\"aliasTo\":\"Asia/Yerevan\"},\"Cen. Australia Standard Time\":{\"aliasTo\":\"Australia/Adelaide\"},\"Central America Standard Time\":{\"aliasTo\":\"America/Guatemala\"},\"Central Asia Standard Time\":{\"aliasTo\":\"Asia/Almaty\"},\"Central Brazilian Standard Time\":{\"aliasTo\":\"America/Cuiaba\"},\"Central Europe Standard Time\":{\"aliasTo\":\"Europe/Budapest\"},\"Central European Standard Time\":{\"aliasTo\":\"Europe/Warsaw\"},\"Central Pacific Standard Time\":{\"aliasTo\":\"Pacific/Guadalcanal\"},\"Central Standard Time\":{\"aliasTo\":\"America/Chicago\"},\"Central Standard Time (Mexico)\":{\"aliasTo\":\"America/Mexico_City\"},\"China Standard Time\":{\"aliasTo\":\"Asia/Shanghai\"},\"E. Africa Standard Time\":{\"aliasTo\":\"Africa/Nairobi\"},\"E. Australia Standard Time\":{\"aliasTo\":\"Australia/Brisbane\"},\"E. South America Standard Time\":{\"aliasTo\":\"America/Sao_Paulo\"},\"Eastern Standard Time\":{\"aliasTo\":\"America/New_York\"},\"Egypt Standard Time\":{\"aliasTo\":\"Africa/Cairo\"},\"Ekaterinburg Standard Time\":{\"aliasTo\":\"Asia/Yekaterinburg\"},\"Etc/GMT\":{\"aliasTo\":\"UTC\"},\"Etc/GMT+0\":{\"aliasTo\":\"UTC\"},\"Etc/UCT\":{\"aliasTo\":\"UTC\"},\"Etc/UTC\":{\"aliasTo\":\"UTC\"},\"Etc/Unversal\":{\"aliasTo\":\"UTC\"},\"Etc/Zulu\":{\"aliasTo\":\"UTC\"},\"Europe/Belfast\":{\"aliasTo\":\"Europe/London\"},\"FLE Standard Time\":{\"aliasTo\":\"Europe/Kiev\"},\"Fiji Standard Time\":{\"aliasTo\":\"Pacific/Fiji\"},\"GMT\":{\"aliasTo\":\"UTC\"},\"GMT Standard Time\":{\"aliasTo\":\"Europe/London\"},\"GMT+0\":{\"aliasTo\":\"UTC\"},\"GMT0\":{\"aliasTo\":\"UTC\"},\"GTB Standard Time\":{\"aliasTo\":\"Europe/Bucharest\"},\"Georgian Standard Time\":{\"aliasTo\":\"Asia/Tbilisi\"},\"Greenland Standard Time\":{\"aliasTo\":\"America/Godthab\"},\"Greenwich\":{\"aliasTo\":\"UTC\"},\"Greenwich Standard Time\":{\"aliasTo\":\"Atlantic/Reykjavik\"},\"Hawaiian Standard Time\":{\"aliasTo\":\"Pacific/Honolulu\"},\"India Standard Time\":{\"aliasTo\":\"Asia/Calcutta\"},\"Iran Standard Time\":{\"aliasTo\":\"Asia/Tehran\"},\"Israel Standard Time\":{\"aliasTo\":\"Asia/Jerusalem\"},\"Jordan Standard Time\":{\"aliasTo\":\"Asia/Amman\"},\"Kaliningrad Standard Time\":{\"aliasTo\":\"Europe/Kaliningrad\"},\"Korea Standard Time\":{\"aliasTo\":\"Asia/Seoul\"},\"Libya Standard Time\":{\"aliasTo\":\"Africa/Tripoli\"},\"Line Islands Standard Time\":{\"aliasTo\":\"Pacific/Kiritimati\"},\"Magadan Standard Time\":{\"aliasTo\":\"Asia/Magadan\"},\"Mauritius Standard Time\":{\"aliasTo\":\"Indian/Mauritius\"},\"Middle East Standard Time\":{\"aliasTo\":\"Asia/Beirut\"},\"Montevideo Standard Time\":{\"aliasTo\":\"America/Montevideo\"},\"Morocco Standard Time\":{\"aliasTo\":\"Africa/Casablanca\"},\"Mountain Standard Time\":{\"aliasTo\":\"America/Denver\"},\"Mountain Standard Time (Mexico)\":{\"aliasTo\":\"America/Chihuahua\"},\"Myanmar Standard Time\":{\"aliasTo\":\"Asia/Rangoon\"},\"N. Central Asia Standard Time\":{\"aliasTo\":\"Asia/Novosibirsk\"},\"Namibia Standard Time\":{\"aliasTo\":\"Africa/Windhoek\"},\"Nepal Standard Time\":{\"aliasTo\":\"Asia/Katmandu\"},\"New Zealand Standard Time\":{\"aliasTo\":\"Pacific/Auckland\"},\"Newfoundland Standard Time\":{\"aliasTo\":\"America/St_Johns\"},\"North Asia East Standard Time\":{\"aliasTo\":\"Asia/Irkutsk\"},\"North Asia Standard Time\":{\"aliasTo\":\"Asia/Krasnoyarsk\"},\"Pacific SA Standard Time\":{\"aliasTo\":\"America/Santiago\"},\"Pacific Standard Time\":{\"aliasTo\":\"America/Los_Angeles\"},\"Pacific Standard Time (Mexico)\":{\"aliasTo\":\"America/Santa_Isabel\"},\"Pacific/Johnston\":{\"aliasTo\":\"Pacific/Honolulu\"},\"Pakistan Standard Time\":{\"aliasTo\":\"Asia/Karachi\"},\"Paraguay Standard Time\":{\"aliasTo\":\"America/Asuncion\"},\"Romance Standard Time\":{\"aliasTo\":\"Europe/Paris\"},\"Russia Time Zone 10\":{\"aliasTo\":\"Asia/Srednekolymsk\"},\"Russia Time Zone 11\":{\"aliasTo\":\"Asia/Kamchatka\"},\"Russia Time Zone 3\":{\"aliasTo\":\"Europe/Samara\"},\"Russian Standard Time\":{\"aliasTo\":\"Europe/Moscow\"},\"SA Eastern Standard Time\":{\"aliasTo\":\"America/Cayenne\"},\"SA Pacific Standard Time\":{\"aliasTo\":\"America/Bogota\"},\"SA Western Standard Time\":{\"aliasTo\":\"America/La_Paz\"},\"SE Asia Standard Time\":{\"aliasTo\":\"Asia/Bangkok\"},\"Samoa Standard Time\":{\"aliasTo\":\"Pacific/Apia\"},\"Singapore Standard Time\":{\"aliasTo\":\"Asia/Singapore\"},\"South Africa Standard Time\":{\"aliasTo\":\"Africa/Johannesburg\"},\"Sri Lanka Standard Time\":{\"aliasTo\":\"Asia/Colombo\"},\"Syria Standard Time\":{\"aliasTo\":\"Asia/Damascus\"},\"Taipei Standard Time\":{\"aliasTo\":\"Asia/Taipei\"},\"Tasmania Standard Time\":{\"aliasTo\":\"Australia/Hobart\"},\"Tokyo Standard Time\":{\"aliasTo\":\"Asia/Tokyo\"},\"Tonga Standard Time\":{\"aliasTo\":\"Pacific/Tongatapu\"},\"Turkey Standard Time\":{\"aliasTo\":\"Europe/Istanbul\"},\"UCT\":{\"aliasTo\":\"UTC\"},\"US Eastern Standard Time\":{\"aliasTo\":\"America/Indiana/Indianapolis\"},\"US Mountain Standard Time\":{\"aliasTo\":\"America/Phoenix\"},\"US/Central\":{\"aliasTo\":\"America/Chicago\"},\"US/Eastern\":{\"aliasTo\":\"America/New_York\"},\"US/Mountain\":{\"aliasTo\":\"America/Denver\"},\"US/Pacific\":{\"aliasTo\":\"America/Los_Angeles\"},\"US/Pacific-New\":{\"aliasTo\":\"America/Los_Angeles\"},\"Ulaanbaatar Standard Time\":{\"aliasTo\":\"Asia/Ulaanbaatar\"},\"Universal\":{\"aliasTo\":\"UTC\"},\"Venezuela Standard Time\":{\"aliasTo\":\"America/Caracas\"},\"Vladivostok Standard Time\":{\"aliasTo\":\"Asia/Vladivostok\"},\"W. Australia Standard Time\":{\"aliasTo\":\"Australia/Perth\"},\"W. Central Africa Standard Time\":{\"aliasTo\":\"Africa/Lagos\"},\"W. Europe Standard Time\":{\"aliasTo\":\"Europe/Berlin\"},\"West Asia Standard Time\":{\"aliasTo\":\"Asia/Tashkent\"},\"West Pacific Standard Time\":{\"aliasTo\":\"Pacific/Port_Moresby\"},\"Yakutsk Standard Time\":{\"aliasTo\":\"Asia/Yakutsk\"},\"Z\":{\"aliasTo\":\"UTC\"},\"Zulu\":{\"aliasTo\":\"UTC\"},\"utc\":{\"aliasTo\":\"UTC\"}},\"zones\":{\"Africa/Abidjan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0051900\",\"longitude\":\"-0040200\"},\"Africa/Accra\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0053300\",\"longitude\":\"+0001300\"},\"Africa/Addis_Ababa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0090200\",\"longitude\":\"+0384200\"},\"Africa/Algiers\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0364700\",\"longitude\":\"+0030300\"},\"Africa/Asmara\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0152000\",\"longitude\":\"+0385300\"},\"Africa/Bamako\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0123900\",\"longitude\":\"-0080000\"},\"Africa/Bangui\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0042200\",\"longitude\":\"+0183500\"},\"Africa/Banjul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0132800\",\"longitude\":\"-0163900\"},\"Africa/Bissau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0115100\",\"longitude\":\"-0153500\"},\"Africa/Blantyre\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0154700\",\"longitude\":\"+0350000\"},\"Africa/Brazzaville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0041600\",\"longitude\":\"+0151700\"},\"Africa/Bujumbura\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0032300\",\"longitude\":\"+0292200\"},\"Africa/Cairo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0300300\",\"longitude\":\"+0311500\"},\"Africa/Casablanca\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20180325T020000\\\\r\\\\nRDATE:20180325T020000\\\\r\\\\nRDATE:20180617T020000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20180513T030000\\\\r\\\\nRDATE:20180513T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20190609T020000\\\\r\\\\nRDATE:20190609T020000\\\\r\\\\nRDATE:20200524T020000\\\\r\\\\nRDATE:20210516T020000\\\\r\\\\nRDATE:20220508T020000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20181028T030000\\\\r\\\\nRDATE:20181028T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20190505T030000\\\\r\\\\nRDATE:20190505T030000\\\\r\\\\nRDATE:20200419T030000\\\\r\\\\nRDATE:20210411T030000\\\\r\\\\nRDATE:20220327T030000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0333900\",\"longitude\":\"-0073500\"},\"Africa/Ceuta\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0355300\",\"longitude\":\"-0051900\"},\"Africa/Conakry\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0093100\",\"longitude\":\"-0134300\"},\"Africa/Dakar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0144000\",\"longitude\":\"-0172600\"},\"Africa/Dar_es_Salaam\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0064800\",\"longitude\":\"+0391700\"},\"Africa/Djibouti\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0113600\",\"longitude\":\"+0430900\"},\"Africa/Douala\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0040300\",\"longitude\":\"+0094200\"},\"Africa/El_Aaiun\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20180325T020000\\\\r\\\\nRDATE:20180325T020000\\\\r\\\\nRDATE:20180617T020000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20180513T030000\\\\r\\\\nRDATE:20180513T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20181028T030000\\\\r\\\\nRDATE:20181028T030000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:20190505T030000\\\\r\\\\nRDATE:20190505T030000\\\\r\\\\nRDATE:20200419T030000\\\\r\\\\nRDATE:20210411T030000\\\\r\\\\nRDATE:20220327T030000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:+01\\\\r\\\\nDTSTART:20190609T020000\\\\r\\\\nRDATE:20190609T020000\\\\r\\\\nRDATE:20200524T020000\\\\r\\\\nRDATE:20210516T020000\\\\r\\\\nRDATE:20220508T020000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0270900\",\"longitude\":\"-0131200\"},\"Africa/Freetown\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0083000\",\"longitude\":\"-0131500\"},\"Africa/Gaborone\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0243900\",\"longitude\":\"+0255500\"},\"Africa/Harare\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0175000\",\"longitude\":\"+0310300\"},\"Africa/Johannesburg\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:SAST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0261500\",\"longitude\":\"+0280000\"},\"Africa/Juba\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0045100\",\"longitude\":\"+0313700\"},\"Africa/Kampala\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0001900\",\"longitude\":\"+0322500\"},\"Africa/Khartoum\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0153600\",\"longitude\":\"+0323200\"},\"Africa/Kigali\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0015700\",\"longitude\":\"+0300400\"},\"Africa/Kinshasa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0041800\",\"longitude\":\"+0151800\"},\"Africa/Lagos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0062700\",\"longitude\":\"+0032400\"},\"Africa/Libreville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0002300\",\"longitude\":\"+0092700\"},\"Africa/Lome\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0060800\",\"longitude\":\"+0011300\"},\"Africa/Luanda\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0084800\",\"longitude\":\"+0131400\"},\"Africa/Lubumbashi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0114000\",\"longitude\":\"+0272800\"},\"Africa/Lusaka\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0152500\",\"longitude\":\"+0281700\"},\"Africa/Malabo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0034500\",\"longitude\":\"+0084700\"},\"Africa/Maputo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0255800\",\"longitude\":\"+0323500\"},\"Africa/Maseru\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:SAST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0292800\",\"longitude\":\"+0273000\"},\"Africa/Mbabane\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:SAST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0261800\",\"longitude\":\"+0310600\"},\"Africa/Mogadishu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0020400\",\"longitude\":\"+0452200\"},\"Africa/Monrovia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0061800\",\"longitude\":\"-0104700\"},\"Africa/Nairobi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0011700\",\"longitude\":\"+0364900\"},\"Africa/Ndjamena\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120700\",\"longitude\":\"+0150300\"},\"Africa/Niamey\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0133100\",\"longitude\":\"+0020700\"},\"Africa/Nouakchott\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0180600\",\"longitude\":\"-0155700\"},\"Africa/Ouagadougou\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0122200\",\"longitude\":\"-0013100\"},\"Africa/Porto-Novo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0062900\",\"longitude\":\"+0023700\"},\"Africa/Sao_Tome\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WAT\\\\r\\\\nDTSTART:20180101T010000\\\\r\\\\nRDATE:20180101T010000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:20190101T020000\\\\r\\\\nRDATE:20190101T020000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0002000\",\"longitude\":\"+0064400\"},\"Africa/Tripoli\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0325400\",\"longitude\":\"+0131100\"},\"Africa/Tunis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0364800\",\"longitude\":\"+0101100\"},\"Africa/Windhoek\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0223400\",\"longitude\":\"+0170600\"},\"America/Adak\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:HDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:HST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0515248\",\"longitude\":\"-1763929\"},\"America/Anchorage\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0611305\",\"longitude\":\"-1495401\"},\"America/Anguilla\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0181200\",\"longitude\":\"-0630400\"},\"America/Antigua\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0170300\",\"longitude\":\"-0614800\"},\"America/Araguaina\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0071200\",\"longitude\":\"-0481200\"},\"America/Argentina/Buenos_Aires\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0343600\",\"longitude\":\"-0582700\"},\"America/Argentina/Catamarca\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0282800\",\"longitude\":\"-0654700\"},\"America/Argentina/Cordoba\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0312400\",\"longitude\":\"-0641100\"},\"America/Argentina/Jujuy\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0241100\",\"longitude\":\"-0651800\"},\"America/Argentina/La_Rioja\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0292600\",\"longitude\":\"-0665100\"},\"America/Argentina/Mendoza\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0325300\",\"longitude\":\"-0684900\"},\"America/Argentina/Rio_Gallegos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0513800\",\"longitude\":\"-0691300\"},\"America/Argentina/Salta\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0244700\",\"longitude\":\"-0652500\"},\"America/Argentina/San_Juan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0313200\",\"longitude\":\"-0683100\"},\"America/Argentina/San_Luis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0331900\",\"longitude\":\"-0662100\"},\"America/Argentina/Tucuman\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0264900\",\"longitude\":\"-0651300\"},\"America/Argentina/Ushuaia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0544800\",\"longitude\":\"-0681800\"},\"America/Aruba\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0123000\",\"longitude\":\"-0695800\"},\"America/Asuncion\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19701004T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700322T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=4SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0251600\",\"longitude\":\"-0574000\"},\"America/Atikokan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0484531\",\"longitude\":\"-0913718\"},\"America/Bahia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0125900\",\"longitude\":\"-0383100\"},\"America/Bahia_Banderas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0204800\",\"longitude\":\"-1051500\"},\"America/Barbados\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0130600\",\"longitude\":\"-0593700\"},\"America/Belem\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0012700\",\"longitude\":\"-0482900\"},\"America/Belize\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0173000\",\"longitude\":\"-0881200\"},\"America/Blanc-Sablon\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0512500\",\"longitude\":\"-0570700\"},\"America/Boa_Vista\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0024900\",\"longitude\":\"-0604000\"},\"America/Bogota\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0043600\",\"longitude\":\"-0740500\"},\"America/Boise\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0433649\",\"longitude\":\"-1161209\"},\"America/Cambridge_Bay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0690650\",\"longitude\":\"-1050310\"},\"America/Campo_Grande\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20181104T000000\\\\r\\\\nRDATE:20181104T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20180218T000000\\\\r\\\\nRDATE:20180218T000000\\\\r\\\\nRDATE:20190217T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0202700\",\"longitude\":\"-0543700\"},\"America/Cancun\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0210500\",\"longitude\":\"-0864600\"},\"America/Caracas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0103000\",\"longitude\":\"-0665600\"},\"America/Cayenne\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0045600\",\"longitude\":\"-0522000\"},\"America/Cayman\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0191800\",\"longitude\":\"-0812300\"},\"America/Chicago\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415100\",\"longitude\":\"-0873900\"},\"America/Chihuahua\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0283800\",\"longitude\":\"-1060500\"},\"America/Costa_Rica\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0095600\",\"longitude\":\"-0840500\"},\"America/Creston\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0490600\",\"longitude\":\"-1163100\"},\"America/Cuiaba\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20181104T000000\\\\r\\\\nRDATE:20181104T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20180218T000000\\\\r\\\\nRDATE:20180218T000000\\\\r\\\\nRDATE:20190217T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0153500\",\"longitude\":\"-0560500\"},\"America/Curacao\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0121100\",\"longitude\":\"-0690000\"},\"America/Danmarkshavn\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0764600\",\"longitude\":\"-0184000\"},\"America/Dawson\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0640400\",\"longitude\":\"-1392500\"},\"America/Dawson_Creek\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0594600\",\"longitude\":\"-1201400\"},\"America/Denver\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0394421\",\"longitude\":\"-1045903\"},\"America/Detroit\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0421953\",\"longitude\":\"-0830245\"},\"America/Dominica\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0151800\",\"longitude\":\"-0612400\"},\"America/Edmonton\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0533300\",\"longitude\":\"-1132800\"},\"America/Eirunepe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0064000\",\"longitude\":\"-0695200\"},\"America/El_Salvador\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0134200\",\"longitude\":\"-0891200\"},\"America/Fort_Nelson\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0584800\",\"longitude\":\"-1224200\"},\"America/Fortaleza\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0034300\",\"longitude\":\"-0383000\"},\"America/Glace_Bay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0461200\",\"longitude\":\"-0595700\"},\"America/Godthab\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700328T220000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19701024T230000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYMONTHDAY=24,25,26,27,28,29,30;BYDAY=SA\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0641100\",\"longitude\":\"-0514400\"},\"America/Goose_Bay\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0532000\",\"longitude\":\"-0602500\"},\"America/Grand_Turk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:20181104T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:20190310T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:20180311T020000\\\\r\\\\nRDATE:20180311T020000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0212800\",\"longitude\":\"-0710800\"},\"America/Grenada\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120300\",\"longitude\":\"-0614500\"},\"America/Guadeloupe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0161400\",\"longitude\":\"-0613200\"},\"America/Guatemala\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0143800\",\"longitude\":\"-0903100\"},\"America/Guayaquil\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0021000\",\"longitude\":\"-0795000\"},\"America/Guyana\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0064800\",\"longitude\":\"-0581000\"},\"America/Halifax\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0443900\",\"longitude\":\"-0633600\"},\"America/Havana\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0230800\",\"longitude\":\"-0822200\"},\"America/Hermosillo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0290400\",\"longitude\":\"-1105800\"},\"America/Indiana/Indianapolis\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0394606\",\"longitude\":\"-0860929\"},\"America/Indiana/Knox\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0411745\",\"longitude\":\"-0863730\"},\"America/Indiana/Marengo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0382232\",\"longitude\":\"-0862041\"},\"America/Indiana/Petersburg\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0382931\",\"longitude\":\"-0871643\"},\"America/Indiana/Tell_City\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0375711\",\"longitude\":\"-0864541\"},\"America/Indiana/Vevay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0384452\",\"longitude\":\"-0850402\"},\"America/Indiana/Vincennes\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0384038\",\"longitude\":\"-0873143\"},\"America/Indiana/Winamac\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0410305\",\"longitude\":\"-0863611\"},\"America/Inuvik\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0682059\",\"longitude\":\"-1334300\"},\"America/Iqaluit\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0634400\",\"longitude\":\"-0682800\"},\"America/Jamaica\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0175805\",\"longitude\":\"-0764736\"},\"America/Juneau\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0581807\",\"longitude\":\"-1342511\"},\"America/Kentucky/Louisville\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0381515\",\"longitude\":\"-0854534\"},\"America/Kentucky/Monticello\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0364947\",\"longitude\":\"-0845057\"},\"America/Kralendijk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120903\",\"longitude\":\"-0681636\"},\"America/La_Paz\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0163000\",\"longitude\":\"-0680900\"},\"America/Lima\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0120300\",\"longitude\":\"-0770300\"},\"America/Los_Angeles\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0340308\",\"longitude\":\"-1181434\"},\"America/Lower_Princes\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0180305\",\"longitude\":\"-0630250\"},\"America/Maceio\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0094000\",\"longitude\":\"-0354300\"},\"America/Managua\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0120900\",\"longitude\":\"-0861700\"},\"America/Manaus\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0030800\",\"longitude\":\"-0600100\"},\"America/Marigot\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0180400\",\"longitude\":\"-0630500\"},\"America/Martinique\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0143600\",\"longitude\":\"-0610500\"},\"America/Matamoros\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0255000\",\"longitude\":\"-0973000\"},\"America/Mazatlan\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0231300\",\"longitude\":\"-1062500\"},\"America/Menominee\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0450628\",\"longitude\":\"-0873651\"},\"America/Merida\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0205800\",\"longitude\":\"-0893700\"},\"America/Metlakatla\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:20191103T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:20181104T020000\\\\r\\\\nRDATE:20181104T020000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:20190120T020000\\\\r\\\\nRDATE:20190120T020000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0550737\",\"longitude\":\"-1313435\"},\"America/Mexico_City\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0192400\",\"longitude\":\"-0990900\"},\"America/Miquelon\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470300\",\"longitude\":\"-0562000\"},\"America/Moncton\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0460600\",\"longitude\":\"-0644700\"},\"America/Monterrey\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0254000\",\"longitude\":\"-1001900\"},\"America/Montevideo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0345433\",\"longitude\":\"-0561245\"},\"America/Montserrat\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0164300\",\"longitude\":\"-0621300\"},\"America/Nassau\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0250500\",\"longitude\":\"-0772100\"},\"America/New_York\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0404251\",\"longitude\":\"-0740023\"},\"America/Nipigon\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0490100\",\"longitude\":\"-0881600\"},\"America/Nome\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0643004\",\"longitude\":\"-1652423\"},\"America/Noronha\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0035100\",\"longitude\":\"-0322500\"},\"America/North_Dakota/Beulah\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0471551\",\"longitude\":\"-1014640\"},\"America/North_Dakota/Center\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470659\",\"longitude\":\"-1011757\"},\"America/North_Dakota/New_Salem\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0465042\",\"longitude\":\"-1012439\"},\"America/Ojinaga\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0293400\",\"longitude\":\"-1042500\"},\"America/Panama\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0085800\",\"longitude\":\"-0793200\"},\"America/Pangnirtung\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0660800\",\"longitude\":\"-0654400\"},\"America/Paramaribo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0055000\",\"longitude\":\"-0551000\"},\"America/Phoenix\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0332654\",\"longitude\":\"-1120424\"},\"America/Port-au-Prince\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0183200\",\"longitude\":\"-0722000\"},\"America/Port_of_Spain\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0103900\",\"longitude\":\"-0613100\"},\"America/Porto_Velho\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0084600\",\"longitude\":\"-0635400\"},\"America/Puerto_Rico\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182806\",\"longitude\":\"-0660622\"},\"America/Punta_Arenas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0530900\",\"longitude\":\"-0705500\"},\"America/Rainy_River\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0484300\",\"longitude\":\"-0943400\"},\"America/Rankin_Inlet\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0624900\",\"longitude\":\"-0920459\"},\"America/Recife\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0080300\",\"longitude\":\"-0345400\"},\"America/Regina\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0502400\",\"longitude\":\"-1043900\"},\"America/Resolute\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0744144\",\"longitude\":\"-0944945\"},\"America/Rio_Branco\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0095800\",\"longitude\":\"-0674800\"},\"America/Santarem\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0022600\",\"longitude\":\"-0545200\"},\"America/Santiago\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20190407T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20190908T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20180812T000000\\\\r\\\\nRDATE:20180812T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:-04\\\\r\\\\nDTSTART:20180513T000000\\\\r\\\\nRDATE:20180513T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0332700\",\"longitude\":\"-0704000\"},\"America/Santo_Domingo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182800\",\"longitude\":\"-0695400\"},\"America/Sao_Paulo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:20181104T000000\\\\r\\\\nRDATE:20181104T000000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:20180218T000000\\\\r\\\\nRDATE:20180218T000000\\\\r\\\\nRDATE:20190217T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0233200\",\"longitude\":\"-0463700\"},\"America/Scoresbysund\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:-0100\\\\r\\\\nTZNAME:-01\\\\r\\\\nDTSTART:19701025T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0702900\",\"longitude\":\"-0215800\"},\"America/Sitka\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0571035\",\"longitude\":\"-1351807\"},\"America/St_Barthelemy\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0175300\",\"longitude\":\"-0625100\"},\"America/St_Johns\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0230\\\\r\\\\nTZOFFSETTO:-0330\\\\r\\\\nTZNAME:NST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0330\\\\r\\\\nTZOFFSETTO:-0230\\\\r\\\\nTZNAME:NDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0473400\",\"longitude\":\"-0524300\"},\"America/St_Kitts\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0171800\",\"longitude\":\"-0624300\"},\"America/St_Lucia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0140100\",\"longitude\":\"-0610000\"},\"America/St_Thomas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182100\",\"longitude\":\"-0645600\"},\"America/St_Vincent\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0130900\",\"longitude\":\"-0611400\"},\"America/Swift_Current\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0501700\",\"longitude\":\"-1075000\"},\"America/Tegucigalpa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0140600\",\"longitude\":\"-0871300\"},\"America/Thule\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0763400\",\"longitude\":\"-0684700\"},\"America/Thunder_Bay\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0482300\",\"longitude\":\"-0891500\"},\"America/Tijuana\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0323200\",\"longitude\":\"-1170100\"},\"America/Toronto\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:EDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:EST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0433900\",\"longitude\":\"-0792300\"},\"America/Tortola\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0182700\",\"longitude\":\"-0643700\"},\"America/Vancouver\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0491600\",\"longitude\":\"-1230700\"},\"America/Whitehorse\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:PDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0604300\",\"longitude\":\"-1350300\"},\"America/Winnipeg\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:CDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0495300\",\"longitude\":\"-0970900\"},\"America/Yakutat\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:AKDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:AKST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0593249\",\"longitude\":\"-1394338\"},\"America/Yellowknife\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0700\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:MDT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0700\\\\r\\\\nTZNAME:MST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0622700\",\"longitude\":\"-1142100\"},\"Antarctica/Casey\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:20180311T040000\\\\r\\\\nRDATE:20180311T040000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0661700\",\"longitude\":\"+1103100\"},\"Antarctica/Davis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0683500\",\"longitude\":\"+0775800\"},\"Antarctica/DumontDUrville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0664000\",\"longitude\":\"+1400100\"},\"Antarctica/Macquarie\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0543000\",\"longitude\":\"+1585700\"},\"Antarctica/Mawson\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0673600\",\"longitude\":\"+0625300\"},\"Antarctica/McMurdo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:NZDT\\\\r\\\\nDTSTART:19700927T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:NZST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0775000\",\"longitude\":\"+1663600\"},\"Antarctica/Palmer\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0644800\",\"longitude\":\"-0640600\"},\"Antarctica/Rothera\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0673400\",\"longitude\":\"-0680800\"},\"Antarctica/Syowa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0690022\",\"longitude\":\"+0393524\"},\"Antarctica/Troll\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:+02\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0720041\",\"longitude\":\"+0023206\"},\"Antarctica/Vostok\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0782400\",\"longitude\":\"+1065400\"},\"Arctic/Longyearbyen\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0780000\",\"longitude\":\"+0160000\"},\"Asia/Aden\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0124500\",\"longitude\":\"+0451200\"},\"Asia/Almaty\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0431500\",\"longitude\":\"+0765700\"},\"Asia/Amman\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700326T235959\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1TH\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701030T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0315700\",\"longitude\":\"+0355600\"},\"Asia/Anadyr\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0644500\",\"longitude\":\"+1772900\"},\"Asia/Aqtau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0443100\",\"longitude\":\"+0501600\"},\"Asia/Aqtobe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0501700\",\"longitude\":\"+0571000\"},\"Asia/Ashgabat\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0375700\",\"longitude\":\"+0582300\"},\"Asia/Atyrau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470700\",\"longitude\":\"+0515600\"},\"Asia/Baghdad\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0332100\",\"longitude\":\"+0442500\"},\"Asia/Bahrain\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0262300\",\"longitude\":\"+0503500\"},\"Asia/Baku\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0402300\",\"longitude\":\"+0495100\"},\"Asia/Bangkok\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0134500\",\"longitude\":\"+1003100\"},\"Asia/Barnaul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0532200\",\"longitude\":\"+0834500\"},\"Asia/Beirut\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0335300\",\"longitude\":\"+0353000\"},\"Asia/Bishkek\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0425400\",\"longitude\":\"+0743600\"},\"Asia/Brunei\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0045600\",\"longitude\":\"+1145500\"},\"Asia/Chita\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0520300\",\"longitude\":\"+1132800\"},\"Asia/Choibalsan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0480400\",\"longitude\":\"+1143000\"},\"Asia/Colombo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0530\\\\r\\\\nTZOFFSETTO:+0530\\\\r\\\\nTZNAME:+0530\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0065600\",\"longitude\":\"+0795100\"},\"Asia/Damascus\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701030T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700327T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0333000\",\"longitude\":\"+0361800\"},\"Asia/Dhaka\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0234300\",\"longitude\":\"+0902500\"},\"Asia/Dili\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0083300\",\"longitude\":\"+1253500\"},\"Asia/Dubai\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0251800\",\"longitude\":\"+0551800\"},\"Asia/Dushanbe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0383500\",\"longitude\":\"+0684800\"},\"Asia/Famagusta\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20180325T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0350700\",\"longitude\":\"+0335700\"},\"Asia/Gaza\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701031T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20190329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20180324T010000\\\\r\\\\nRDATE:20180324T010000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0313000\",\"longitude\":\"+0342800\"},\"Asia/Hebron\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701031T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SA\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20190329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:20180324T010000\\\\r\\\\nRDATE:20180324T010000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0313200\",\"longitude\":\"+0350542\"},\"Asia/Ho_Chi_Minh\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0104500\",\"longitude\":\"+1064000\"},\"Asia/Hong_Kong\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:HKT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0221700\",\"longitude\":\"+1140900\"},\"Asia/Hovd\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0480100\",\"longitude\":\"+0913900\"},\"Asia/Irkutsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0521600\",\"longitude\":\"+1042000\"},\"Asia/Istanbul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0410100\",\"longitude\":\"+0285800\"},\"Asia/Jakarta\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:WIB\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0061000\",\"longitude\":\"+1064800\"},\"Asia/Jayapura\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:WIT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0023200\",\"longitude\":\"+1404200\"},\"Asia/Jerusalem\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:IDT\\\\r\\\\nDTSTART:19700327T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYMONTHDAY=23,24,25,26,27,28,29;BYDAY=FR\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:IST\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0314650\",\"longitude\":\"+0351326\"},\"Asia/Kabul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0430\\\\r\\\\nTZOFFSETTO:+0430\\\\r\\\\nTZNAME:+0430\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0343100\",\"longitude\":\"+0691200\"},\"Asia/Kamchatka\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0530100\",\"longitude\":\"+1583900\"},\"Asia/Karachi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:PKT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0245200\",\"longitude\":\"+0670300\"},\"Asia/Kathmandu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0545\\\\r\\\\nTZOFFSETTO:+0545\\\\r\\\\nTZNAME:+0545\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0274300\",\"longitude\":\"+0851900\"},\"Asia/Khandyga\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0623923\",\"longitude\":\"+1353314\"},\"Asia/Kolkata\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0530\\\\r\\\\nTZOFFSETTO:+0530\\\\r\\\\nTZNAME:IST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0223200\",\"longitude\":\"+0882200\"},\"Asia/Krasnoyarsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0560100\",\"longitude\":\"+0925000\"},\"Asia/Kuala_Lumpur\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0031000\",\"longitude\":\"+1014200\"},\"Asia/Kuching\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0013300\",\"longitude\":\"+1102000\"},\"Asia/Kuwait\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0292000\",\"longitude\":\"+0475900\"},\"Asia/Macau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0221150\",\"longitude\":\"+1133230\"},\"Asia/Magadan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0593400\",\"longitude\":\"+1504800\"},\"Asia/Makassar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:WITA\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0050700\",\"longitude\":\"+1192400\"},\"Asia/Manila\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:PST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0143500\",\"longitude\":\"+1210000\"},\"Asia/Muscat\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0233600\",\"longitude\":\"+0583500\"},\"Asia/Nicosia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0351000\",\"longitude\":\"+0332200\"},\"Asia/Novokuznetsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0534500\",\"longitude\":\"+0870700\"},\"Asia/Novosibirsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0550200\",\"longitude\":\"+0825500\"},\"Asia/Omsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0550000\",\"longitude\":\"+0732400\"},\"Asia/Oral\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0511300\",\"longitude\":\"+0512100\"},\"Asia/Phnom_Penh\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0113300\",\"longitude\":\"+1045500\"},\"Asia/Pontianak\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:WIB\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0000200\",\"longitude\":\"+1092000\"},\"Asia/Pyongyang\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0830\\\\r\\\\nTZNAME:KST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0830\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:KST\\\\r\\\\nDTSTART:20180504T233000\\\\r\\\\nRDATE:20180504T233000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0390100\",\"longitude\":\"+1254500\"},\"Asia/Qatar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0251700\",\"longitude\":\"+0513200\"},\"Asia/Qostanay\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0531200\",\"longitude\":\"+0633700\"},\"Asia/Qyzylorda\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:20181221T000000\\\\r\\\\nRDATE:20181221T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0444800\",\"longitude\":\"+0652800\"},\"Asia/Riyadh\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0243800\",\"longitude\":\"+0464300\"},\"Asia/Sakhalin\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0465800\",\"longitude\":\"+1424200\"},\"Asia/Samarkand\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0394000\",\"longitude\":\"+0664800\"},\"Asia/Seoul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:KST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0373300\",\"longitude\":\"+1265800\"},\"Asia/Shanghai\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0311400\",\"longitude\":\"+1212800\"},\"Asia/Singapore\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0011700\",\"longitude\":\"+1035100\"},\"Asia/Srednekolymsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0672800\",\"longitude\":\"+1534300\"},\"Asia/Taipei\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:CST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0250300\",\"longitude\":\"+1213000\"},\"Asia/Tashkent\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0412000\",\"longitude\":\"+0691800\"},\"Asia/Tbilisi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0414300\",\"longitude\":\"+0444900\"},\"Asia/Tehran\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0330\\\\r\\\\nTZNAME:+0330\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0330\\\\r\\\\nTZOFFSETTO:+0430\\\\r\\\\nTZNAME:+0430\\\\r\\\\nDTSTART:20180321T235959\\\\r\\\\nRDATE:20180321T235959\\\\r\\\\nRDATE:20190321T235959\\\\r\\\\nRDATE:20200320T235959\\\\r\\\\nRDATE:20210321T235959\\\\r\\\\nRDATE:20220321T235959\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0430\\\\r\\\\nTZOFFSETTO:+0330\\\\r\\\\nTZNAME:+0330\\\\r\\\\nDTSTART:20180921T235959\\\\r\\\\nRDATE:20180921T235959\\\\r\\\\nRDATE:20190921T235959\\\\r\\\\nRDATE:20200920T235959\\\\r\\\\nRDATE:20210921T235959\\\\r\\\\nRDATE:20220921T235959\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0354000\",\"longitude\":\"+0512600\"},\"Asia/Thimphu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0272800\",\"longitude\":\"+0893900\"},\"Asia/Tokyo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:JST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0353916\",\"longitude\":\"+1394441\"},\"Asia/Tomsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0563000\",\"longitude\":\"+0845800\"},\"Asia/Ulaanbaatar\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:+08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0475500\",\"longitude\":\"+1065300\"},\"Asia/Urumqi\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0434800\",\"longitude\":\"+0873500\"},\"Asia/Ust-Nera\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0643337\",\"longitude\":\"+1431336\"},\"Asia/Vientiane\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0175800\",\"longitude\":\"+1023600\"},\"Asia/Vladivostok\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0431000\",\"longitude\":\"+1315600\"},\"Asia/Yakutsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0620000\",\"longitude\":\"+1294000\"},\"Asia/Yangon\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0630\\\\r\\\\nTZOFFSETTO:+0630\\\\r\\\\nTZNAME:+0630\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0164700\",\"longitude\":\"+0961000\"},\"Asia/Yekaterinburg\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0565100\",\"longitude\":\"+0603600\"},\"Asia/Yerevan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0401100\",\"longitude\":\"+0443000\"},\"Atlantic/Azores\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:+00\\\\r\\\\nDTSTART:19700329T000000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:-0100\\\\r\\\\nTZNAME:-01\\\\r\\\\nDTSTART:19701025T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0374400\",\"longitude\":\"-0254000\"},\"Atlantic/Bermuda\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0400\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:ADT\\\\r\\\\nDTSTART:19700308T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0400\\\\r\\\\nTZNAME:AST\\\\r\\\\nDTSTART:19701101T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0321700\",\"longitude\":\"-0644600\"},\"Atlantic/Canary\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0280600\",\"longitude\":\"-0152400\"},\"Atlantic/Cape_Verde\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0100\\\\r\\\\nTZOFFSETTO:-0100\\\\r\\\\nTZNAME:-01\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0145500\",\"longitude\":\"-0233100\"},\"Atlantic/Faroe\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0620100\",\"longitude\":\"-0064600\"},\"Atlantic/Madeira\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0323800\",\"longitude\":\"-0165400\"},\"Atlantic/Reykjavik\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0640900\",\"longitude\":\"-0215100\"},\"Atlantic/South_Georgia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0200\\\\r\\\\nTZOFFSETTO:-0200\\\\r\\\\nTZNAME:-02\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0541600\",\"longitude\":\"-0363200\"},\"Atlantic/St_Helena\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0155500\",\"longitude\":\"-0054200\"},\"Atlantic/Stanley\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0300\\\\r\\\\nTZOFFSETTO:-0300\\\\r\\\\nTZNAME:-03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0514200\",\"longitude\":\"-0575100\"},\"Australia/Adelaide\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1030\\\\r\\\\nTZOFFSETTO:+0930\\\\r\\\\nTZNAME:ACST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0930\\\\r\\\\nTZOFFSETTO:+1030\\\\r\\\\nTZNAME:ACDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0345500\",\"longitude\":\"+1383500\"},\"Australia/Brisbane\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0272800\",\"longitude\":\"+1530200\"},\"Australia/Broken_Hill\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1030\\\\r\\\\nTZOFFSETTO:+0930\\\\r\\\\nTZNAME:ACST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0930\\\\r\\\\nTZOFFSETTO:+1030\\\\r\\\\nTZNAME:ACDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0315700\",\"longitude\":\"+1412700\"},\"Australia/Currie\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0395600\",\"longitude\":\"+1435200\"},\"Australia/Darwin\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0930\\\\r\\\\nTZOFFSETTO:+0930\\\\r\\\\nTZNAME:ACST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0122800\",\"longitude\":\"+1305000\"},\"Australia/Eucla\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0845\\\\r\\\\nTZOFFSETTO:+0845\\\\r\\\\nTZNAME:+0845\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0314300\",\"longitude\":\"+1285200\"},\"Australia/Hobart\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0425300\",\"longitude\":\"+1471900\"},\"Australia/Lindeman\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0201600\",\"longitude\":\"+1490000\"},\"Australia/Lord_Howe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1030\\\\r\\\\nTZNAME:+1030\\\\r\\\\nDTSTART:19700405T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1030\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0313300\",\"longitude\":\"+1590500\"},\"Australia/Melbourne\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0374900\",\"longitude\":\"+1445800\"},\"Australia/Perth\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0800\\\\r\\\\nTZOFFSETTO:+0800\\\\r\\\\nTZNAME:AWST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0315700\",\"longitude\":\"+1155100\"},\"Australia/Sydney\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:AEST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:AEDT\\\\r\\\\nDTSTART:19701004T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0335200\",\"longitude\":\"+1511300\"},\"Europe/Amsterdam\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0522200\",\"longitude\":\"+0045400\"},\"Europe/Andorra\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0423000\",\"longitude\":\"+0013100\"},\"Europe/Astrakhan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0462100\",\"longitude\":\"+0480300\"},\"Europe/Athens\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0375800\",\"longitude\":\"+0234300\"},\"Europe/Belgrade\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0445000\",\"longitude\":\"+0203000\"},\"Europe/Berlin\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0523000\",\"longitude\":\"+0132200\"},\"Europe/Bratislava\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0480900\",\"longitude\":\"+0170700\"},\"Europe/Brussels\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0505000\",\"longitude\":\"+0042000\"},\"Europe/Bucharest\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0442600\",\"longitude\":\"+0260600\"},\"Europe/Budapest\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0473000\",\"longitude\":\"+0190500\"},\"Europe/Busingen\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0474200\",\"longitude\":\"+0084100\"},\"Europe/Chisinau\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470000\",\"longitude\":\"+0285000\"},\"Europe/Copenhagen\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0554000\",\"longitude\":\"+0123500\"},\"Europe/Dublin\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:IST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0532000\",\"longitude\":\"-0061500\"},\"Europe/Gibraltar\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0360800\",\"longitude\":\"-0052100\"},\"Europe/Guernsey\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0492717\",\"longitude\":\"-0023210\"},\"Europe/Helsinki\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0601000\",\"longitude\":\"+0245800\"},\"Europe/Isle_of_Man\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0540900\",\"longitude\":\"-0042800\"},\"Europe/Istanbul\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0410100\",\"longitude\":\"+0285800\"},\"Europe/Jersey\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0491101\",\"longitude\":\"-0020624\"},\"Europe/Kaliningrad\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0544300\",\"longitude\":\"+0203000\"},\"Europe/Kiev\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0502600\",\"longitude\":\"+0303100\"},\"Europe/Kirov\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0583600\",\"longitude\":\"+0493900\"},\"Europe/Lisbon\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:WET\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:WEST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0384300\",\"longitude\":\"-0090800\"},\"Europe/Ljubljana\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0460300\",\"longitude\":\"+0143100\"},\"Europe/London\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0000\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:BST\\\\r\\\\nDTSTART:19700329T010000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0000\\\\r\\\\nTZNAME:GMT\\\\r\\\\nDTSTART:19701025T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0513030\",\"longitude\":\"+0000731\"},\"Europe/Luxembourg\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0493600\",\"longitude\":\"+0060900\"},\"Europe/Madrid\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0402400\",\"longitude\":\"-0034100\"},\"Europe/Malta\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0355400\",\"longitude\":\"+0143100\"},\"Europe/Mariehamn\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0600600\",\"longitude\":\"+0195700\"},\"Europe/Minsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0535400\",\"longitude\":\"+0273400\"},\"Europe/Monaco\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0434200\",\"longitude\":\"+0072300\"},\"Europe/Moscow\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:MSK\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0554521\",\"longitude\":\"+0373704\"},\"Europe/Nicosia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"+0351000\",\"longitude\":\"+0332200\"},\"Europe/Oslo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0595500\",\"longitude\":\"+0104500\"},\"Europe/Paris\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0485200\",\"longitude\":\"+0022000\"},\"Europe/Podgorica\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0422600\",\"longitude\":\"+0191600\"},\"Europe/Prague\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0500500\",\"longitude\":\"+0142600\"},\"Europe/Riga\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0565700\",\"longitude\":\"+0240600\"},\"Europe/Rome\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415400\",\"longitude\":\"+0122900\"},\"Europe/Samara\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0531200\",\"longitude\":\"+0500900\"},\"Europe/San_Marino\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0435500\",\"longitude\":\"+0122800\"},\"Europe/Sarajevo\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0435200\",\"longitude\":\"+0182500\"},\"Europe/Saratov\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0513400\",\"longitude\":\"+0460200\"},\"Europe/Simferopol\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:MSK\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0445700\",\"longitude\":\"+0340600\"},\"Europe/Skopje\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415900\",\"longitude\":\"+0212600\"},\"Europe/Sofia\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0424100\",\"longitude\":\"+0231900\"},\"Europe/Stockholm\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0592000\",\"longitude\":\"+0180300\"},\"Europe/Tallinn\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0592500\",\"longitude\":\"+0244500\"},\"Europe/Tirane\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0412000\",\"longitude\":\"+0195000\"},\"Europe/Ulyanovsk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0542000\",\"longitude\":\"+0482400\"},\"Europe/Uzhgorod\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0483700\",\"longitude\":\"+0221800\"},\"Europe/Vaduz\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0470900\",\"longitude\":\"+0093100\"},\"Europe/Vatican\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0415408\",\"longitude\":\"+0122711\"},\"Europe/Vienna\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0481300\",\"longitude\":\"+0162000\"},\"Europe/Vilnius\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0544100\",\"longitude\":\"+0251900\"},\"Europe/Volgograd\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:20181028T020000\\\\r\\\\nRDATE:20181028T020000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:+03\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0484400\",\"longitude\":\"+0442500\"},\"Europe/Warsaw\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0521500\",\"longitude\":\"+0210000\"},\"Europe/Zagreb\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0454800\",\"longitude\":\"+0155800\"},\"Europe/Zaporozhye\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EEST\\\\r\\\\nDTSTART:19700329T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:EET\\\\r\\\\nDTSTART:19701025T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0475000\",\"longitude\":\"+0351000\"},\"Europe/Zurich\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+0100\\\\r\\\\nTZOFFSETTO:+0200\\\\r\\\\nTZNAME:CEST\\\\r\\\\nDTSTART:19700329T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0200\\\\r\\\\nTZOFFSETTO:+0100\\\\r\\\\nTZNAME:CET\\\\r\\\\nDTSTART:19701025T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0472300\",\"longitude\":\"+0083200\"},\"Indian/Antananarivo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0185500\",\"longitude\":\"+0473100\"},\"Indian/Chagos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0600\\\\r\\\\nTZOFFSETTO:+0600\\\\r\\\\nTZNAME:+06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0072000\",\"longitude\":\"+0722500\"},\"Indian/Christmas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0700\\\\r\\\\nTZOFFSETTO:+0700\\\\r\\\\nTZNAME:+07\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0102500\",\"longitude\":\"+1054300\"},\"Indian/Cocos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0630\\\\r\\\\nTZOFFSETTO:+0630\\\\r\\\\nTZNAME:+0630\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0121000\",\"longitude\":\"+0965500\"},\"Indian/Comoro\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0114100\",\"longitude\":\"+0431600\"},\"Indian/Kerguelen\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0492110\",\"longitude\":\"+0701303\"},\"Indian/Mahe\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0044000\",\"longitude\":\"+0552800\"},\"Indian/Maldives\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0500\\\\r\\\\nTZOFFSETTO:+0500\\\\r\\\\nTZNAME:+05\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0041000\",\"longitude\":\"+0733000\"},\"Indian/Mauritius\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0201000\",\"longitude\":\"+0573000\"},\"Indian/Mayotte\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0300\\\\r\\\\nTZOFFSETTO:+0300\\\\r\\\\nTZNAME:EAT\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0124700\",\"longitude\":\"+0451400\"},\"Indian/Reunion\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0400\\\\r\\\\nTZOFFSETTO:+0400\\\\r\\\\nTZNAME:+04\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0205200\",\"longitude\":\"+0552800\"},\"Pacific/Apia\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1400\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700405T040000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1400\\\\r\\\\nTZNAME:+14\\\\r\\\\nDTSTART:19700927T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0135000\",\"longitude\":\"-1714400\"},\"Pacific/Auckland\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:NZDT\\\\r\\\\nDTSTART:19700927T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:NZST\\\\r\\\\nDTSTART:19700405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0365200\",\"longitude\":\"+1744600\"},\"Pacific/Bougainville\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0061300\",\"longitude\":\"+1553400\"},\"Pacific/Chatham\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1245\\\\r\\\\nTZOFFSETTO:+1345\\\\r\\\\nTZNAME:+1345\\\\r\\\\nDTSTART:19700927T024500\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=-1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1345\\\\r\\\\nTZOFFSETTO:+1245\\\\r\\\\nTZNAME:+1245\\\\r\\\\nDTSTART:19700405T034500\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0435700\",\"longitude\":\"-1763300\"},\"Pacific/Chuuk\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0072500\",\"longitude\":\"+1514700\"},\"Pacific/Easter\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:20190406T220000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SA\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:20190907T220000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SA\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0500\\\\r\\\\nTZNAME:-05\\\\r\\\\nDTSTART:20180811T220000\\\\r\\\\nRDATE:20180811T220000\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0500\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:20180512T220000\\\\r\\\\nRDATE:20180512T220000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0270900\",\"longitude\":\"-1092600\"},\"Pacific/Efate\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0174000\",\"longitude\":\"+1682500\"},\"Pacific/Enderbury\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0030800\",\"longitude\":\"-1710500\"},\"Pacific/Fakaofo\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0092200\",\"longitude\":\"-1711400\"},\"Pacific/Fiji\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700118T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=1;BYMONTHDAY=12,13,14,15,16,17,18;BYDAY=SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:20191110T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=2SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:20181104T020000\\\\r\\\\nRDATE:20181104T020000\\\\r\\\\nEND:DAYLIGHT\"],\"latitude\":\"-0180800\",\"longitude\":\"+1782500\"},\"Pacific/Funafuti\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0083100\",\"longitude\":\"+1791300\"},\"Pacific/Galapagos\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0600\\\\r\\\\nTZOFFSETTO:-0600\\\\r\\\\nTZNAME:-06\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0005400\",\"longitude\":\"-0893600\"},\"Pacific/Gambier\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0900\\\\r\\\\nTZOFFSETTO:-0900\\\\r\\\\nTZNAME:-09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0230800\",\"longitude\":\"-1345700\"},\"Pacific/Guadalcanal\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0093200\",\"longitude\":\"+1601200\"},\"Pacific/Guam\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:ChST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0132800\",\"longitude\":\"+1444500\"},\"Pacific/Honolulu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:HST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0211825\",\"longitude\":\"-1575130\"},\"Pacific/Kiritimati\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1400\\\\r\\\\nTZOFFSETTO:+1400\\\\r\\\\nTZNAME:+14\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0015200\",\"longitude\":\"-1572000\"},\"Pacific/Kosrae\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0051900\",\"longitude\":\"+1625900\"},\"Pacific/Kwajalein\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0090500\",\"longitude\":\"+1672000\"},\"Pacific/Majuro\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0070900\",\"longitude\":\"+1711200\"},\"Pacific/Marquesas\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0930\\\\r\\\\nTZOFFSETTO:-0930\\\\r\\\\nTZNAME:-0930\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0090000\",\"longitude\":\"-1393000\"},\"Pacific/Midway\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1100\\\\r\\\\nTZOFFSETTO:-1100\\\\r\\\\nTZNAME:SST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0281300\",\"longitude\":\"-1772200\"},\"Pacific/Nauru\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0003100\",\"longitude\":\"+1665500\"},\"Pacific/Niue\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1100\\\\r\\\\nTZOFFSETTO:-1100\\\\r\\\\nTZNAME:-11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0190100\",\"longitude\":\"-1695500\"},\"Pacific/Norfolk\":{\"ics\":[\"BEGIN:DAYLIGHT\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:20191006T020000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU\\\\r\\\\nEND:DAYLIGHT\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:20200405T030000\\\\r\\\\nRRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1130\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\",\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:20190701T000000\\\\r\\\\nRDATE:20190701T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0290300\",\"longitude\":\"+1675800\"},\"Pacific/Noumea\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0221600\",\"longitude\":\"+1662700\"},\"Pacific/Pago_Pago\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1100\\\\r\\\\nTZOFFSETTO:-1100\\\\r\\\\nTZNAME:SST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0141600\",\"longitude\":\"-1704200\"},\"Pacific/Palau\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+0900\\\\r\\\\nTZOFFSETTO:+0900\\\\r\\\\nTZNAME:+09\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0072000\",\"longitude\":\"+1342900\"},\"Pacific/Pitcairn\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-0800\\\\r\\\\nTZOFFSETTO:-0800\\\\r\\\\nTZNAME:-08\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0250400\",\"longitude\":\"-1300500\"},\"Pacific/Pohnpei\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1100\\\\r\\\\nTZOFFSETTO:+1100\\\\r\\\\nTZNAME:+11\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0065800\",\"longitude\":\"+1581300\"},\"Pacific/Port_Moresby\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:+10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0093000\",\"longitude\":\"+1471000\"},\"Pacific/Rarotonga\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:-10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0211400\",\"longitude\":\"-1594600\"},\"Pacific/Saipan\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1000\\\\r\\\\nTZOFFSETTO:+1000\\\\r\\\\nTZNAME:ChST\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0151200\",\"longitude\":\"+1454500\"},\"Pacific/Tahiti\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:-1000\\\\r\\\\nTZOFFSETTO:-1000\\\\r\\\\nTZNAME:-10\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0173200\",\"longitude\":\"-1493400\"},\"Pacific/Tarawa\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0012500\",\"longitude\":\"+1730000\"},\"Pacific/Tongatapu\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1300\\\\r\\\\nTZOFFSETTO:+1300\\\\r\\\\nTZNAME:+13\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0211000\",\"longitude\":\"-1751000\"},\"Pacific/Wake\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"+0191700\",\"longitude\":\"+1663700\"},\"Pacific/Wallis\":{\"ics\":[\"BEGIN:STANDARD\\\\r\\\\nTZOFFSETFROM:+1200\\\\r\\\\nTZOFFSETTO:+1200\\\\r\\\\nTZNAME:+12\\\\r\\\\nDTSTART:19700101T000000\\\\r\\\\nEND:STANDARD\"],\"latitude\":\"-0131800\",\"longitude\":\"-1761000\"}}}')},function(t,n,e){\"use strict\";function r(t,n){var e=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!e){if(Array.isArray(t)||(e=function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t))||n&&t&&\"number\"==typeof t.length){e&&(t=e);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,T=!0,l=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return T=t.done,t},e:function(t){l=!0,o=t},f:function(){try{T||null==e.return||e.return()}finally{if(l)throw o}}}}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.r(n),n.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var n=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===n.length||!this.hasNodeOrAnyParentClass(t.target,n)},hasNodeOrAnyParentClass:function(t,n){var e,i=r(n);try{for(i.s();!(e=i.n()).done;){var a,o=e.value;if(null!=t&&null!==(a=t.classList)&&void 0!==a&&a.contains(o))return!0}}catch(t){i.e(t)}finally{i.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,n)}}}},function(t,n,e){\"use strict\";e.r(n),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,n){t.exports=require(\"@nextcloud/browser-storage\")},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"},,function(t,n,e){\"use strict\";e.r(n);var r={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},i=e(2),a=e.n(i),o=e(33),T={insert:\"head\",singleton:!1},l=(a()(o.a,T),o.a.locals,e(34)),s={insert:\"head\",singleton:!1},A=(a()(l.a,s),l.a.locals,e(3)),c={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(A.a)(r,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?e(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?e(\"img\",{attrs:{src:t.item.icon}}):e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?e(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?e(\"form\",{class:t.item.input,on:{submit:function(n){return n.preventDefault(),t.item.action(n)}}},[e(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),e(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(n){var e=t.item.model,r=n.target,i=!!r.checked;if(Array.isArray(e)){var a=t._i(e,null);r.checked?a<0&&t.$set(t.item,\"model\",e.concat([null])):a>-1&&t.$set(t.item,\"model\",e.slice(0,a).concat(e.slice(a+1)))}else t.$set(t.item,\"model\",i)},t.item.action]}}):\"radio\"===t.item.input?e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(n){return t.$set(t.item,\"model\",null)},t.item.action]}}):e(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(n){n.target.composing||t.$set(t.item,\"model\",n.target.value)}}}),t._v(\" \"),e(\"label\",{attrs:{for:t.key},on:{click:function(n){return n.stopPropagation(),n.preventDefault(),t.item.action(n)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?e(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:\"button\"},on:{click:function(n){return n.stopPropagation(),n.preventDefault(),t.item.action(n)}}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):e(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[e(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?e(\"p\",[e(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?e(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?e(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"54983729\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},d=e(35),u={insert:\"head\",singleton:!1},E=(a()(d.a,u),d.a.locals,e(36)),m=e.n(E),p=Object(A.a)(c,(function(){var t=this.$createElement,n=this._self._c||t;return n(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,e){return n(\"PopoverMenuItem\",{key:e,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof m.a&&m()(p);var D=p.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=D},function(t,n,e){\"use strict\";e.r(n);var r=e(15),i=e.n(r),a=e(28),o=e(7),T=e(49),l=e(18),s=e(16),A=e(21),c=e.n(A),d=e(54),u=e(11),E=e(58),m=e(24),p=e(4),D=e(14);function S(t,n,e,r,i,a,o){try{var T=t[a](o),l=T.value}catch(t){return void e(t)}T.done?n(l):Promise.resolve(l).then(r,i)}function g(t){return function(){var n=this,e=arguments;return new Promise((function(r,i){var a=t.apply(n,e);function o(t){S(a,r,i,o,T,\"next\",t)}function T(t){S(a,r,i,o,T,\"throw\",t)}o(void 0)}))}}var N=Object(T.getBuilder)(\"nextcloud\").persist().build();function F(t){var n=N.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof n?Boolean(n):null}function R(t,n){t&&N.setItem(\"user-has-avatar.\"+t,n)}var h={name:\"Avatar\",directives:{tooltip:u.default,ClickOutside:a.directive},components:{DotsHorizontal:i.a,Popover:D.a,PopoverMenu:d.default},mixins:[m.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:Object(p.b)(\"Avatar of {displayName}\",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(l.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var n=Object(E.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+n.r+\", \"+n.g+\", \"+n.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var n=this.getUserIdentifier,e=n.indexOf(\" \");\"\"===n?t=\"?\":(t=String.fromCodePoint(n.codePointAt(0)),-1!==e&&(t=t.concat(String.fromCodePoint(n.codePointAt(e+1)))))}return t.toUpperCase()},menu:function(){var t,n,e,r=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,n=document.createTextNode(t),e=document.createElement(\"p\"),e.appendChild(n),e.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(r):r}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(s.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(s.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return g(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t.hasMenu){n.next=2;break}return n.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){n.next=5;break}return n.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return n.stop()}}),n)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return g(regeneratorRuntime.mark((function n(){var e,r,i;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t.contactsMenuLoading=!0,n.prev=1,e=encodeURIComponent(t.user),n.next=5,c.a.post(Object(o.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(e));case 5:r=n.sent,i=r.data,t.contactsMenuActions=i.topAction?[i.topAction].concat(i.actions):i.actions,n.next=13;break;case 10:n.prev=10,n.t0=n.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return n.stop()}}),n,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),n=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,n)}},avatarUrlGenerator:function(t,n){var e,r=\"/avatar/{user}/{size}\";this.isGuest&&(r=\"/avatar/guest/{user}/{size}\");var i=Object(o.generateUrl)(r,{user:t,size:n});return t===(null===(e=Object(l.getCurrentUser)())||void 0===e?void 0:e.uid)&&\"undefined\"!=typeof oc_userconfig&&(i+=\"?v=\"+oc_userconfig.avatar.version),i},updateImageIfValid:function(t){var n=this,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=F(this.user);if(this.isUserDefined&&\"boolean\"==typeof r)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,e&&(this.avatarSrcSetLoaded=e),void(!1===r&&(this.userDoesNotExist=!0));var i=new Image;i.onload=function(){n.avatarUrlLoaded=t,e&&(n.avatarSrcSetLoaded=e),n.isAvatarLoaded=!0,R(n.user,!0)},i.onerror=function(){console.debug(\"Invalid avatar url\",t),n.avatarUrlLoaded=null,n.avatarSrcSetLoaded=null,n.userDoesNotExist=!0,n.isAvatarLoaded=!1,R(n.user,!1)},e&&(i.srcset=e),i.src=t}}},O=e(2),B=e.n(O),C=e(41),b={insert:\"head\",singleton:!1},f=(B()(C.a,b),C.a.locals,e(3)),v=e(42),x=e.n(v),Y=Object(f.a)(h,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle,attrs:{tabindex:t.disableMenu?\"-1\":\"0\",\"aria-label\":t.avatarAriaLabel,role:t.disableMenu?\"\":\"button\"},on:{keydown:function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\")?null:t.toggleMenu(n)}}},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?e(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?e(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?e(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState},on:{\"after-show\":t.handlePopoverAfterShow,\"after-hide\":t.handlePopoverAfterHide},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t.contactsMenuLoading?e(\"div\",{staticClass:\"icon-loading\"}):e(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:24,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,3277751148)},[e(\"PopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:t.menu}})],1):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?e(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?e(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?e(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"583ead48\",null);\"function\"==typeof x.a&&x()(Y);var Z=Y.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=Z},function(t,n){t.exports=require(\"md5\")},function(t,n){t.exports=require(\"@nextcloud/capabilities\")},function(t,n,e){\"use strict\";e.r(n);var r=e(56),i=e.n(r),a=e(44),o=function(t){var n=t.toLowerCase();null===n.match(/^([0-9a-f]{4}-?){8}$/)&&(n=i()(n)),n=n.replace(/[^0-9a-f]/g,\"\");return Object(a.a)(6)[function(t,n){for(var e=0,r=[],i=0;i<t.length;i++)r.push(parseInt(t.charAt(i),16)%16);for(var a in r)e+=r[a];return parseInt(parseInt(e,10)%n,10)}(n,18)]};n.default=o},function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"357763c\"),\"\")}))}},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-28d338d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./ListItemIcon.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgOxB,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},,,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-f855c4b8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./EllipsisedOption.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},function(t,n,e){\"use strict\";var r=e(71),i=e.n(r),a=e(40),o=e(38),T={name:\"EllipsisedOption\",components:{Highlight:a.default},props:{option:{type:[String,Object],required:!0,default:\"\"},label:{type:String,default:\"\"},search:{type:String,default:\"\"},name:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.substr(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.substr(this.split):\"\"},highlight1:function(){return this.search?Object(o.a)(this.name,this.search):[]},highlight2:function(){var t=this;return this.highlight1.map((function(n){return{start:n.start-t.split,end:n.end-t.split}}))}}},l=e(2),s=e.n(l),A=e(64),c={insert:\"head\",singleton:!1},d=(s()(A.a,c),A.a.locals,e(3)),u=Object(d.a)(T,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"div\",{staticClass:\"name-parts\",attrs:{title:t.name}},[e(\"Highlight\",{staticClass:\"name-parts__first\",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(\" \"),t.part2?e(\"Highlight\",{staticClass:\"name-parts__last\",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,\"f855c4b8\",null).exports,E=e(22),m=e(67),p=e(11);function D(t){return(D=\"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})(t)}var S={name:\"Multiselect\",components:{EllipsisedOption:u,ListItemIcon:m.default,VueMultiselect:i.a},directives:{tooltip:p.default},mixins:[E.a],inheritAttrs:!1,props:{value:{default:function(){return[]}},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(t){return t>0}}},data:function(){return{elWidth:0}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==D(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(t){this.$emit(\"update:value\",t),this.$emit(\"change\",t)}}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(t){var n;return String(null===(n=this.$refs.VueMultiselect)||void 0===n?void 0:n.getOptionLabel(t))},formatLimitTitle:function(t){var n=this;if(Array.isArray(t)&&t.length>0){var e=t;return\"object\"===D(t[0])&&(e=t.map((function(t){return t[n.label]}))),e.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},g=e(65),N=e.n(g),F=Object(d.a)(S,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"VueMultiselect\",t._g(t._b({ref:\"VueMultiselect\",class:[{\"icon-loading-small\":t.loading},t.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:t.options,limit:t.maxOptions,\"close-on-select\":!t.multiple,multiple:t.multiple,label:t.label,\"track-by\":t.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:t._u([{key:\"option\",fn:function(n){return[t.userSelect&&!t.$scopedSlots.option?e(\"ListItemIcon\",t._b({attrs:{title:n.option[t.label],search:n.search}},\"ListItemIcon\",n.option,!1)):t.$scopedSlots.option?t._t(\"option\",null,null,n):e(\"EllipsisedOption\",{attrs:{name:t.getOptionLabel(n.option),option:n.option,search:n.search,label:t.label}})]}},t.multiple?{key:\"limit\",fn:function(){return[e(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.formatLimitTitle(t.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(n,e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}})),{key:\"noResult\",fn:function(){return[e(\"span\",[t._v(t._s(t.t(\"No results\")))])]},proxy:!0}],null,!0),model:{value:t.localValue,callback:function(n){t.localValue=n},expression:\"localValue\"}},\"VueMultiselect\",t.$attrs,!1),t.$listeners))}),[],!1,null,null,null);\"function\"==typeof N.a&&N()(F);n.a=F.exports},function(t,n,e){\"use strict\";e.r(n);var r=e(55),i=e(40),a=e(24),o={name:\"ListItemIcon\",components:{Avatar:r.default,Highlight:i.default},mixins:[a.e],props:{title:{type:String,required:!0},subtitle:{type:String,default:\"\"},icon:{type:String,default:\"\"},search:{type:String,default:\"\"},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return\"\"!==this.icon},hasSlot:function(){return!!this.$slots.default},isValidSubtitle:function(){var t,n;return\"\"!==(null===(t=this.subtitle)||void 0===t||null===(n=t.trim)||void 0===n?void 0:n.call(t))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var t=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*t+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},T=e(2),l=e.n(T),s=e(60),A={insert:\"head\",singleton:!1},c=(l()(s.a,A),s.a.locals,e(3)),d=e(61),u=e.n(d),E=Object(c.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"span\",t._g({staticClass:\"option\",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[e(\"Avatar\",t._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":t.displayName||t.title,\"is-no-user\":t.isNoUser,size:t.avatarSize}},\"Avatar\",t.$attrs,!1)),t._v(\" \"),e(\"div\",{staticClass:\"option__details\"},[e(\"Highlight\",{staticClass:\"option__lineone\",attrs:{text:t.title,search:t.search}}),t._v(\" \"),t.isValidSubtitle&&t.isSizeBigEnough?e(\"Highlight\",{staticClass:\"option__linetwo\",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?e(\"span\",[e(\"span\",[t._v(t._s(t.userStatus.icon))]),t._v(\" \"),e(\"span\",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(\" \"),t._t(\"default\"),t._v(\" \"),t.hasIcon&&!t.hasSlot?e(\"span\",{staticClass:\"icon option__icon\",class:t.icon}):t._e()],2)}),[],!1,null,\"28d338d4\",null);\"function\"==typeof u.a&&u()(E);var m=E.exports;\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=m},function(t,n,e){\"use strict\";e.r(n);var r=e(59),i=e(66),a=e(2),o=e.n(a),T=e(70),l={insert:\"head\",singleton:!1};o()(T.a,l),T.a.locals;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nObject(r.a)(i.a);n.default=i.a},,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-357763c]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-357763c]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-357763c].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-357763c].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-357763c].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-357763c].multiselect--disabled,.multiselect[data-v-357763c].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-357763c].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-357763c] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:3px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:2px 1px}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-357763c] .multiselect__tags .multiselect__single,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-357763c] .multiselect__tags .multiselect__single,.multiselect[data-v-357763c] .multiselect__tags .multiselect__single *,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-357763c] .multiselect__tags .multiselect__strong,.multiselect[data-v-357763c] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-357763c] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-357763c] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-357763c] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-357763c] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-357763c] .multiselect__content-wrapper li,.multiselect[data-v-357763c] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-357763c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-357763c].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-357763c].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-357763c].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-357763c].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-357763c].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-357763c]:hover .multiselect__placeholder,.multiselect[data-v-357763c] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCJxB,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,cAAe,CAvGnB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t&.icon-loading-small::after {\\n\\t\\tleft: 100%;\\n\\t\\tmargin-left: -24px;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: 3px;\\n\\t\\tmin-height: 34px;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 3px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin: 2px 1px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* let's leave it on top of tags but hide it */\\n\\t\\t\\theight: 100% !important;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 6px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){t.exports=require(\"vue-multiselect\")},function(t,n){t.exports=require(\"vue-material-design-icons/ArrowRight\")},,,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-5c87e24c]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}[data-v-5c87e24c] .multiselect__tags{border:none !important}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./TimezonePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,qCACC,sBAAuB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n::v-deep .multiselect__tags {\\n\\tborder: none !important; // Remove the Multiselect border\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},,,function(t,n){t.exports=require(\"@nextcloud/calendar-js\")},function(t,n){t.exports=require(\"@nextcloud/logger\")},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-e196afc6]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.datetime-picker-inline-icon[data-v-e196afc6]{opacity:.3;border:none;background-color:transparent;border-radius:0;padding:6px !important}.datetime-picker-inline-icon--highlighted[data-v-e196afc6]{opacity:.7}.datetime-picker-inline-icon[data-v-e196afc6]:focus,.datetime-picker-inline-icon[data-v-e196afc6]:hover{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./DatetimePicker.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+RxB,8CACC,UAAW,CACX,WAAY,CACZ,4BAA6B,CAC7B,eAAgB,CAChB,sBAAuB,CAEvB,2DACC,UAAW,CARb,wGAaE,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.datetime-picker-inline-icon {\\n\\topacity: .3;\\n\\tborder: none;\\n\\tbackground-color: transparent;\\n\\tborder-radius: 0;\\n\\tpadding: 6px !important;\\n\\n\\t&--highlighted {\\n\\t\\topacity: .7;\\n\\t}\\n\\n\\t&:focus,\\n\\t&:hover {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a),T=e(8),l=e.n(T),s=e(111),A=e(112),c=e(113),d=e(114),u=e(115),E=e(116),m=e(117),p=e(118),D=o()(i.a),S=l()(s.a),g=l()(A.a),N=l()(c.a),F=l()(d.a),R=l()(u.a),h=l()(E.a),O=l()(m.a),B=l()(p.a);D.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mx-icon-left:before,.mx-icon-right:before,.mx-icon-double-left:before,.mx-icon-double-right:before,.mx-icon-double-left:after,.mx-icon-double-right:after{content:'';position:relative;top:-1px;display:inline-block;width:10px;height:10px;vertical-align:middle;border-style:solid;border-color:currentColor;border-width:2px 0 0 2px;border-radius:1px;box-sizing:border-box;transform-origin:center;transform:rotate(-45deg) scale(0.7)}.mx-icon-double-left:after{left:-4px}.mx-icon-double-right:before{left:4px}.mx-icon-right:before,.mx-icon-double-right:before,.mx-icon-double-right:after{transform:rotate(135deg) scale(0.7)}.mx-btn{box-sizing:border-box;line-height:1;font-size:14px;font-weight:500;padding:7px 15px;margin:0;cursor:pointer;background-color:transparent;outline:none;border:1px solid rgba(0,0,0,0.1);border-radius:4px;color:#73879c;white-space:nowrap}.mx-btn:hover{border-color:#1284e7;color:#1284e7}.mx-btn-text{border:0;padding:0 4px;text-align:left;line-height:inherit}.mx-scrollbar{height:100%}.mx-scrollbar:hover .mx-scrollbar-track{opacity:1}.mx-scrollbar-wrap{height:100%;overflow-x:hidden;overflow-y:auto}.mx-scrollbar-track{position:absolute;top:2px;right:2px;bottom:2px;width:6px;z-index:1;border-radius:4px;opacity:0;transition:opacity 0.24s ease-out}.mx-scrollbar-track .mx-scrollbar-thumb{position:absolute;width:100%;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,0.3);transition:background-color 0.3s}.mx-zoom-in-down-enter-active,.mx-zoom-in-down-leave-active{opacity:1;transform:scaleY(1);transition:transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);transform-origin:center top}.mx-zoom-in-down-enter,.mx-zoom-in-down-enter-from,.mx-zoom-in-down-leave-to{opacity:0;transform:scaleY(0)}.mx-datepicker{position:relative;display:inline-block;width:210px}.mx-datepicker svg{width:1em;height:1em;vertical-align:-0.15em;fill:currentColor;overflow:hidden}.mx-datepicker-range{width:320px}.mx-datepicker-inline{width:auto}.mx-input-wrapper{position:relative}.mx-input-wrapper .mx-icon-clear{display:none}.mx-input-wrapper:hover .mx-icon-clear{display:block}.mx-input-wrapper:hover .mx-icon-clear+.mx-icon-calendar{display:none}.mx-input{display:inline-block;box-sizing:border-box;width:100%;height:34px;padding:6px 30px;padding-left:10px;font-size:14px;line-height:1.4;color:#555;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.mx-input:hover,.mx-input:focus{border-color:#409aff}.mx-input:disabled,.mx-input.disabled{color:#ccc;background-color:#f3f3f3;border-color:#ccc;cursor:not-allowed}.mx-input:focus{outline:none}.mx-input::-ms-clear{display:none}.mx-icon-calendar,.mx-icon-clear{position:absolute;top:50%;right:8px;transform:translateY(-50%);font-size:16px;line-height:1;color:rgba(0,0,0,0.5);vertical-align:middle}.mx-icon-clear{cursor:pointer}.mx-icon-clear:hover{color:rgba(0,0,0,0.8)}.mx-datepicker-main{font:14px/1.5 'Helvetica Neue', Helvetica, Arial, 'Microsoft Yahei', sans-serif;color:#73879c;background-color:#fff;border:1px solid #e8e8e8}.mx-datepicker-popup{position:absolute;margin-top:1px;margin-bottom:1px;box-shadow:0 6px 12px rgba(0,0,0,0.175);z-index:2001}.mx-datepicker-sidebar{float:left;box-sizing:border-box;width:100px;padding:6px;overflow:auto}.mx-datepicker-sidebar+.mx-datepicker-content{margin-left:100px;border-left:1px solid #e8e8e8}.mx-datepicker-body{position:relative;user-select:none}.mx-btn-shortcut{display:block;padding:0 6px;line-height:24px}.mx-range-wrapper{display:flex}@media (max-width: 750px){.mx-range-wrapper{flex-direction:column}}.mx-datepicker-header{padding:6px 8px;border-bottom:1px solid #e8e8e8}.mx-datepicker-footer{padding:6px 8px;text-align:right;border-top:1px solid #e8e8e8}.mx-calendar{box-sizing:border-box;width:248px;padding:6px 12px}.mx-calendar+.mx-calendar{border-left:1px solid #e8e8e8}.mx-calendar-header,.mx-time-header{box-sizing:border-box;height:34px;line-height:34px;text-align:center;overflow:hidden}.mx-btn-icon-left,.mx-btn-icon-double-left{float:left}.mx-btn-icon-right,.mx-btn-icon-double-right{float:right}.mx-calendar-header-label{font-size:14px}.mx-calendar-decade-separator{margin:0 2px}.mx-calendar-decade-separator:after{content:'~'}.mx-calendar-content{position:relative;height:224px;box-sizing:border-box}.mx-calendar-content .cell{cursor:pointer}.mx-calendar-content .cell:hover{color:#73879c;background-color:#f3f9fe}.mx-calendar-content .cell.active{color:#fff;background-color:#1284e7}.mx-calendar-content .cell.in-range,.mx-calendar-content .cell.hover-in-range{color:#73879c;background-color:#dbedfb}.mx-calendar-content .cell.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-calendar-week-mode .mx-date-row{cursor:pointer}.mx-calendar-week-mode .mx-date-row:hover{background-color:#f3f9fe}.mx-calendar-week-mode .mx-date-row.mx-active-week{background-color:#dbedfb}.mx-calendar-week-mode .mx-date-row .cell:hover{color:inherit;background-color:transparent}.mx-calendar-week-mode .mx-date-row .cell.active{color:inherit;background-color:transparent}.mx-week-number{opacity:0.5}.mx-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;height:100%;box-sizing:border-box;text-align:center}.mx-table th{padding:0;font-weight:500;vertical-align:middle}.mx-table td{padding:0;vertical-align:middle}.mx-table-date td,.mx-table-date th{height:32px;font-size:12px}.mx-table-date .today{color:#2a90e9}.mx-table-date .cell.not-current-month{color:#ccc;background:none}.mx-time{flex:1;width:224px;background:#fff}.mx-time+.mx-time{border-left:1px solid #e8e8e8}.mx-calendar-time{position:absolute;top:0;left:0;width:100%;height:100%}.mx-time-header{border-bottom:1px solid #e8e8e8}.mx-time-content{height:224px;box-sizing:border-box;overflow:hidden}.mx-time-columns{display:flex;width:100%;height:100%;overflow:hidden}.mx-time-column{flex:1;position:relative;border-left:1px solid #e8e8e8;text-align:center}.mx-time-column:first-child{border-left:0}.mx-time-column .mx-time-list{margin:0;padding:0;list-style:none}.mx-time-column .mx-time-list::after{content:'';display:block;height:192px}.mx-time-column .mx-time-item{cursor:pointer;font-size:12px;height:32px;line-height:32px}.mx-time-column .mx-time-item:hover{color:#73879c;background-color:#f3f9fe}.mx-time-column .mx-time-item.active{color:#1284e7;background-color:rgba(0,0,0,0);font-weight:700}.mx-time-column .mx-time-item.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-time-option{cursor:pointer;padding:8px 10px;font-size:14px;line-height:20px}.mx-time-option:hover{color:#73879c;background-color:#f3f9fe}.mx-time-option.active{color:#1284e7;background-color:rgba(0,0,0,0);font-weight:700}.mx-time-option.disabled{cursor:not-allowed;color:#ccc;background-color:#f3f3f3}.mx-datepicker[data-v-357763c]{user-select:none;color:var(--color-main-text)}.mx-datepicker[data-v-357763c] svg{fill:var(--color-main-text)}.mx-datepicker[data-v-357763c] .mx-input-wrapper .mx-input{width:100%;border:1px solid var(--color-border);background-color:var(--color-main-background);background-clip:content-box}.mx-datepicker[data-v-357763c] .mx-input-wrapper:disabled,.mx-datepicker[data-v-357763c] .mx-input-wrapper.disabled{cursor:not-allowed;opacity:.7}.mx-datepicker[data-v-357763c] .mx-input-wrapper .mx-icon-calendar,.mx-datepicker[data-v-357763c] .mx-input-wrapper .mx-icon-clear{color:var(--color-text-lighter)}.mx-datepicker-main{color:var(--color-main-text);border:1px solid var(--color-border);background-color:var(--color-main-background);font-family:var(--font-face) !important;line-height:1.5}.mx-datepicker-main svg{fill:var(--color-main-text)}.mx-datepicker-main.mx-datepicker-popup{z-index:2000;box-shadow:none}.mx-datepicker-main.mx-datepicker-popup .mx-datepicker-sidebar+.mx-datepicker-content{border-left:1px solid var(--color-border)}.mx-datepicker-main.show-week-number .mx-calendar{width:266px}.mx-datepicker-main .mx-datepicker-header{border-bottom:1px solid var(--color-border)}.mx-datepicker-main .mx-datepicker-footer{border-top:1px solid var(--color-border)}.mx-datepicker-main .mx-calendar{width:234px;padding:5px}.mx-datepicker-main .mx-calendar.mx-calendar-week-mode{width:266px}.mx-datepicker-main .mx-time+.mx-time,.mx-datepicker-main .mx-calendar+.mx-calendar{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-range-wrapper{display:flex;overflow:hidden}.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.active{border-radius:var(--border-radius) 0 0 var(--border-radius)}.mx-datepicker-main .mx-range-wrapper .mx-calendar-content .mx-table-date .cell.in-range+.cell.active{border-radius:0 var(--border-radius) var(--border-radius) 0}.mx-datepicker-main .mx-table{text-align:center}.mx-datepicker-main .mx-table thead>tr>th{text-align:center;opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table tr:focus,.mx-datepicker-main .mx-table tr:hover,.mx-datepicker-main .mx-table tr:active{background-color:transparent}.mx-datepicker-main .mx-table .cell{transition:all 100ms ease-in-out;text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table .cell>*{cursor:pointer}.mx-datepicker-main .mx-table .cell.today{opacity:1;color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.today:hover,.mx-datepicker-main .mx-table .cell.today:focus{color:var(--color-primary-text)}.mx-datepicker-main .mx-table .cell.in-range,.mx-datepicker-main .mx-table .cell.disabled{border-radius:0;font-weight:normal}.mx-datepicker-main .mx-table .cell.in-range{opacity:.7}.mx-datepicker-main .mx-table .cell.not-current-month{opacity:.5;color:var(--color-text-lighter)}.mx-datepicker-main .mx-table .cell.not-current-month:hover,.mx-datepicker-main .mx-table .cell.not-current-month:focus{opacity:1}.mx-datepicker-main .mx-table .cell:hover,.mx-datepicker-main .mx-table .cell:focus,.mx-datepicker-main .mx-table .cell.actived,.mx-datepicker-main .mx-table .cell.active,.mx-datepicker-main .mx-table .cell.in-range{opacity:1;color:var(--color-primary-text);background-color:var(--color-primary-element);font-weight:bold}.mx-datepicker-main .mx-table .cell.disabled{opacity:.5;color:var(--color-text-lighter);border-radius:0;background-color:var(--color-background-darker)}.mx-datepicker-main .mx-table .mx-week-number{text-align:center;opacity:.7;border-radius:50px}.mx-datepicker-main .mx-table span.mx-week-number,.mx-datepicker-main .mx-table li.mx-week-number,.mx-datepicker-main .mx-table span.cell,.mx-datepicker-main .mx-table li.cell{min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead,.mx-datepicker-main .mx-table.mx-table-date tbody,.mx-datepicker-main .mx-table.mx-table-year,.mx-datepicker-main .mx-table.mx-table-month{display:flex;flex-direction:column;justify-content:space-around}.mx-datepicker-main .mx-table.mx-table-date thead tr,.mx-datepicker-main .mx-table.mx-table-date tbody tr,.mx-datepicker-main .mx-table.mx-table-year tr,.mx-datepicker-main .mx-table.mx-table-month tr{display:inline-flex;align-items:center;flex:1 1 32px;justify-content:space-around;min-height:32px}.mx-datepicker-main .mx-table.mx-table-date thead th,.mx-datepicker-main .mx-table.mx-table-date thead td,.mx-datepicker-main .mx-table.mx-table-date tbody th,.mx-datepicker-main .mx-table.mx-table-date tbody td,.mx-datepicker-main .mx-table.mx-table-year th,.mx-datepicker-main .mx-table.mx-table-year td,.mx-datepicker-main .mx-table.mx-table-month th,.mx-datepicker-main .mx-table.mx-table-month td{display:flex;align-items:center;flex:0 1 32%;justify-content:center;min-width:32px;height:95%;min-height:32px;transition:background 100ms ease-in-out}.mx-datepicker-main .mx-table.mx-table-year tr th,.mx-datepicker-main .mx-table.mx-table-year tr td{flex-basis:48%}.mx-datepicker-main .mx-table.mx-table-date tr th,.mx-datepicker-main .mx-table.mx-table-date tr td{flex-basis:32px}.mx-datepicker-main .mx-btn{min-width:32px;height:32px;margin:0 auto;padding:7px 10px;cursor:pointer;text-decoration:none;opacity:.5;color:var(--color-text-lighter);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-btn:hover,.mx-datepicker-main .mx-btn:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header,.mx-datepicker-main .mx-time-header{display:inline-flex;align-items:center;justify-content:space-between;width:100%;height:44px;margin-bottom:4px}.mx-datepicker-main .mx-calendar-header button,.mx-datepicker-main .mx-time-header button{min-width:32px;min-height:32px;margin:0;cursor:pointer;text-align:center;text-decoration:none;opacity:.7;color:var(--color-main-text);border-radius:32px;line-height:20px}.mx-datepicker-main .mx-calendar-header button:hover,.mx-datepicker-main .mx-time-header button:hover,.mx-datepicker-main .mx-calendar-header button:focus,.mx-datepicker-main .mx-time-header button:focus{opacity:1;color:var(--color-main-text);background-color:var(--color-background-darker)}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{align-items:center;justify-content:center;width:32px;padding:0;background-repeat:no-repeat;background-size:16px;background-position:center}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-left>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right>i,.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right>i,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right>i{display:none}.mx-datepicker-main .mx-calendar-header .mx-calendar-header-label,.mx-datepicker-main .mx-time-header .mx-calendar-header-label{display:flex}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url(\"+S+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-left{background-image:url(\"+g+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,.mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url(\"+N+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-left,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-left{background-image:url(\"+F+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url(\"+R+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-right{background-image:url(\"+h+\")}.mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url(\"+O+\")}body.theme--dark .mx-datepicker-main .mx-calendar-header .mx-btn-icon-double-right,body.theme--dark .mx-datepicker-main .mx-time-header .mx-btn-icon-double-right{background-image:url(\"+B+\")}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-right{order:2}.mx-datepicker-main .mx-calendar-header button.mx-btn-icon-double-right,.mx-datepicker-main .mx-time-header button.mx-btn-icon-double-right{order:3}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row .mx-week-number{font-weight:bold}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{opacity:1;border-radius:50px;background-color:var(--color-background-dark)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{background-color:transparent}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row:hover td:focus,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:hover,.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td:focus{color:inherit}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-calendar-week-mode .mx-date-row.mx-active-week td{opacity:.7;font-weight:normal}.mx-datepicker-main .mx-time{background-color:var(--color-main-background)}.mx-datepicker-main .mx-time .mx-time-header{justify-content:center;border-bottom:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-column{border-left:1px solid var(--color-border)}.mx-datepicker-main .mx-time .mx-time-option.active,.mx-datepicker-main .mx-time .mx-time-option:hover,.mx-datepicker-main .mx-time .mx-time-item.active,.mx-datepicker-main .mx-time .mx-time-item:hover{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mx-datepicker-main .mx-time .mx-time-option.disabled,.mx-datepicker-main .mx-time .mx-time-item.disabled{cursor:not-allowed;opacity:.5;color:var(--color-main-text);background-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../../node_modules/vue2-datepicker/scss/icon.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/btn.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/var.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/scrollbar.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/animation.scss\",\"webpack://./../../../node_modules/vue2-datepicker/scss/index.scss\",\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"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\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-icon-left:before,\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-left:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-left:after,\\n.#{$namespace}-icon-double-right:after {\\n content: '';\\n position: relative;\\n top: -1px;\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n vertical-align: middle;\\n border-style: solid;\\n border-color: currentColor;\\n border-width: 2px 0 0 2px;\\n border-radius: 1px;\\n box-sizing: border-box;\\n transform-origin: center;\\n transform: rotate(-45deg) scale(0.7);\\n}\\n\\n.#{$namespace}-icon-double-left:after {\\n left: -4px;\\n}\\n\\n.#{$namespace}-icon-double-right:before {\\n left: 4px;\\n}\\n\\n.#{$namespace}-icon-right:before,\\n.#{$namespace}-icon-double-right:before,\\n.#{$namespace}-icon-double-right:after {\\n transform: rotate(135deg) scale(0.7);\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-btn {\\n box-sizing: border-box;\\n line-height: 1;\\n font-size: 14px;\\n font-weight: 500;\\n padding: 7px 15px;\\n margin: 0;\\n cursor: pointer;\\n background-color: transparent;\\n outline: none;\\n border: 1px solid rgba(0, 0, 0, 0.1);\\n border-radius: 4px;\\n color: $default-color;\\n white-space: nowrap;\\n &:hover {\\n border-color: $primary-color;\\n color: $primary-color;\\n }\\n}\\n\\n.#{$namespace}-btn-text {\\n border: 0;\\n padding: 0 4px;\\n text-align: left;\\n line-height: inherit;\\n}\\n\",\"$namespace: 'mx' !default;\\n\\n$default-color: #73879c !default;\\n$primary-color: #1284e7 !default;\\n\\n$today-color: mix(#fff, $primary-color, 10%) !default;\\n\\n$popup-z-index: 2001 !default;\\n\\n$input-border-color: #ccc !default;\\n$input-color: #555 !default;\\n$input-hover-border-color: #409aff !default;\\n\\n$disabled-color: #ccc !default;\\n$disabled-background-color: #f3f3f3 !default;\\n\\n$border-color: #e8e8e8 !default;\\n\\n$calendar-active-color: #fff !default;\\n$calendar-active-background-color: $primary-color !default;\\n\\n$calendar-hover-color: $default-color !default;\\n$calendar-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$calendar-in-range-color: $default-color !default;\\n$calendar-in-range-background-color: mix(#fff, $calendar-active-background-color, 85%) !default;\\n\\n$time-active-color: $primary-color !default;\\n$time-active-background-color: transparent !default;\\n\\n$time-hover-color: $default-color !default;\\n$time-hover-background-color: mix(#fff, $calendar-active-background-color, 95%) !default;\\n\\n$input-border-radius: 4px !default;\\n$sidebar-margin-left: 100px !default;\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-scrollbar {\\n height: 100%;\\n &:hover {\\n .#{$namespace}-scrollbar-track {\\n opacity: 1;\\n }\\n }\\n}\\n\\n.#{$namespace}-scrollbar-wrap {\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n}\\n\\n.#{$namespace}-scrollbar-track {\\n position: absolute;\\n top: 2px;\\n right: 2px;\\n bottom: 2px;\\n width: 6px;\\n z-index: 1;\\n border-radius: 4px;\\n opacity: 0;\\n transition: opacity 0.24s ease-out;\\n .#{$namespace}-scrollbar-thumb {\\n position: absolute;\\n width: 100%;\\n height: 0;\\n cursor: pointer;\\n border-radius: inherit;\\n background-color: rgba(144, 147, 153, 0.3);\\n transition: background-color 0.3s;\\n }\\n}\\n\",\"@import './var.scss';\\n\\n.#{$namespace}-zoom-in-down-enter-active,\\n.#{$namespace}-zoom-in-down-leave-active {\\n opacity: 1;\\n transform: scaleY(1);\\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1),\\n opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1);\\n transform-origin: center top;\\n}\\n\\n.#{$namespace}-zoom-in-down-enter,\\n.#{$namespace}-zoom-in-down-enter-from,\\n.#{$namespace}-zoom-in-down-leave-to {\\n opacity: 0;\\n transform: scaleY(0);\\n}\\n\",\"@import './var.scss';\\n@import './icon.scss';\\n@import './btn.scss';\\n@import './scrollbar.scss';\\n@import './animation.scss';\\n\\n.#{$namespace}-datepicker {\\n position: relative;\\n display: inline-block;\\n width: 210px;\\n svg {\\n width: 1em;\\n height: 1em;\\n vertical-align: -0.15em;\\n fill: currentColor;\\n overflow: hidden;\\n }\\n}\\n\\n.#{$namespace}-datepicker-range {\\n width: 320px;\\n}\\n\\n.#{$namespace}-datepicker-inline {\\n width: auto;\\n}\\n\\n.#{$namespace}-input-wrapper {\\n position: relative;\\n .#{$namespace}-icon-clear {\\n display: none;\\n }\\n &:hover {\\n .#{$namespace}-icon-clear {\\n display: block;\\n }\\n .#{$namespace}-icon-clear + .#{$namespace}-icon-calendar {\\n display: none;\\n }\\n }\\n}\\n\\n.#{$namespace}-input {\\n display: inline-block;\\n box-sizing: border-box;\\n width: 100%;\\n height: 34px;\\n padding: 6px 30px;\\n padding-left: 10px;\\n font-size: 14px;\\n line-height: 1.4;\\n color: $input-color;\\n background-color: #fff;\\n border: 1px solid $input-border-color;\\n border-radius: $input-border-radius;\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\n\\n &:hover,\\n &:focus {\\n border-color: $input-hover-border-color;\\n }\\n &:disabled,\\n &.disabled {\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n border-color: $input-border-color;\\n cursor: not-allowed;\\n }\\n &:focus {\\n outline: none;\\n }\\n &::-ms-clear {\\n display: none;\\n }\\n}\\n\\n.#{$namespace}-icon-calendar,\\n.#{$namespace}-icon-clear {\\n position: absolute;\\n top: 50%;\\n right: 8px;\\n transform: translateY(-50%);\\n font-size: 16px;\\n line-height: 1;\\n color: rgba(0, 0, 0, 0.5);\\n vertical-align: middle;\\n}\\n\\n.#{$namespace}-icon-clear {\\n cursor: pointer;\\n &:hover {\\n color: rgba(0, 0, 0, 0.8);\\n }\\n}\\n\\n.#{$namespace}-datepicker-main {\\n font: 14px/1.5 'Helvetica Neue', Helvetica, Arial, 'Microsoft Yahei', sans-serif;\\n color: $default-color;\\n background-color: #fff;\\n border: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-popup {\\n position: absolute;\\n margin-top: 1px;\\n margin-bottom: 1px;\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\\n z-index: $popup-z-index;\\n}\\n\\n.#{$namespace}-datepicker-sidebar {\\n float: left;\\n box-sizing: border-box;\\n width: $sidebar-margin-left;\\n padding: 6px;\\n overflow: auto;\\n}\\n\\n.#{$namespace}-datepicker-sidebar + .#{$namespace}-datepicker-content {\\n margin-left: $sidebar-margin-left;\\n border-left: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-body {\\n position: relative;\\n user-select: none;\\n}\\n\\n.#{$namespace}-btn-shortcut {\\n display: block;\\n padding: 0 6px;\\n line-height: 24px;\\n}\\n\\n.#{$namespace}-range-wrapper {\\n display: flex;\\n @media (max-width: 750px) {\\n flex-direction: column;\\n }\\n}\\n\\n.#{$namespace}-datepicker-header {\\n padding: 6px 8px;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-datepicker-footer {\\n padding: 6px 8px;\\n text-align: right;\\n border-top: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-calendar {\\n box-sizing: border-box;\\n width: 248px;\\n padding: 6px 12px;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n\\n.#{$namespace}-calendar-header {\\n box-sizing: border-box;\\n height: 34px;\\n line-height: 34px;\\n text-align: center;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-btn-icon-left,\\n.#{$namespace}-btn-icon-double-left {\\n float: left;\\n}\\n.#{$namespace}-btn-icon-right,\\n.#{$namespace}-btn-icon-double-right {\\n float: right;\\n}\\n\\n.#{$namespace}-calendar-header-label {\\n font-size: 14px;\\n}\\n\\n.#{$namespace}-calendar-decade-separator {\\n margin: 0 2px;\\n &:after {\\n content: '~';\\n }\\n}\\n\\n.#{$namespace}-calendar-content {\\n position: relative;\\n height: 224px;\\n box-sizing: border-box;\\n .cell {\\n cursor: pointer;\\n &:hover {\\n color: $calendar-hover-color;\\n background-color: $calendar-hover-background-color;\\n }\\n &.active {\\n color: $calendar-active-color;\\n background-color: $calendar-active-background-color;\\n }\\n &.in-range,\\n &.hover-in-range {\\n color: $calendar-in-range-color;\\n background-color: $calendar-in-range-background-color;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-calendar-week-mode {\\n .#{$namespace}-date-row {\\n cursor: pointer;\\n &:hover {\\n background-color: $calendar-hover-background-color;\\n }\\n &.#{$namespace}-active-week {\\n background-color: $calendar-in-range-background-color;\\n }\\n .cell {\\n &:hover {\\n color: inherit;\\n background-color: transparent;\\n }\\n &.active {\\n color: inherit;\\n background-color: transparent;\\n }\\n }\\n }\\n}\\n\\n.#{$namespace}-week-number {\\n opacity: 0.5;\\n}\\n\\n.#{$namespace}-table {\\n table-layout: fixed;\\n border-collapse: separate;\\n border-spacing: 0;\\n width: 100%;\\n height: 100%;\\n box-sizing: border-box;\\n text-align: center;\\n\\n th {\\n padding: 0;\\n font-weight: 500;\\n vertical-align: middle;\\n }\\n td {\\n padding: 0;\\n vertical-align: middle;\\n }\\n}\\n\\n.#{$namespace}-table-date {\\n td,\\n th {\\n height: 32px;\\n font-size: 12px;\\n }\\n\\n .today {\\n color: $today-color;\\n }\\n .cell.not-current-month {\\n color: #ccc;\\n background: none; // cover the in-range style\\n }\\n}\\n\\n.#{$namespace}-time {\\n flex: 1;\\n width: 224px;\\n background: #fff;\\n & + & {\\n border-left: 1px solid $border-color;\\n }\\n}\\n.#{$namespace}-calendar-time {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n}\\n.#{$namespace}-time-header {\\n @extend .#{$namespace}-calendar-header;\\n border-bottom: 1px solid $border-color;\\n}\\n\\n.#{$namespace}-time-content {\\n height: 224px;\\n box-sizing: border-box;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-columns {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n}\\n\\n.#{$namespace}-time-column {\\n flex: 1;\\n position: relative;\\n border-left: 1px solid $border-color;\\n text-align: center;\\n\\n &:first-child {\\n border-left: 0;\\n }\\n .#{$namespace}-time-list {\\n margin: 0;\\n padding: 0;\\n list-style: none;\\n &::after {\\n content: '';\\n display: block;\\n height: 32 * 6px;\\n }\\n }\\n .#{$namespace}-time-item {\\n cursor: pointer;\\n font-size: 12px;\\n height: 32px;\\n line-height: 32px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n }\\n}\\n\\n.#{$namespace}-time-option {\\n cursor: pointer;\\n padding: 8px 10px;\\n font-size: 14px;\\n line-height: 20px;\\n &:hover {\\n color: $time-hover-color;\\n background-color: $time-hover-background-color;\\n }\\n &.active {\\n color: $time-active-color;\\n background-color: $time-active-background-color;\\n font-weight: 700;\\n }\\n &.disabled {\\n cursor: not-allowed;\\n color: $disabled-color;\\n background-color: $disabled-background-color;\\n }\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n$cell_height: 32px;\\n\\n@import '~vue2-datepicker/scss/index.scss';\\n\\n.mx-datepicker[data-v-#{$scope_version}] {\\n\\tuser-select: none;\\n\\tcolor: var(--color-main-text);\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t/* INPUT CONTAINER */\\n\\t.mx-input-wrapper {\\n\\t\\t// input\\n\\t\\t.mx-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tborder: 1px solid var(--color-border);\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tbackground-clip: content-box;\\n\\t\\t}\\n\\n\\t\\t&:disabled,\\n\\t\\t&.disabled {\\n\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\n\\t\\t.mx-icon-calendar,\\n\\t\\t.mx-icon-clear {\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\t}\\n}\\n\\n// Datepicker popup wrapper\\n.mx-datepicker-main {\\n\\tcolor: var(--color-main-text);\\n\\tborder: 1px solid var(--color-border);\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-family: var(--font-face) !important;\\n\\tline-height: 1.5;\\n\\n\\tsvg {\\n\\t\\tfill: var(--color-main-text);\\n\\t}\\n\\n\\t&.mx-datepicker-popup {\\n\\t\\tz-index: 2000;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\t.mx-datepicker-sidebar + .mx-datepicker-content {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\t}\\n\\t\\n\\t&.show-week-number .mx-calendar {\\n\\t\\twidth: $cell_height * 8 + 2 * 5px; // week number + 7 days + padding\\n\\t}\\n\\n\\t.mx-datepicker-header {\\n\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-datepicker-footer {\\n\\t\\tborder-top: 1px solid var(--color-border);\\n\\t}\\n\\n\\t// default popup styles\\n\\t.mx-calendar {\\n\\t\\twidth: $cell_height * 7 + 2 * 5px; // 7 days + padding\\n\\t\\tpadding: 5px;\\n\\t\\t&.mx-calendar-week-mode {\\n\\t\\t\\twidth: $cell_height * 8 + 2 * 5px; // week number + 7 days + padding\\n\\t\\t}\\n\\t}\\n\\n\\t.mx-time + .mx-time,\\n\\t.mx-calendar + .mx-calendar {\\n\\t\\tborder-left: 1px solid var(--color-border);\\n\\t}\\n\\n\\t.mx-range-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t// first active cell, range style on day picker panel only\\n\\t\\t.mx-calendar-content .mx-table-date .cell {\\n\\t\\t\\t&.active {\\n\\t\\t\\t\\tborder-radius: var(--border-radius) 0 0 var(--border-radius);\\n\\t\\t\\t}\\n\\t\\t\\t// second selected cell\\n\\t\\t\\t&.in-range + .cell.active {\\n\\t\\t\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Various panels\\n\\t.mx-table {\\n\\t\\ttext-align: center;\\n\\n\\t\\tthead > tr > th {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\n\\t\\t// Override table rule from server\\n\\t\\ttr:focus,\\n\\t\\ttr:hover,\\n\\t\\ttr:active {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\n\\t\\t// regular cell style\\n\\t\\t.cell {\\n\\t\\t\\ttransition: all 100ms ease-in-out;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\n\\t\\t\\t// force pointer on all content\\n\\t\\t\\t> * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Selected and mouse event\\n\\t\\t\\t&.today {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range,\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t\\t&.not-current-month {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// hover-/focus after the other rules\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&.actived,\\n\\t\\t\\t&.active,\\n\\t\\t\\t&.in-range {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-week-number {\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tborder-radius: 50px;\\n\\t\\t}\\n\\n\\t\\t// cell that are not in a table\\n\\t\\tspan.mx-week-number,\\n\\t\\tli.mx-week-number,\\n\\t\\tspan.cell,\\n\\t\\tli.cell {\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t}\\n\\n\\t\\t// Standard grid/flex layout for day/month/year panels\\n\\t\\t&.mx-table-date thead,\\n\\t\\t&.mx-table-date tbody,\\n\\t\\t&.mx-table-year,\\n\\t\\t&.mx-table-month {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\ttr {\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tflex: 1 1 $cell_height;\\n\\t\\t\\t\\tjustify-content: space-around;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t}\\n\\t\\t\\t// Default cell style\\n\\t\\t\\tth,\\n\\t\\t\\ttd {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\t// 3 rows with a little spacing\\n\\t\\t\\t\\tflex: 0 1 32%;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\t\\t// spacing between rows\\n\\t\\t\\t\\theight: 95%;\\n\\t\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\t\\ttransition: background 100ms ease-in-out;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-year {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: 48%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&.mx-table-date {\\n\\t\\t\\ttr th,\\n\\t\\t\\ttr td {\\n\\t\\t\\t\\t// only two rows in year panel\\n\\t\\t\\t\\tflex-basis: $cell_height;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// default buttons: header...\\n\\t.mx-btn {\\n\\t\\tmin-width: $cell_height;\\n\\t\\theight: $cell_height;\\n\\t\\tmargin: 0 auto; // center also single element\\n\\t\\tpadding: 7px 10px;\\n\\t\\tcursor: pointer;\\n\\t\\ttext-decoration: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder-radius: $cell_height;\\n\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\t\\t// Mouse feedback\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t}\\n\\t}\\n\\n\\t// Header, arrows, years, months\\n\\t.mx-calendar-header {\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: space-between;\\n\\t\\twidth: 100%;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin-bottom: 4px;\\n\\n\\t\\tbutton {\\n\\t\\t\\tmin-width: $cell_height;\\n\\t\\t\\tmin-height: $cell_height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\ttext-decoration: none;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\tborder-radius: $cell_height;\\n\\t\\t\\tline-height: $cell_height - 12px; // padding minus 2px for better visual\\n\\n\\t\\t\\t// Mouse feedback\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Header arrows\\n\\t\\t\\t&.mx-btn-icon-double-left,\\n\\t\\t\\t&.mx-btn-icon-left,\\n\\t\\t\\t&.mx-btn-icon-right,\\n\\t\\t\\t&.mx-btn-icon-double-right {\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tjustify-content: center;\\n\\t\\t\\t\\twidth: $cell_height;\\n\\t\\t\\t\\tpadding: 0; // leave the centering to flex\\n\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\tbackground-size: 16px;\\n\\t\\t\\t\\tbackground-position: center;\\n\\n\\t\\t\\t\\t// Hide original icons\\n\\t\\t\\t\\t> i {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-calendar-header-label {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-left {\\n\\t\\t\\tbackground-image: url('./chevron-double-left.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-double-left-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-left {\\n\\t\\t\\tbackground-image: url('./chevron-left.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-left-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-right {\\n\\t\\t\\tbackground-image: url('./chevron-right.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-right-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.mx-btn-icon-double-right {\\n\\t\\t\\tbackground-image: url('./chevron-double-right.svg');\\n\\t\\t\\tbody.theme--dark & {\\n\\t\\t\\t\\tbackground-image: url('./chevron-double-right-light.svg');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-right {\\n\\t\\t\\torder: 2;\\n\\t\\t}\\n\\n\\t\\tbutton.mx-btn-icon-double-right {\\n\\t\\t\\torder: 3;\\n\\t\\t}\\n\\t}\\n\\n\\t// Week panel\\n\\t.mx-calendar-week-mode {\\n\\t\\t// move focus on row and not on cell\\n\\t\\t.mx-date-row {\\n\\t\\t\\t.mx-week-number {\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\tborder-radius: 50px;\\n\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\t\\t&, &:hover, &:focus {\\n\\t\\t\\t\\t\\t\\tcolor: inherit;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&.mx-active-week {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t// Remove cell feedback on selected rows\\n\\t\\t\\t\\ttd {\\n\\t\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t\\t\\tfont-weight: normal;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Time panel\\n\\t.mx-time {\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\t.mx-time-header {\\n\\t\\t\\t// only one button, center it\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tborder-bottom: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-column {\\n\\t\\t\\tborder-left: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\t.mx-time-option,\\n\\t\\t.mx-time-item {\\n\\t\\t\\t&.active,\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.disabled {\\n\\t\\t\\t\\tcursor: not-allowed;\\n\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=D},,,,,,,,,,,,,,,function(t,n,e){\"use strict\";e.r(n);var r=e(68),i=e(4);function a(t,n){var e=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!e){if(Array.isArray(t)||(e=function(t,n){if(!t)return;if(\"string\"==typeof t)return o(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return o(t,n)}(t))||n&&t&&\"number\"==typeof t.length){e&&(t=e);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,T=!0,l=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return T=t.done,t},e:function(t){l=!0,a=t},f:function(){try{T||null==e.return||e.return()}finally{if(l)throw a}}}}function o(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */function T(t){return t.split(\"_\").join(\" \").replace(\"St \",\"St. \").split(\"/\").join(\" - \")}var l=e(79),s=e(46),A=e(80),c=Object(A.getLoggerBuilder)().detectUser().setApp(\"@nextcloud/vue\").build();function d(t){return function(t){if(Array.isArray(t))return u(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,n){if(!t)return;if(\"string\"==typeof t)return u(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return u(t,n)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function u(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}\n/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var E=Object(l.getTimezoneManager)(),m=!1,p=function(){return m||function(){for(var t in c.debug(\"Using version \".concat(s.version,\" of the timezone database\")),s.zones)if(Object.prototype.hasOwnProperty.call(s.zones,[t])){var n=[\"BEGIN:VTIMEZONE\",\"TZID:\"+t].concat(d(s.zones[t].ics),[\"END:VTIMEZONE\"]).join(\"\\r\\n\");E.registerTimezoneFromICS(t,n)}for(var e in s.aliases)Object.prototype.hasOwnProperty.call(s.aliases,[e])&&E.registerAlias(e,s.aliases[e].aliasTo);m=!0}(),E};function D(t,n){var e=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!e){if(Array.isArray(t)||(e=function(t,n){if(!t)return;if(\"string\"==typeof t)return S(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return S(t,n)}(t))||n&&t&&\"number\"==typeof t.length){e&&(t=e);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,o=!0,T=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return o=t.done,t},e:function(t){T=!0,a=t},f:function(){try{o||null==e.return||e.return()}finally{if(T)throw a}}}}function S(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var g={name:\"TimezonePicker\",components:{Multiselect:r.default},props:{additionalTimezones:{type:Array,default:function(){return[]}},value:{type:String,default:\"floating\"}},computed:{placeholder:function(){return Object(i.b)(\"Type to search time zone\")},selectedTimezone:function(){var t,n=D(this.additionalTimezones);try{for(n.s();!(t=n.n()).done;){var e=t.value;if(e.timezoneId===this.value)return e}}catch(t){n.e(t)}finally{n.f()}return{label:T(this.value),timezoneId:this.value}},options:function(){return function(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r={},o=[],l=a(n);try{for(l.s();!(t=l.n()).done;){var s=t.value,A=s.split(\"/\"),c=[A.shift(),A.join(\"/\")],d=c[0],u=c[1];u||(u=d,d=Object(i.b)(\"Global\")),r[d]=r[d]||{continent:d,regions:[]},r[d].regions.push({label:T(u),cities:[],timezoneId:s})}}catch(t){l.e(t)}finally{l.f()}var E,m=a(e);try{for(m.s();!(E=m.n()).done;){var p=E.value,D=p.continent,S=p.label,g=p.timezoneId;r[D]=r[D]||{continent:D,regions:[]},r[D].regions.push({label:S,cities:[],timezoneId:g})}}catch(t){m.e(t)}finally{m.f()}for(var N in r)Object.prototype.hasOwnProperty.call(r,N)&&(r[N].regions.sort((function(t,n){return t.label<n.label?-1:1})),o.push(r[N]));return o.sort((function(t,n){return t.continent<n.continent?-1:1})),o}(p().listAllTimezones(),this.additionalTimezones)}},methods:{change:function(t){t&&this.$emit(\"input\",t.timezoneId)}}},N=e(2),F=e.n(N),R=e(75),h={insert:\"head\",singleton:!1},O=(F()(R.a,h),R.a.locals,e(3)),B=e(76),C=e.n(B),b=Object(O.a)(g,(function(){var t=this.$createElement;return(this._self._c||t)(\"Multiselect\",{attrs:{value:this.selectedTimezone,options:this.options,multiple:!1,\"group-select\":!1,placeholder:this.placeholder,\"group-values\":\"regions\",\"group-label\":\"continent\",\"track-by\":\"timezoneId\",label:\"label\",\"open-direction\":\"above\"},on:{input:this.change}})}),[],!1,null,\"5c87e24c\",null);\"function\"==typeof C.a&&C()(b);var f=b.exports;\n/**\n * @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author 2021 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */n.default=f},,,,,function(t,n,e){\"use strict\";e.r(n);var r=e(59),i=e(110),a=e.n(i),o=e(19),T=e(98),l={name:\"DatetimePicker\",components:{DatePicker:a.a,Popover:o.default,TimezonePicker:T.default},inheritAttrs:!1,props:{clearable:{type:Boolean,default:function(){return!1}},minuteStep:{type:Number,default:function(){return 10}},type:{type:String,default:\"date\"},format:{type:String,default:function(){var t={date:\"YYYY-MM-DD\",datetime:\"YYYY-MM-DD H:mm:ss\",year:\"YYYY\",month:\"YYYY-MM\",time:\"H:mm:ss\",week:\"w\"};return t[this.type]||t.date}},formatter:{type:Object,default:function(){return null}},value:{default:function(){return new Date}},timezoneId:{type:String,default:\"UTC\"},showTimezoneSelect:{type:Boolean,default:!1},highlightTimezone:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},showWeekNumber:{type:Boolean,default:!1}},data:function(){return{showTimezonePopover:!1,tzVal:this.timezoneId}},methods:{handleSelectYear:function(t){var n=this.$refs.datepicker.currentValue;if(n)try{var e=new Date(new Date(n).setFullYear(t));this.$refs.datepicker.selectDate(e)}catch(e){console.error(\"Invalid value\",n,t)}},handleSelectMonth:function(t){var n=this.$refs.datepicker.currentValue;if(n)try{var e=new Date(new Date(n).setMonth(t));this.$refs.datepicker.selectDate(e)}catch(e){console.error(\"Invalid value\",n,t)}},toggleTimezonePopover:function(){this.showTimezoneSelect&&(this.showTimezonePopover=!this.showTimezonePopover)}}},s=e(2),A=e.n(s),c=e(81),d={insert:\"head\",singleton:!1},u=(A()(c.a,d),c.a.locals,e(3)),E=e(82),m=e.n(E),p=Object(u.a)(l,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"DatePicker\",t._g(t._b({ref:\"datepicker\",attrs:{clearable:t.clearable,\"minute-step\":t.minuteStep,format:t.format,formatter:t.formatter,type:t.type,value:t.value,\"append-to-body\":t.appendToBody,\"show-week-number\":t.showWeekNumber,\"popup-class\":{\"show-week-number\":t.showWeekNumber}},on:{\"select-year\":t.handleSelectYear,\"select-month\":t.handleSelectMonth,\"update:value\":function(n){return t.$emit(\"update:value\",t.value)}},scopedSlots:t._u([t.showTimezoneSelect?{key:\"icon-calendar\",fn:function(){return[e(\"Popover\",{attrs:{open:t.showTimezonePopover,\"open-class\":\"timezone-popover-wrapper\"},on:{\"update:open\":function(n){t.showTimezonePopover=n}},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[e(\"button\",{staticClass:\"datetime-picker-inline-icon icon-timezone icon\",class:{\"datetime-picker-inline-icon--highlighted\":t.highlightTimezone},on:{mousedown:function(t){t.stopPropagation(),t.preventDefault()}}})]},proxy:!0}],null,!1,3073042688)},[t._v(\" \"),e(\"div\",{staticClass:\"timezone-popover-wrapper__title\"},[e(\"strong\",[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.t(\"Please select a time zone:\"))+\"\\n\\t\\t\\t\\t\")])]),t._v(\" \"),e(\"TimezonePicker\",{staticClass:\"timezone-popover-wrapper__timezone-select\",on:{input:function(n){return t.$emit(\"update:timezone-id\",arguments[0])}},model:{value:t.tzVal,callback:function(n){t.tzVal=n},expression:\"tzVal\"}})],1)]},proxy:!0}:null,t._l(t.$scopedSlots,(function(n,e){return{key:e,fn:function(n){return[t._t(e,null,null,n)]}}}))],null,!0)},\"DatePicker\",t.$attrs,!1),t.$listeners))}),[],!1,null,\"e196afc6\",null);\"function\"==typeof m.a&&m()(p);var D=p.exports,S=e(83),g={insert:\"head\",singleton:!1};A()(S.a,g),S.a.locals;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nObject(r.a)(D);n.default=D},,,,,,,function(t,n){t.exports=require(\"vue2-datepicker\")},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE4LjQgNy40TDE3IDZsLTYgNiA2IDYgMS40LTEuNC00LjYtNC42IDQuNi00LjZtLTYgMEwxMSA2bC02IDYgNiA2IDEuNC0xLjRMNy44IDEybDQuNi00LjZ6Ii8+PC9zdmc+\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg==\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTE1LjQgMTYuNkwxMC44IDEybDQuNi00LjZMMTQgNmwtNiA2IDYgNiAxLjQtMS40eiIvPjwvc3ZnPg==\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4=\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTguNiAxNi42bDQuNi00LjYtNC42LTQuNkwxMCA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4=\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iIzIyMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4=\"},function(t,n,e){\"use strict\";n.a=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0iI2QyZDJkMiI+PHBhdGggZD0iTTUuNiA3LjRMNyA2bDYgNi02IDYtMS40LTEuNCA0LjYtNC42LTQuNi00LjZtNiAwTDEzIDZsNiA2LTYgNi0xLjQtMS40IDQuNi00LjYtNC42LTQuNnoiLz48L3N2Zz4=\"},,,,,,,,,,,,function(t,n,e){\"use strict\";var r=e(0),i=e.n(r),a=e(1),o=e.n(a)()(i.a);o.push([t.i,\".material-design-icon[data-v-56a0ce5b]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-56a0ce5b],input[data-v-56a0ce5b]:not([type='range']),textarea[data-v-56a0ce5b]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-56a0ce5b]:not(:disabled):not(.primary):hover,button[data-v-56a0ce5b]:not(:disabled):not(.primary):focus,button:not(:disabled):not(.primary).active[data-v-56a0ce5b],input[data-v-56a0ce5b]:not([type='range']):not(:disabled):not(.primary):hover,input[data-v-56a0ce5b]:not([type='range']):not(:disabled):not(.primary):focus,input:not([type='range']):not(:disabled):not(.primary).active[data-v-56a0ce5b],textarea[data-v-56a0ce5b]:not(:disabled):not(.primary):hover,textarea[data-v-56a0ce5b]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-56a0ce5b]{border-color:var(--color-primary-element);outline:none}button[data-v-56a0ce5b]:not(:disabled):not(.primary):active,input[data-v-56a0ce5b]:not([type='range']):not(:disabled):not(.primary):active,textarea[data-v-56a0ce5b]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-56a0ce5b]:disabled,input[data-v-56a0ce5b]:not([type='range']):disabled,textarea[data-v-56a0ce5b]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-56a0ce5b]:required,input[data-v-56a0ce5b]:not([type='range']):required,textarea[data-v-56a0ce5b]:required{box-shadow:none}button[data-v-56a0ce5b]:invalid,input[data-v-56a0ce5b]:not([type='range']):invalid,textarea[data-v-56a0ce5b]:invalid{border-color:var(--color-error);box-shadow:none !important}button.primary[data-v-56a0ce5b],input:not([type='range']).primary[data-v-56a0ce5b],textarea.primary[data-v-56a0ce5b]{cursor:pointer;color:var(--color-primary-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button.primary[data-v-56a0ce5b]:not(:disabled):hover,button.primary[data-v-56a0ce5b]:not(:disabled):focus,button.primary[data-v-56a0ce5b]:not(:disabled):active,input:not([type='range']).primary[data-v-56a0ce5b]:not(:disabled):hover,input:not([type='range']).primary[data-v-56a0ce5b]:not(:disabled):focus,input:not([type='range']).primary[data-v-56a0ce5b]:not(:disabled):active,textarea.primary[data-v-56a0ce5b]:not(:disabled):hover,textarea.primary[data-v-56a0ce5b]:not(:disabled):focus,textarea.primary[data-v-56a0ce5b]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button.primary[data-v-56a0ce5b]:not(:disabled):active,input:not([type='range']).primary[data-v-56a0ce5b]:not(:disabled):active,textarea.primary[data-v-56a0ce5b]:not(:disabled):active{color:var(--color-primary-text-dark)}button.primary[data-v-56a0ce5b]:disabled,input:not([type='range']).primary[data-v-56a0ce5b]:disabled,textarea.primary[data-v-56a0ce5b]:disabled{cursor:default;color:var(--color-primary-text-dark);background-color:var(--color-primary-element)}li.active[data-v-56a0ce5b]{background-color:var(--color-background-hover)}.action--disabled[data-v-56a0ce5b]{pointer-events:none;opacity:.5}.action--disabled[data-v-56a0ce5b]:hover,.action--disabled[data-v-56a0ce5b]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-56a0ce5b]{opacity:1 !important}.action-input[data-v-56a0ce5b]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal}.action-input[data-v-56a0ce5b] .material-design-icon{width:44px;height:44px;opacity:1}.action-input[data-v-56a0ce5b] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-input[data-v-56a0ce5b]:not(.action-input--picker){opacity:.7}.action-input[data-v-56a0ce5b]:not(.action-input--picker):hover,.action-input[data-v-56a0ce5b]:not(.action-input--picker):focus{opacity:1}.action-input--picker .action-input__icon[data-v-56a0ce5b]{opacity:.7}.action-input--picker:hover .action-input__icon[data-v-56a0ce5b],.action-input--picker:focus .action-input__icon[data-v-56a0ce5b]{opacity:1}.action-input>span[data-v-56a0ce5b]{cursor:pointer;white-space:nowrap}.action-input__icon[data-v-56a0ce5b]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-input__form[data-v-56a0ce5b]{display:flex;align-items:center;flex:1 1 auto;margin:4px 0;padding-right:14px}.action-input__submit[data-v-56a0ce5b]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-input__label[data-v-56a0ce5b]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;box-sizing:border-box;margin:0 0 0 -8px;padding:7px 6px;opacity:1;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-left-color:transparent;border-radius:0 var(--border-radius) var(--border-radius) 0;background-color:var(--color-main-background);background-clip:padding-box}.action-input__label[data-v-56a0ce5b],.action-input__label *[data-v-56a0ce5b]{cursor:pointer}.action-input__input[data-v-56a0ce5b]{flex:1 1 auto;min-width:132px;min-height:36px;max-height:36px;margin:0}.action-input__input[data-v-56a0ce5b]:disabled{cursor:default}.action-input__input:not(:active):not(:hover):not(:focus):invalid+.action-input__label[data-v-56a0ce5b]{border-color:var(--color-error);border-left-color:transparent}.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-56a0ce5b]:active,.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-56a0ce5b]:hover,.action-input__input:not(:active):not(:hover):not(:focus):not(:disabled)+.action-input__label[data-v-56a0ce5b]:focus{border-color:var(--color-primary-element);border-radius:var(--border-radius)}.action-input__input:active:not(:disabled)+.action-input__label[data-v-56a0ce5b],.action-input__input:hover:not(:disabled)+.action-input__label[data-v-56a0ce5b],.action-input__input:focus:not(:disabled)+.action-input__label[data-v-56a0ce5b]{z-index:2;border-color:var(--color-primary-element);border-left-color:transparent}.action-input__picker[data-v-56a0ce5b] .mx-input{margin:0}.action-input__multi[data-v-56a0ce5b]{width:100%}li:last-child>.action-input[data-v-56a0ce5b]{padding-bottom:10px}li:first-child>.action-input[data-v-56a0ce5b]{padding-top:10px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/inputs.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../assets/action.scss\",\"webpack://./ActionInput.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,6FCuBA,QAAS,CACT,eAAgB,CAEhB,WAAY,CAEZ,+BAAgC,CAChC,yCAA0C,CAC1C,kCAAmC,CACnC,YAAa,CACb,6CAA8C,CAE9C,cAAe,CAdhB,qlBAqBG,yCAA0C,CAC1C,YAAa,CAtBhB,yMA0BG,6BAA8B,CAC9B,YAAa,CACb,6CAA8C,CA5BjD,wHAiCE,cAAe,CACf,UCrBmB,CDsBnB,mCAAoC,CACpC,6CAA8C,CApChD,wHAwCE,eAAgB,CAxClB,qHA4CE,+BAAgC,CAChC,0BAA2B,CA7C7B,qHAkDE,cAAe,CACf,+BAAgC,CAChC,yCAA0C,CAC1C,6CAA8C,CArDhD,+hBA2DI,+CAAgD,CAChD,mDAAoD,CA5DxD,uLA+DI,oCAAqC,CA/DzC,gJAoEG,cAAe,CACf,oCAAqC,CAErC,6CAA8C,CAC9C,2BE3EA,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UDQmB,CCVpB,kFAIE,cAAe,CACf,UDKkB,CCVpB,qCAQE,oBAAqB,CCqNxB,+BACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CAlBpB,qDAqBE,UFzPmB,CE0PnB,WF1PmB,CE2PnB,SFxOc,CEiNhB,gFA0BG,qBAAsB,CA1BzB,0DAgCE,UFlPiB,CEkNnB,gIAmCG,SFpPa,CEqPb,2DAMA,UF5PgB,CE0PjB,kIAMC,SF/Pa,CEiNhB,oCAmDE,cAAe,CACf,kBAAmB,CACnB,qCAGA,WAAY,CACZ,YAAa,CAGb,wBFhSmB,CEkSnB,+BAA2C,CAC3C,oBF/Rc,CEgSd,qCAIA,YAAa,CACb,kBAAmB,CACnB,aAAc,CAEd,YAAuB,CACvB,kBFrS8C,CEsS9C,uCAGA,iBAAkB,CAClB,aAAc,CACd,QAAS,CACT,SAAU,CACV,UAAW,CACX,eAAgB,CAChB,sCAGA,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CAEvB,UAAO,CACP,WAAQ,CACR,qBAAsB,CACtB,iBAAkB,CAClB,eAAgB,CAEhB,SFjTc,CEkTd,+BAAgC,CAChC,yCAA0C,CAC1C,6BAA8B,CAC9B,2DAA4D,CAE5D,6CAA8C,CAC9C,2BAA4B,CAlB5B,8EAqBC,cAAe,CACf,sCAKD,aAAc,CAEd,eAA8B,CAC9B,eAAY,CACZ,eAAY,CACZ,QAAS,CANT,+CAUC,cAAe,CAVhB,wGAiBG,+BAAgC,CAChC,6BAA8B,CAlBjC,gWAyBG,yCAA0C,CAC1C,kCAAmC,CA1BtC,iPAmCE,SAAU,CAEV,yCAA0C,CAC1C,6BAA8B,CAC9B,iDAMD,QAAS,CACT,sCAID,UAAW,CACX,6CAOD,mBAA4C,CAC5C,8CAIA,gBAAyC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton,\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-input {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// do not change the opacity of the datepicker\\n\\t&:not(.action-input--picker) {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t// only change for the icon then\\n\\t&--picker {\\n\\t\\t.action-input__icon {\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t}\\n\\t\\t&:hover .action-input__icon,\\n\\t\\t&:focus .action-input__icon {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0 0 0 -8px;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tborder-left-color: transparent;\\n\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__input {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-width: $clickable-area * 3;\\n\\t\\tmin-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-input__label {\\n\\t\\t\\t\\t\\tborder-color: var(--color-error);\\n\\t\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tborder-radius: var(--border-radius);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-input__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__picker::v-deep {\\n\\t\\t.mx-input {\\n\\t\\t\\tmargin: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__multi {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-input {\\n\\tpadding-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-input {\\n\\tpadding-top: $icon-margin - $input-margin;\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=o},function(t,n){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,n,e){\"use strict\";e.r(n);var r=e(72),i=e.n(r),a=e(27),o=e(17),T=e(103),l=e(68),s={name:\"ActionInput\",components:{ArrowRight:i.a,DatetimePicker:T.default,Multiselect:l.default},mixins:[a.a],props:{id:{type:String,default:function(){return\"action-\"+Object(o.a)()},validator:function(t){return\"\"!==t.trim()}},icon:{type:String,default:\"\",required:!0},type:{type:String,default:\"text\",validator:function(t){return[\"date\",\"datetime-local\",\"month\",\"multiselect\",\"number\",\"password\",\"search\",\"tel\",\"text\",\"time\",\"url\",\"week\",\"color\",\"email\"].indexOf(t)>-1}},value:{type:[String,Date,Number],default:\"\"},disabled:{type:Boolean,default:!1}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}},isMultiselectType:function(){return\"multiselect\"===this.type},isDatePickerType:function(){switch(this.type){case\"date\":case\"month\":case\"time\":return this.type;case\"datetime-local\":return\"datetime\"}return!1},isFocusable:function(){return!this.disabled}},methods:{onLeave:function(){this.$refs.datetimepicker&&this.$refs.datetimepicker.$refs.datepicker&&this.$refs.datetimepicker.$refs.datepicker.closePopup()},onInput:function(t){this.$emit(\"input\",t),this.$emit(\"update:value\",t.target?t.target.value:t)},onSubmit:function(t){if(t.preventDefault(),t.stopPropagation(),this.disabled)return!1;this.$emit(\"submit\",t)},onChange:function(t){this.$emit(\"change\",t)}}},A=e(2),c=e.n(A),d=e(130),u={insert:\"head\",singleton:!1},E=(c()(d.a,u),d.a.locals,e(3)),m=e(131),p=e.n(m),D=Object(E.a)(s,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-input\",class:{\"action-input--picker\":t.isDatePickerType,\"action-input-picker--disabled\":t.disabled},on:{mouseleave:t.onLeave}},[t._t(\"icon\",[e(\"span\",{staticClass:\"action-input__icon\",class:[t.isIconUrl?\"action-input__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}})]),t._v(\" \"),e(\"form\",{ref:\"form\",staticClass:\"action-input__form\",attrs:{disabled:t.disabled},on:{submit:function(n){return n.preventDefault(),t.onSubmit(n)}}},[t.isDatePickerType?e(\"DatetimePicker\",t._b({ref:\"datetimepicker\",staticClass:\"action-input__picker\",attrs:{value:t.value,placeholder:t.text,disabled:t.disabled,type:t.isDatePickerType,\"input-class\":[\"mx-input\",{focusable:t.isFocusable}]},on:{input:t.onInput,change:t.onChange}},\"DatetimePicker\",t.$attrs,!1)):t.isMultiselectType?e(\"Multiselect\",t._g(t._b({staticClass:\"action-input__multi\",class:{focusable:t.isFocusable},attrs:{value:t.value,placeholder:t.text,disabled:t.disabled}},\"Multiselect\",t.$attrs,!1),t.$listeners)):[e(\"input\",{staticClass:\"action-input__submit\",attrs:{id:t.id,type:\"submit\"}}),t._v(\" \"),e(\"input\",t._b({staticClass:\"action-input__input\",class:{focusable:t.isFocusable},attrs:{type:t.type,placeholder:t.text,disabled:t.disabled},domProps:{value:t.value},on:{input:t.onInput,change:t.onChange}},\"input\",t.$attrs,!1)),t._v(\" \"),e(\"label\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.disabled,expression:\"!disabled\"}],staticClass:\"action-input__label\",attrs:{for:t.id}},[e(\"ArrowRight\",{attrs:{size:24,title:\"\",decorative:\"\"}})],1)]],2)],2)])}),[],!1,null,\"56a0ce5b\",null);\"function\"==typeof p.a&&p()(D);var S=D.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=S}])}));\n//# sourceMappingURL=ActionInput.js.map","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionTextEditable\",[],n):\"object\"==typeof exports?exports[\"Components/ActionTextEditable\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionTextEditable\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var a=n[o]={i:o,l:!1,exports:{}};return t[o].call(a.exports,a,a.exports,e),a.l=!0,a.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var a in t)e.d(o,a,function(n){return t[n]}.bind(null,a));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=210)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,a,r=[],i=!0,c=!1;try{for(e=e.call(t);!(i=(o=e.next()).done)&&(r.push(o.value),!n||r.length!==n);i=!0);}catch(t){c=!0,a=t}finally{try{i||null==e.return||e.return()}finally{if(c)throw a}}return r}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return a(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return a(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function a(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],a=n[3];if(!a)return e;if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),i=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),c=\"/*# \".concat(i,\" */\"),l=a.sources.map((function(t){return\"/*# sourceURL=\".concat(a.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(l).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var a={};if(o)for(var r=0;r<this.length;r++){var i=this[r][0];null!=i&&(a[i]=!0)}for(var c=0;c<t.length;c++){var l=[].concat(t[c]);o&&a[l[0]]||(e&&(l[2]?l[2]=\"\".concat(e,\" and \").concat(l[2]):l[2]=e),n.push(l))}},n}},136:function(t,n,e){\"use strict\";var o=e(0),a=e.n(o),r=e(1),i=e.n(r)()(a.a);i.push([t.i,\".material-design-icon[data-v-0f3c4318]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}button[data-v-0f3c4318],input[data-v-0f3c4318]:not([type='range']),textarea[data-v-0f3c4318]{margin:0;padding:7px 6px;cursor:text;color:var(--color-text-lighter);border:1px solid var(--color-border-dark);border-radius:var(--border-radius);outline:none;background-color:var(--color-main-background);font-size:13px}button[data-v-0f3c4318]:not(:disabled):not(.primary):hover,button[data-v-0f3c4318]:not(:disabled):not(.primary):focus,button:not(:disabled):not(.primary).active[data-v-0f3c4318],input[data-v-0f3c4318]:not([type='range']):not(:disabled):not(.primary):hover,input[data-v-0f3c4318]:not([type='range']):not(:disabled):not(.primary):focus,input:not([type='range']):not(:disabled):not(.primary).active[data-v-0f3c4318],textarea[data-v-0f3c4318]:not(:disabled):not(.primary):hover,textarea[data-v-0f3c4318]:not(:disabled):not(.primary):focus,textarea:not(:disabled):not(.primary).active[data-v-0f3c4318]{border-color:var(--color-primary-element);outline:none}button[data-v-0f3c4318]:not(:disabled):not(.primary):active,input[data-v-0f3c4318]:not([type='range']):not(:disabled):not(.primary):active,textarea[data-v-0f3c4318]:not(:disabled):not(.primary):active{color:var(--color-text-light);outline:none;background-color:var(--color-main-background)}button[data-v-0f3c4318]:disabled,input[data-v-0f3c4318]:not([type='range']):disabled,textarea[data-v-0f3c4318]:disabled{cursor:default;opacity:.5;color:var(--color-text-maxcontrast);background-color:var(--color-background-dark)}button[data-v-0f3c4318]:required,input[data-v-0f3c4318]:not([type='range']):required,textarea[data-v-0f3c4318]:required{box-shadow:none}button[data-v-0f3c4318]:invalid,input[data-v-0f3c4318]:not([type='range']):invalid,textarea[data-v-0f3c4318]:invalid{border-color:var(--color-error);box-shadow:none !important}button.primary[data-v-0f3c4318],input:not([type='range']).primary[data-v-0f3c4318],textarea.primary[data-v-0f3c4318]{cursor:pointer;color:var(--color-primary-text);border-color:var(--color-primary-element);background-color:var(--color-primary-element)}button.primary[data-v-0f3c4318]:not(:disabled):hover,button.primary[data-v-0f3c4318]:not(:disabled):focus,button.primary[data-v-0f3c4318]:not(:disabled):active,input:not([type='range']).primary[data-v-0f3c4318]:not(:disabled):hover,input:not([type='range']).primary[data-v-0f3c4318]:not(:disabled):focus,input:not([type='range']).primary[data-v-0f3c4318]:not(:disabled):active,textarea.primary[data-v-0f3c4318]:not(:disabled):hover,textarea.primary[data-v-0f3c4318]:not(:disabled):focus,textarea.primary[data-v-0f3c4318]:not(:disabled):active{border-color:var(--color-primary-element-light);background-color:var(--color-primary-element-light)}button.primary[data-v-0f3c4318]:not(:disabled):active,input:not([type='range']).primary[data-v-0f3c4318]:not(:disabled):active,textarea.primary[data-v-0f3c4318]:not(:disabled):active{color:var(--color-primary-text-dark)}button.primary[data-v-0f3c4318]:disabled,input:not([type='range']).primary[data-v-0f3c4318]:disabled,textarea.primary[data-v-0f3c4318]:disabled{cursor:default;color:var(--color-primary-text-dark);background-color:var(--color-primary-element)}li.active[data-v-0f3c4318]{background-color:var(--color-background-hover)}.action--disabled[data-v-0f3c4318]{pointer-events:none;opacity:.5}.action--disabled[data-v-0f3c4318]:hover,.action--disabled[data-v-0f3c4318]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-0f3c4318]{opacity:1 !important}.action-text-editable[data-v-0f3c4318]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-text-editable[data-v-0f3c4318]:hover,.action-text-editable[data-v-0f3c4318]:focus{opacity:1}.action-text-editable>span[data-v-0f3c4318]{cursor:pointer;white-space:nowrap}.action-text-editable__icon[data-v-0f3c4318]{min-width:0;min-height:0;padding:22px 0 22px 44px;background-position:14px center;background-size:16px}.action-text-editable__form[data-v-0f3c4318]{display:flex;flex:1 1 auto;flex-direction:column;position:relative;margin:4px 0;padding-right:14px}.action-text-editable__submit[data-v-0f3c4318]{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.action-text-editable__label[data-v-0f3c4318]{display:flex;align-items:center;justify-content:center;position:absolute;right:15px;bottom:1px;width:36px;height:36px;box-sizing:border-box;margin:0;padding:7px 6px;opacity:1;color:var(--color-text-lighter);border:0;border-radius:50%;background-color:var(--color-main-background);background-clip:padding-box}.action-text-editable__label[data-v-0f3c4318],.action-text-editable__label *[data-v-0f3c4318]{cursor:pointer}.action-text-editable__textarea[data-v-0f3c4318]{flex:1 1 auto;min-height:80px;max-height:124px;min-width:176px;width:100% !important;margin:0}.action-text-editable__textarea[data-v-0f3c4318]:disabled{cursor:default}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):invalid+.action-text-editable__label[data-v-0f3c4318]{background-color:var(--color-error)}.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-0f3c4318]:active,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-0f3c4318]:hover,.action-text-editable__textarea:not(:active):not(:hover):not(:focus):not(:disabled)+.action-text-editable__label[data-v-0f3c4318]:focus{background-color:var(--color-primary-element);color:var(--color-primary-text)}.action-text-editable__textarea:active:not(:disabled)+.action-text-editable__label[data-v-0f3c4318],.action-text-editable__textarea:hover:not(:disabled)+.action-text-editable__label[data-v-0f3c4318],.action-text-editable__textarea:focus:not(:disabled)+.action-text-editable__label[data-v-0f3c4318]{z-index:2;border-color:var(--color-primary-element);border-left-color:transparent}li:last-child>.action-text-editable[data-v-0f3c4318]{margin-bottom:10px}li:first-child>.action-text-editable[data-v-0f3c4318]{margin-top:10px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/inputs.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./../../assets/action.scss\",\"webpack://./ActionTextEditable.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,6FCuBA,QAAS,CACT,eAAgB,CAEhB,WAAY,CAEZ,+BAAgC,CAChC,yCAA0C,CAC1C,kCAAmC,CACnC,YAAa,CACb,6CAA8C,CAE9C,cAAe,CAdhB,qlBAqBG,yCAA0C,CAC1C,YAAa,CAtBhB,yMA0BG,6BAA8B,CAC9B,YAAa,CACb,6CAA8C,CA5BjD,wHAiCE,cAAe,CACf,UCrBmB,CDsBnB,mCAAoC,CACpC,6CAA8C,CApChD,wHAwCE,eAAgB,CAxClB,qHA4CE,+BAAgC,CAChC,0BAA2B,CA7C7B,qHAkDE,cAAe,CACf,+BAAgC,CAChC,yCAA0C,CAC1C,6CAA8C,CArDhD,+hBA2DI,+CAAgD,CAChD,mDAAoD,CA5DxD,uLA+DI,oCAAqC,CA/DzC,gJAoEG,cAAe,CACf,oCAAqC,CAErC,6CAA8C,CAC9C,2BE3EA,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UDQmB,CCVpB,kFAIE,cAAe,CACf,UDKkB,CCVpB,qCAQE,oBAAqB,CC0HxB,uCACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,UFnIkB,CEoIlB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBF7JoB,CEyIrB,0FAwBE,SF9Ic,CEsHhB,4CA4BE,cAAe,CACf,kBAAmB,CACnB,6CAGA,WAAY,CACZ,YAAa,CAGb,wBF9KmB,CEgLnB,+BAA2C,CAC3C,oBF7Kc,CE8Kd,6CAIA,YAAa,CACb,aAAc,CACd,qBAAsB,CAEtB,iBAAkB,CAClB,YAAuB,CACvB,kBFpL8C,CEqL9C,+CAGA,iBAAkB,CAClB,aAAc,CACd,QAAS,CACT,SAAU,CACV,UAAW,CACX,eAAgB,CAChB,8CAGA,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CAGvB,iBAAkB,CAClB,UAAuB,CACvB,UAAW,CACX,UAAO,CACP,WAAQ,CACR,qBAAsB,CACtB,QAAS,CACT,eAAgB,CAEhB,SFpMc,CEqMd,+BAAgC,CAChC,QAAS,CACT,iBAAkB,CAElB,6CAA8C,CAC9C,2BAA4B,CArB5B,8FAwBC,cAAe,CACf,iDAKD,aAAc,CAEd,eAAY,CACZ,gBAAY,CAEZ,eAA8B,CAC9B,qBAAsB,CACtB,QAAS,CART,0DAYC,cAAe,CAZhB,2HAmBG,mCAAoC,CAnBvC,yZA0BG,6CAA8C,CAC9C,+BAAgC,CA3BnC,0SAoCE,SAAU,CAEV,yCAA0C,CAC1C,6BAA8B,CAC9B,qDASH,kBAA2C,CAC3C,sDAIA,eAAwC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n/**\\n * color-text-lighter\\t\\tnormal state\\n * color-text-lighter\\t\\tactive state\\n * color-text-maxcontrast \\tdisabled state\\n */\\n\\n/* Default global values */\\nbutton,\\ninput:not([type='range']),\\ntextarea {\\n\\tmargin: 0;\\n\\tpadding: 7px 6px;\\n\\n\\tcursor: text;\\n\\n\\tcolor: var(--color-text-lighter);\\n\\tborder: 1px solid var(--color-border-dark);\\n\\tborder-radius: var(--border-radius);\\n\\toutline: none;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\tfont-size: 13px;\\n\\n\\t&:not(:disabled):not(.primary) {\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&.active {\\n\\t\\t\\t/* active class used for multiselect */\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\toutline: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tcolor: var(--color-text-light);\\n\\t\\t\\toutline: none;\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t}\\n\\t}\\n\\n\\t&:disabled {\\n\\t\\tcursor: default;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&:required {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&:invalid {\\n\\t\\tborder-color: var(--color-error);\\n\\t\\tbox-shadow: none !important;\\n\\t}\\n\\n\\t/* Primary action button, use sparingly */\\n\\t&.primary {\\n\\t\\tcursor: pointer;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\n\\t\\t&:not(:disabled) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tborder-color: var(--color-primary-element-light);\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light);\\n\\t\\t\\t}\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tcolor: var(--color-primary-text-dark);\\n\\t\\t\\t// opacity is already defined to .5 if disabled\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/inputs';\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n$input-margin: 4px;\\n\\n.action-text-editable {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\topacity: $opacity_normal;\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\topacity: $opacity_full;\\n\\t}\\n\\n\\t& > span {\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\tmin-height: 0;\\n\\t\\t/* Keep padding to define the width to\\n\\t\\t\\tassure correct position of a possible text */\\n\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\n\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\tbackground-size: $icon-size;\\n\\t}\\n\\n\\t// Forms & text inputs\\n\\t&__form {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1 auto;\\n\\t\\tflex-direction: column;\\n\\n\\t\\tposition: relative;\\n\\t\\tmargin: $input-margin 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t}\\n\\n\\t&__submit {\\n\\t\\tposition: absolute;\\n\\t\\tleft: -10000px;\\n\\t\\ttop: auto;\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\n\\t\\t// bottom-right corner\\n\\t\\tposition: absolute;\\n\\t\\tright: $icon-margin + 1;\\n\\t\\tbottom: 1px;\\n\\t\\twidth: #{$clickable-area - $input-margin * 2};\\n\\t\\theight: #{$clickable-area - $input-margin * 2};\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 7px 6px;\\n\\n\\t\\topacity: $opacity_full;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 50%;\\n\\t\\t/* Avoid background under border */\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-clip: padding-box;\\n\\n\\t\\t&, * {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Inputs inside popover supports text, submit & reset */\\n\\t&__textarea {\\n\\t\\tflex: 1 1 auto;\\n\\n\\t\\tmin-height: #{$clickable-area * 2 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\tmax-height: #{$clickable-area * 3 - $input-margin * 2}; /* twice the element margin-y */\\n\\t\\t// block width widening\\n\\t\\tmin-width: $clickable-area * 4;\\n\\t\\twidth: 100% !important;\\n\\t\\tmargin: 0;\\n\\n\\t\\t// if disabled, change cursor\\n\\t\\t&:disabled {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\n\\t\\t/* only show confirm borders if input is not focused */\\n\\t\\t&:not(:active):not(:hover):not(:focus) {\\n\\t\\t\\t&:invalid {\\n\\t\\t\\t\\t& + .action-text-editable__label {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t&:active,\\n\\t\\t\\t\\t&:hover,\\n\\t\\t\\t\\t&:focus {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:active,\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\t&:not(:disabled) + .action-text-editable__label {\\n\\t\\t\\t\\t/* above previous input */\\n\\t\\t\\t\\tz-index: 2;\\n\\n\\t\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t\\t\\tborder-left-color: transparent;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n// if a form is the last of the list\\n// add the same bottomMargin as the right padding\\n// for visual balance\\nli:last-child > .action-text-editable {\\n\\tmargin-bottom: $icon-margin - $input-margin;\\n}\\n\\n// same for first item\\nli:first-child > .action-text-editable {\\n\\tmargin-top: $icon-margin - $input-margin;\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=i},137:function(t,n){},17:function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},2:function(t,n,e){\"use strict\";var o,a=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),i=[];function c(t){for(var n=-1,e=0;e<i.length;e++)if(i[e].identifier===t){n=e;break}return n}function l(t,n){for(var e={},o=[],a=0;a<t.length;a++){var r=t[a],l=n.base?r[0]+n.base:r[0],s=e[l]||0,d=\"\".concat(l,\" \").concat(s);e[l]=s+1;var u=c(d),p={css:r[1],media:r[2],sourceMap:r[3]};-1!==u?(i[u].references++,i[u].updater(p)):i.push({identifier:d,updater:m(p,n),references:1}),o.push(d)}return o}function s(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var a=e.nc;a&&(o.nonce=a)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var i=r(t.insert||\"head\");if(!i)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");i.appendChild(n)}return n}var d,u=(d=[],function(t,n){return d[t]=n,d.filter(Boolean).join(\"\\n\")});function p(t,n,e,o){var a=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=u(n,a);else{var r=document.createTextNode(a),i=t.childNodes;i[n]&&t.removeChild(i[n]),i.length?t.insertBefore(r,i[n]):t.appendChild(r)}}function f(t,n,e){var o=e.css,a=e.media,r=e.sourceMap;if(a?t.setAttribute(\"media\",a):t.removeAttribute(\"media\"),r&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var b=null,A=0;function m(t,n){var e,o,a;if(n.singleton){var r=A++;e=b||(b=s(n)),o=p.bind(null,e,r,!1),a=p.bind(null,e,r,!0)}else e=s(n),o=f.bind(null,e,n),a=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else a()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=a());var e=l(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var a=c(e[o]);i[a].references--}for(var r=l(t,n),s=0;s<e.length;s++){var d=c(e[s]);0===i[d].references&&(i[d].updater(),i.splice(d,1))}e=r}}}},210:function(t,n,e){\"use strict\";e.r(n);var o=e(72),a=e.n(o),r=e(32),i=e(17),c={name:\"ActionTextEditable\",components:{ArrowRight:a.a},mixins:[r.a],props:{id:{type:String,default:function(){return\"action-\"+Object(i.a)()},validator:function(t){return\"\"!==t.trim()}},disabled:{type:Boolean,default:!1},value:{type:String,default:\"\"}},computed:{isFocusable:function(){return!this.disabled}},methods:{onInput:function(t){this.$emit(\"input\",t),this.$emit(\"update:value\",t.target.value)},onSubmit:function(t){if(t.preventDefault(),t.stopPropagation(),this.disabled)return!1;this.$emit(\"submit\",t)}}},l=e(2),s=e.n(l),d=e(136),u={insert:\"head\",singleton:!1},p=(s()(d.a,u),d.a.locals,e(3)),f=e(137),b=e.n(f),A=Object(p.a)(c,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-text-editable\",on:{click:t.onClick}},[e(\"span\",{staticClass:\"action-text-editable__icon\",class:[t.isIconUrl?\"action-text-editable__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}}),t._v(\" \"),e(\"form\",{ref:\"form\",staticClass:\"action-text-editable__form\",attrs:{disabled:t.disabled},on:{submit:function(n){return n.preventDefault(),t.onSubmit(n)}}},[e(\"input\",{staticClass:\"action-text-editable__submit\",attrs:{id:t.id,type:\"submit\"}}),t._v(\" \"),t.title?e(\"strong\",{staticClass:\"action-text__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]):t._e(),t._v(\" \"),e(\"textarea\",t._b({class:[\"action-text-editable__textarea\",{focusable:t.isFocusable}],attrs:{disabled:t.disabled},domProps:{value:t.value},on:{input:t.onInput}},\"textarea\",t.$attrs,!1)),t._v(\" \"),e(\"label\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.disabled,expression:\"!disabled\"}],staticClass:\"action-text-editable__label\",attrs:{for:t.id}},[e(\"ArrowRight\",{attrs:{size:24,title:\"\",decorative:\"\"}})],1)])])])}),[],!1,null,\"0f3c4318\",null);\"function\"==typeof b.a&&b()(A);var m=A.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=m},27:function(t,n,e){\"use strict\";var o=e(6),a=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(a.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,a,r,i,c){var l,s=\"function\"==typeof t?t.options:t;if(n&&(s.render=n,s.staticRenderFns=e,s._compiled=!0),o&&(s.functional=!0),r&&(s._scopeId=\"data-v-\"+r),i?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},s._ssrRegister=l):a&&(l=c?function(){a.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(s.functional){s._injectStyles=l;var d=s.render;s.render=function(t,n){return l.call(n),d(t,n)}}else{var u=s.beforeCreate;s.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:s}}e.d(n,\"a\",(function(){return o}))},32:function(t,n,e){\"use strict\";var o=e(27),a=function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=a(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},6:function(t,n){t.exports=require(\"vue\")},72:function(t,n){t.exports=require(\"vue-material-design-icons/ArrowRight\")}})}));\n//# sourceMappingURL=ActionTextEditable.js.map","var isObject = require('../internals/is-object');\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (pref !== 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n var script = doc.createElement(\"script\");\n script.onreadystatechange = function () {\n runIfPresent(handle);\n script.onreadystatechange = null;\n html.removeChild(script);\n script = null;\n };\n html.appendChild(script);\n };\n }\n\n function installSetTimeoutImplementation() {\n registerImmediate = function(handle) {\n setTimeout(runIfPresent, 0, handle);\n };\n }\n\n // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n // Don't get fooled by e.g. browserify environments.\n if ({}.toString.call(global.process) === \"[object process]\") {\n // For Node.js before 0.9\n installNextTickImplementation();\n\n } else if (canUsePostMessage()) {\n // For non-IE10 modern browsers\n installPostMessageImplementation();\n\n } else if (global.MessageChannel) {\n // For web workers, where supported\n installMessageChannelImplementation();\n\n } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n // For IE 6–8\n installReadyStateChangeImplementation();\n\n } else {\n // For older browsers\n installSetTimeoutImplementation();\n }\n\n attachTo.setImmediate = setImmediate;\n attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = $toString(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var nativeSymbol = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = nativeSymbol ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(it) : usingIterator;\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n/* eslint-disable no-control-regex -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable no-control-regex -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return input.charAt(pointer);\n };\n\n if (chr() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex == 8) return;\n if (chr() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(chr())) return;\n while (DIGIT.test(chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (chr() == ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !has(set, chr) ? chr : encodeURIComponent(chr);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && ALPHA.test(chr)) {\n buffer += chr.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (ALPHANUMERIC.test(chr) || chr == '+' || chr == '-' || chr == '.')) {\n buffer += chr.toLowerCase();\n } else if (chr == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (chr == '/' || (chr == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (chr == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (chr == '/' || chr == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr != '/' && chr != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr == '[') seenBracket = true;\n else if (chr == ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (DIGIT.test(chr)) {\n buffer += chr;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr == '/' || chr == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (chr == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (chr == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr == '/' || chr == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr == EOF || chr == '/' || chr == '\\\\' || chr == '?' || chr == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (chr != '/' && chr != '\\\\') continue;\n } else if (!stateOverride && chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n state = PATH;\n if (chr != '/') continue;\n } break;\n\n case PATH:\n if (\n chr == EOF || chr == '/' ||\n (chr == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (chr == '?' || chr == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (chr != '/' && !(chr == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (chr != '/' && !(chr == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n if (chr == \"'\" && isSpecial(url)) url.query += '%27';\n else if (chr == '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = $toString(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, $toString(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = $toString(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, $toString(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom($toString(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom($toString(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, $toString(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, $toString(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = $toString(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, $toString(pathname), PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = $toString(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = $toString(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.for-each\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRequestToken = getRequestToken;\nexports.onRequestTokenUpdate = onRequestTokenUpdate;\n\nvar _eventBus = require(\"@nextcloud/event-bus\");\n\nvar tokenElement = document.getElementsByTagName('head')[0];\nvar token = tokenElement ? tokenElement.getAttribute('data-requesttoken') : null;\nvar observers = [];\n\nfunction getRequestToken() {\n return token;\n}\n\nfunction onRequestTokenUpdate(observer) {\n observers.push(observer);\n} // Listen to server event and keep token in sync\n\n\n(0, _eventBus.subscribe)('csrf-token-update', function (e) {\n token = e.token;\n observers.forEach(function (observer) {\n try {\n observer(e.token);\n } catch (e) {\n console.error('error updating CSRF token observer', e);\n }\n });\n});\n//# sourceMappingURL=requesttoken.js.map","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn) {\n var module = { exports: {} };\n\treturn fn(module, module.exports), module.exports;\n}\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global$1 =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n\nvar fails = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n// Detect IE8's incomplete defineProperty implementation\nvar descriptors = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor$2 && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nvar f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor$2(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n\nvar objectPropertyIsEnumerable = {\n\tf: f$4\n};\n\nvar createPropertyDescriptor = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\nvar toString = {}.toString;\n\nvar classofRaw = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar indexedObject = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nvar requireObjectCoercible = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n// toObject with fallback for non-array-like ES3 strings\n\n\n\nvar toIndexedObject = function (it) {\n return indexedObject(requireObjectCoercible(it));\n};\n\nvar isObject = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nvar toPrimitive = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nvar toObject = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar has$1 = function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n\nvar document$1 = global$1.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document$1) && isObject(document$1.createElement);\n\nvar documentCreateElement = function (it) {\n return EXISTS ? document$1.createElement(it) : {};\n};\n\n// Thank's IE8 for his funny defineProperty\nvar ie8DomDefine = !descriptors && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(documentCreateElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nvar f$3 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (ie8DomDefine) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);\n};\n\nvar objectGetOwnPropertyDescriptor = {\n\tf: f$3\n};\n\nvar anObject = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nvar f$2 = descriptors ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (ie8DomDefine) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\nvar objectDefineProperty = {\n\tf: f$2\n};\n\nvar createNonEnumerableProperty = descriptors ? function (object, key, value) {\n return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\nvar setGlobal = function (key, value) {\n try {\n createNonEnumerableProperty(global$1, key, value);\n } catch (error) {\n global$1[key] = value;\n } return value;\n};\n\nvar SHARED = '__core-js_shared__';\nvar store$1 = global$1[SHARED] || setGlobal(SHARED, {});\n\nvar sharedStore = store$1;\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof sharedStore.inspectSource != 'function') {\n sharedStore.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nvar inspectSource = sharedStore.inspectSource;\n\nvar WeakMap$1 = global$1.WeakMap;\n\nvar nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource(WeakMap$1));\n\nvar shared = createCommonjsModule(function (module) {\n(module.exports = function (key, value) {\n return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.11.2',\n mode: 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n});\n\nvar id = 0;\nvar postfix = Math.random();\n\nvar uid = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\nvar keys$2 = shared('keys');\n\nvar sharedKey = function (key) {\n return keys$2[key] || (keys$2[key] = uid(key));\n};\n\nvar hiddenKeys$1 = {};\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global$1.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (nativeWeakMap) {\n var store = sharedStore.state || (sharedStore.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys$1[STATE] = true;\n set = function (it, metadata) {\n if (has$1(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return has$1(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return has$1(it, STATE);\n };\n}\n\nvar internalState = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\nvar redefine = createCommonjsModule(function (module) {\nvar getInternalState = internalState.get;\nvar enforceInternalState = internalState.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has$1(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global$1) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n});\n\nvar path = global$1;\n\nvar aFunction$1 = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nvar getBuiltIn = function (namespace, method) {\n return arguments.length < 2 ? aFunction$1(path[namespace]) || aFunction$1(global$1[namespace])\n : path[namespace] && path[namespace][method] || global$1[namespace] && global$1[namespace][method];\n};\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nvar toInteger = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\nvar min$2 = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nvar toLength = function (argument) {\n return argument > 0 ? min$2(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\nvar max = Math.max;\nvar min$1 = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nvar toAbsoluteIndex = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min$1(integer, length);\n};\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod$3 = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nvar arrayIncludes = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod$3(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod$3(false)\n};\n\nvar indexOf = arrayIncludes.indexOf;\n\n\nvar objectKeysInternal = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has$1(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n// IE8- don't enum bug keys\nvar enumBugKeys = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nvar f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return objectKeysInternal(O, hiddenKeys);\n};\n\nvar objectGetOwnPropertyNames = {\n\tf: f$1\n};\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nvar f = Object.getOwnPropertySymbols;\n\nvar objectGetOwnPropertySymbols = {\n\tf: f\n};\n\n// all object keys, includes non-enumerable and symbols\nvar ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = objectGetOwnPropertyNames.f(anObject(it));\n var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\nvar copyConstructorProperties = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = objectDefineProperty.f;\n var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nvar isForced_1 = isForced;\n\nvar getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;\n\n\n\n\n\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nvar _export = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global$1;\n } else if (STATIC) {\n target = global$1[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global$1[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor$1(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.max_safe_integer\n_export({ target: 'Number', stat: true }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n\nvar aPossiblePrototype = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n\n/* eslint-disable no-proto -- safe */\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nvar objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n// makes subclassing work correct for wrapped built-ins\nvar inheritIfRequired = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n objectSetPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) objectSetPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nvar objectKeys = Object.keys || function keys(O) {\n return objectKeysInternal(O, enumBugKeys);\n};\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nvar objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\nvar html = getBuiltIn('document', 'documentElement');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO$1 = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys$1[IE_PROTO$1] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nvar objectCreate = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO$1] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : objectDefineProperties(result, Properties);\n};\n\n// a string of all valid unicode whitespaces\nvar whitespaces = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod$2 = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nvar stringTrim = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod$2(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod$2(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod$2(3)\n};\n\nvar getOwnPropertyNames$1 = objectGetOwnPropertyNames.f;\nvar getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;\nvar defineProperty$3 = objectDefineProperty.f;\nvar trim = stringTrim.trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global$1[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classofRaw(objectCreate(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced_1(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classofRaw(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys$1 = descriptors ? getOwnPropertyNames$1(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys$1.length > j; j++) {\n if (has$1(NativeNumber, key = keys$1[j]) && !has$1(NumberWrapper, key)) {\n defineProperty$3(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global$1, NUMBER, NumberWrapper);\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nvar SEMVER_SPEC_VERSION = '2.0.0';\nvar MAX_LENGTH$2 = 256;\nvar MAX_SAFE_INTEGER$2 = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */\n9007199254740991; // Max safe segment length for coercion.\n\nvar MAX_SAFE_COMPONENT_LENGTH = 16;\nvar constants = {\n SEMVER_SPEC_VERSION: SEMVER_SPEC_VERSION,\n MAX_LENGTH: MAX_LENGTH$2,\n MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$2,\n MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH\n};\n\nvar engineIsNode = classofRaw(global$1.process) == 'process';\n\nvar engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';\n\nvar process$1 = global$1.process;\nvar versions = process$1 && process$1.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (engineUserAgent) {\n match = engineUserAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = engineUserAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nvar engineV8Version = version && +version;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nvar nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {\n // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41);\n});\n\n/* eslint-disable es/no-symbol -- required for testing */\n\nvar useSymbolAsUid = nativeSymbol\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol$1 = global$1.Symbol;\nvar createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;\n\nvar wellKnownSymbol = function (name) {\n if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (nativeSymbol && has$1(Symbol$1, name)) {\n WellKnownSymbolsStore[name] = Symbol$1[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n\nvar MATCH$1 = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nvar isRegexp = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');\n};\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nvar regexpFlags = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nvar UNSUPPORTED_Y$3 = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nvar BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n\nvar regexpStickyHelpers = {\n\tUNSUPPORTED_Y: UNSUPPORTED_Y$3,\n\tBROKEN_CARET: BROKEN_CARET\n};\n\nvar SPECIES$4 = wellKnownSymbol('species');\n\nvar setSpecies = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = objectDefineProperty.f;\n\n if (descriptors && Constructor && !Constructor[SPECIES$4]) {\n defineProperty(Constructor, SPECIES$4, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n\nvar defineProperty$2 = objectDefineProperty.f;\nvar getOwnPropertyNames = objectGetOwnPropertyNames.f;\n\n\n\n\n\nvar enforceInternalState = internalState.enforce;\n\n\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global$1.RegExp;\nvar RegExpPrototype$1 = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED$1 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y$2 || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED$1) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegexp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = regexpFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y$2) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype$1,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y$2 && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty$2(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype$1.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype$1;\n redefine(global$1, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y$1 && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nvar regexpExec = patchedExec;\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {\n exec: regexpExec\n});\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nvar isArray = Array.isArray || function isArray(arg) {\n return classofRaw(arg) == 'Array';\n};\n\nvar createProperty = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n\nvar SPECIES$3 = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nvar arraySpeciesCreate = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES$3];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\nvar SPECIES$2 = wellKnownSymbol('species');\n\nvar arrayMethodHasSpeciesSupport = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return engineV8Version >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES$2] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER$1 = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = engineV8Version >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n_export({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER$1) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER$1) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nvar debug = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === 'object' && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? function () {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (_console = console).error.apply(_console, ['SEMVER'].concat(args));\n} : function () {};\nvar debug_1 = debug;\n\nvar re_1 = createCommonjsModule(function (module, exports) {\n var MAX_SAFE_COMPONENT_LENGTH = constants.MAX_SAFE_COMPONENT_LENGTH;\n exports = module.exports = {}; // The actual regexps go on exports.re\n\n var re = exports.re = [];\n var src = exports.src = [];\n var t = exports.t = {};\n var R = 0;\n\n var createToken = function createToken(name, value, isGlobal) {\n var index = R++;\n debug_1(index, value);\n t[name] = index;\n src[index] = value;\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined);\n }; // The following Regular Expressions can be used for tokenizing,\n // validating, and parsing SemVer version strings.\n // ## Numeric Identifier\n // A single `0`, or a non-zero digit followed by zero or more digits.\n\n\n createToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*');\n createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+'); // ## Non-numeric Identifier\n // Zero or more digits, followed by a letter or hyphen, and then zero or\n // more letters, digits, or hyphens.\n\n createToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*'); // ## Main Version\n // Three dot-separated numeric identifiers.\n\n createToken('MAINVERSION', \"(\".concat(src[t.NUMERICIDENTIFIER], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIER], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIER], \")\"));\n createToken('MAINVERSIONLOOSE', \"(\".concat(src[t.NUMERICIDENTIFIERLOOSE], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIERLOOSE], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIERLOOSE], \")\")); // ## Pre-release Version Identifier\n // A numeric identifier, or a non-numeric identifier.\n\n createToken('PRERELEASEIDENTIFIER', \"(?:\".concat(src[t.NUMERICIDENTIFIER], \"|\").concat(src[t.NONNUMERICIDENTIFIER], \")\"));\n createToken('PRERELEASEIDENTIFIERLOOSE', \"(?:\".concat(src[t.NUMERICIDENTIFIERLOOSE], \"|\").concat(src[t.NONNUMERICIDENTIFIER], \")\")); // ## Pre-release Version\n // Hyphen, followed by one or more dot-separated pre-release version\n // identifiers.\n\n createToken('PRERELEASE', \"(?:-(\".concat(src[t.PRERELEASEIDENTIFIER], \"(?:\\\\.\").concat(src[t.PRERELEASEIDENTIFIER], \")*))\"));\n createToken('PRERELEASELOOSE', \"(?:-?(\".concat(src[t.PRERELEASEIDENTIFIERLOOSE], \"(?:\\\\.\").concat(src[t.PRERELEASEIDENTIFIERLOOSE], \")*))\")); // ## Build Metadata Identifier\n // Any combination of digits, letters, or hyphens.\n\n createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+'); // ## Build Metadata\n // Plus sign, followed by one or more period-separated build metadata\n // identifiers.\n\n createToken('BUILD', \"(?:\\\\+(\".concat(src[t.BUILDIDENTIFIER], \"(?:\\\\.\").concat(src[t.BUILDIDENTIFIER], \")*))\")); // ## Full Version String\n // A main version, followed optionally by a pre-release version and\n // build metadata.\n // Note that the only major, minor, patch, and pre-release sections of\n // the version string are capturing groups. The build metadata is not a\n // capturing group, because it should not ever be used in version\n // comparison.\n\n createToken('FULLPLAIN', \"v?\".concat(src[t.MAINVERSION]).concat(src[t.PRERELEASE], \"?\").concat(src[t.BUILD], \"?\"));\n createToken('FULL', \"^\".concat(src[t.FULLPLAIN], \"$\")); // like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n // also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n // common in the npm registry.\n\n createToken('LOOSEPLAIN', \"[v=\\\\s]*\".concat(src[t.MAINVERSIONLOOSE]).concat(src[t.PRERELEASELOOSE], \"?\").concat(src[t.BUILD], \"?\"));\n createToken('LOOSE', \"^\".concat(src[t.LOOSEPLAIN], \"$\"));\n createToken('GTLT', '((?:<|>)?=?)'); // Something like \"2.*\" or \"1.2.x\".\n // Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n // Only the first item is strictly required.\n\n createToken('XRANGEIDENTIFIERLOOSE', \"\".concat(src[t.NUMERICIDENTIFIERLOOSE], \"|x|X|\\\\*\"));\n createToken('XRANGEIDENTIFIER', \"\".concat(src[t.NUMERICIDENTIFIER], \"|x|X|\\\\*\"));\n createToken('XRANGEPLAIN', \"[v=\\\\s]*(\".concat(src[t.XRANGEIDENTIFIER], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIER], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIER], \")\") + \"(?:\".concat(src[t.PRERELEASE], \")?\").concat(src[t.BUILD], \"?\") + \")?)?\");\n createToken('XRANGEPLAINLOOSE', \"[v=\\\\s]*(\".concat(src[t.XRANGEIDENTIFIERLOOSE], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIERLOOSE], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIERLOOSE], \")\") + \"(?:\".concat(src[t.PRERELEASELOOSE], \")?\").concat(src[t.BUILD], \"?\") + \")?)?\");\n createToken('XRANGE', \"^\".concat(src[t.GTLT], \"\\\\s*\").concat(src[t.XRANGEPLAIN], \"$\"));\n createToken('XRANGELOOSE', \"^\".concat(src[t.GTLT], \"\\\\s*\").concat(src[t.XRANGEPLAINLOOSE], \"$\")); // Coercion.\n // Extract anything that could conceivably be a part of a valid semver\n\n createToken('COERCE', \"\".concat('(^|[^\\\\d])' + '(\\\\d{1,').concat(MAX_SAFE_COMPONENT_LENGTH, \"})\") + \"(?:\\\\.(\\\\d{1,\".concat(MAX_SAFE_COMPONENT_LENGTH, \"}))?\") + \"(?:\\\\.(\\\\d{1,\".concat(MAX_SAFE_COMPONENT_LENGTH, \"}))?\") + \"(?:$|[^\\\\d])\");\n createToken('COERCERTL', src[t.COERCE], true); // Tilde ranges.\n // Meaning is \"reasonably at or greater than\"\n\n createToken('LONETILDE', '(?:~>?)');\n createToken('TILDETRIM', \"(\\\\s*)\".concat(src[t.LONETILDE], \"\\\\s+\"), true);\n exports.tildeTrimReplace = '$1~';\n createToken('TILDE', \"^\".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAIN], \"$\"));\n createToken('TILDELOOSE', \"^\".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAINLOOSE], \"$\")); // Caret ranges.\n // Meaning is \"at least and backwards compatible with\"\n\n createToken('LONECARET', '(?:\\\\^)');\n createToken('CARETTRIM', \"(\\\\s*)\".concat(src[t.LONECARET], \"\\\\s+\"), true);\n exports.caretTrimReplace = '$1^';\n createToken('CARET', \"^\".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAIN], \"$\"));\n createToken('CARETLOOSE', \"^\".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAINLOOSE], \"$\")); // A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\n\n createToken('COMPARATORLOOSE', \"^\".concat(src[t.GTLT], \"\\\\s*(\").concat(src[t.LOOSEPLAIN], \")$|^$\"));\n createToken('COMPARATOR', \"^\".concat(src[t.GTLT], \"\\\\s*(\").concat(src[t.FULLPLAIN], \")$|^$\")); // An expression to strip any whitespace between the gtlt and the thing\n // it modifies, so that `> 1.2.3` ==> `>1.2.3`\n\n createToken('COMPARATORTRIM', \"(\\\\s*)\".concat(src[t.GTLT], \"\\\\s*(\").concat(src[t.LOOSEPLAIN], \"|\").concat(src[t.XRANGEPLAIN], \")\"), true);\n exports.comparatorTrimReplace = '$1$2$3'; // Something like `1.2.3 - 1.2.4`\n // Note that these all use the loose form, because they'll be\n // checked against either the strict or loose comparator form\n // later.\n\n createToken('HYPHENRANGE', \"^\\\\s*(\".concat(src[t.XRANGEPLAIN], \")\") + \"\\\\s+-\\\\s+\" + \"(\".concat(src[t.XRANGEPLAIN], \")\") + \"\\\\s*$\");\n createToken('HYPHENRANGELOOSE', \"^\\\\s*(\".concat(src[t.XRANGEPLAINLOOSE], \")\") + \"\\\\s+-\\\\s+\" + \"(\".concat(src[t.XRANGEPLAINLOOSE], \")\") + \"\\\\s*$\"); // Star ranges basically just allow anything at all.\n\n createToken('STAR', '(<|>)?=?\\\\s*\\\\*'); // >=0.0.0 is like a star\n\n createToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$');\n createToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$');\n});\n\n// TODO: Remove from `core-js@4` since it's moved to entry points\n\n\n\n\n\n\nvar SPECIES$1 = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nvar fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES$1] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === RegExp.prototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod$1 = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nvar stringMultibyte = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod$1(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod$1(true)\n};\n\nvar charAt$1 = stringMultibyte.charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nvar advanceStringIndex = function (S, index, unicode) {\n return index + (unicode ? charAt$1(S, index).length : 1);\n};\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nvar regexpExecAbstract = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classofRaw(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n// @@match logic\nfixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regexpExecAbstract(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regexpExecAbstract(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nvar stringTrimForced = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n\nvar $trim = stringTrim.trim;\n\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n_export({ target: 'String', proto: true, forced: stringTrimForced('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n\nvar aFunction = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n\n// optional / simple context binding\nvar functionBindContext = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = indexedObject(O);\n var boundFunction = functionBindContext(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nvar arrayIteration = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n\nvar $map = arrayIteration.map;\n\n\nvar HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nvar speciesConstructor = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\nvar UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegexp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = regexpExecAbstract(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\n\nvar arrayMethodIsStrict = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = indexedObject != Object;\nvar STRICT_METHOD$1 = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n_export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$1 }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n\nvar $filter = arrayIteration.filter;\n\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nvar opts = ['includePrerelease', 'loose', 'rtl'];\n\nvar parseOptions = function parseOptions(options) {\n return !options ? {} : _typeof(options) !== 'object' ? {\n loose: true\n } : opts.filter(function (k) {\n return options[k];\n }).reduce(function (options, k) {\n options[k] = true;\n return options;\n }, {});\n};\n\nvar parseOptions_1 = parseOptions;\n\nvar numeric = /^[0-9]+$/;\n\nvar compareIdentifiers$1 = function compareIdentifiers(a, b) {\n var anum = numeric.test(a);\n var bnum = numeric.test(b);\n\n if (anum && bnum) {\n a = +a;\n b = +b;\n }\n\n return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;\n};\n\nvar rcompareIdentifiers = function rcompareIdentifiers(a, b) {\n return compareIdentifiers$1(b, a);\n};\n\nvar identifiers = {\n compareIdentifiers: compareIdentifiers$1,\n rcompareIdentifiers: rcompareIdentifiers\n};\n\nvar MAX_LENGTH$1 = constants.MAX_LENGTH,\n MAX_SAFE_INTEGER = constants.MAX_SAFE_INTEGER;\nvar re$1 = re_1.re,\n t$1 = re_1.t;\nvar compareIdentifiers = identifiers.compareIdentifiers;\n\nvar SemVer = /*#__PURE__*/function () {\n function SemVer(version, options) {\n _classCallCheck(this, SemVer);\n\n options = parseOptions_1(options);\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n return version;\n } else {\n version = version.version;\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(\"Invalid Version: \".concat(version));\n }\n\n if (version.length > MAX_LENGTH$1) {\n throw new TypeError(\"version is longer than \".concat(MAX_LENGTH$1, \" characters\"));\n }\n\n debug_1('SemVer', version, options);\n this.options = options;\n this.loose = !!options.loose; // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n\n this.includePrerelease = !!options.includePrerelease;\n var m = version.trim().match(options.loose ? re$1[t$1.LOOSE] : re$1[t$1.FULL]);\n\n if (!m) {\n throw new TypeError(\"Invalid Version: \".concat(version));\n }\n\n this.raw = version; // these are actually numbers\n\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = +m[3];\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version');\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version');\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version');\n } // numberify any prerelease numeric ids\n\n\n if (!m[4]) {\n this.prerelease = [];\n } else {\n this.prerelease = m[4].split('.').map(function (id) {\n if (/^[0-9]+$/.test(id)) {\n var num = +id;\n\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num;\n }\n }\n\n return id;\n });\n }\n\n this.build = m[5] ? m[5].split('.') : [];\n this.format();\n }\n\n _createClass(SemVer, [{\n key: \"format\",\n value: function format() {\n this.version = \"\".concat(this.major, \".\").concat(this.minor, \".\").concat(this.patch);\n\n if (this.prerelease.length) {\n this.version += \"-\".concat(this.prerelease.join('.'));\n }\n\n return this.version;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return this.version;\n }\n }, {\n key: \"compare\",\n value: function compare(other) {\n debug_1('SemVer.compare', this.version, this.options, other);\n\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0;\n }\n\n other = new SemVer(other, this.options);\n }\n\n if (other.version === this.version) {\n return 0;\n }\n\n return this.compareMain(other) || this.comparePre(other);\n }\n }, {\n key: \"compareMain\",\n value: function compareMain(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n\n return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n }\n }, {\n key: \"comparePre\",\n value: function comparePre(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n } // NOT having a prerelease is > having one\n\n\n if (this.prerelease.length && !other.prerelease.length) {\n return -1;\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1;\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0;\n }\n\n var i = 0;\n\n do {\n var a = this.prerelease[i];\n var b = other.prerelease[i];\n debug_1('prerelease compare', i, a, b);\n\n if (a === undefined && b === undefined) {\n return 0;\n } else if (b === undefined) {\n return 1;\n } else if (a === undefined) {\n return -1;\n } else if (a === b) {\n continue;\n } else {\n return compareIdentifiers(a, b);\n }\n } while (++i);\n }\n }, {\n key: \"compareBuild\",\n value: function compareBuild(other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options);\n }\n\n var i = 0;\n\n do {\n var a = this.build[i];\n var b = other.build[i];\n debug_1('prerelease compare', i, a, b);\n\n if (a === undefined && b === undefined) {\n return 0;\n } else if (b === undefined) {\n return 1;\n } else if (a === undefined) {\n return -1;\n } else if (a === b) {\n continue;\n } else {\n return compareIdentifiers(a, b);\n }\n } while (++i);\n } // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n\n }, {\n key: \"inc\",\n value: function inc(release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc('pre', identifier);\n break;\n\n case 'preminor':\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc('pre', identifier);\n break;\n\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0;\n this.inc('patch', identifier);\n this.inc('pre', identifier);\n break;\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier);\n }\n\n this.inc('pre', identifier);\n break;\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n this.major++;\n }\n\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++;\n }\n\n this.patch = 0;\n this.prerelease = [];\n break;\n\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++;\n }\n\n this.prerelease = [];\n break;\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0];\n } else {\n var i = this.prerelease.length;\n\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++;\n i = -2;\n }\n }\n\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0);\n }\n }\n\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0];\n }\n } else {\n this.prerelease = [identifier, 0];\n }\n }\n\n break;\n\n default:\n throw new Error(\"invalid increment argument: \".concat(release));\n }\n\n this.format();\n this.raw = this.version;\n return this;\n }\n }]);\n\n return SemVer;\n}();\n\nvar semver = SemVer;\n\nvar MAX_LENGTH = constants.MAX_LENGTH;\nvar re = re_1.re,\n t = re_1.t;\n\nvar parse = function parse(version, options) {\n options = parseOptions_1(options);\n\n if (version instanceof semver) {\n return version;\n }\n\n if (typeof version !== 'string') {\n return null;\n }\n\n if (version.length > MAX_LENGTH) {\n return null;\n }\n\n var r = options.loose ? re[t.LOOSE] : re[t.FULL];\n\n if (!r.test(version)) {\n return null;\n }\n\n try {\n return new semver(version, options);\n } catch (er) {\n return null;\n }\n};\n\nvar parse_1 = parse;\n\nvar valid = function valid(version, options) {\n var v = parse_1(version, options);\n return v ? v.version : null;\n};\n\nvar valid_1 = valid;\n\nvar major = function major(a, loose) {\n return new semver(a, loose).major;\n};\n\nvar major_1 = major;\n\nvar packageJson$1 = {\n name: \"@nextcloud/event-bus\",\n version: \"1.3.0\",\n description: \"\",\n main: \"dist/index.js\",\n module: \"dist/index.es.js\",\n types: \"dist/index.d.ts\",\n scripts: {\n build: \"NODE_ENV=production rollup -c\",\n \"build:doc\": \"typedoc --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n \"check-types\": \"tsc\",\n dev: \"NODE_ENV=development rollup -c --watch\",\n test: \"jest\",\n \"test:watch\": \"jest --watchAll\"\n },\n keywords: [\"nextcloud\"],\n homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n author: \"Christoph Wurst\",\n license: \"GPL-3.0-or-later\",\n repository: {\n type: \"git\",\n url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n },\n dependencies: {\n \"@types/semver\": \"^7.3.5\",\n \"core-js\": \"^3.11.2\",\n semver: \"^7.3.5\"\n },\n devDependencies: {\n \"@babel/cli\": \"^7.13.16\",\n \"@babel/core\": \"^7.14.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.13.0\",\n \"@babel/preset-env\": \"^7.14.1\",\n \"@babel/preset-typescript\": \"^7.13.0\",\n \"@nextcloud/browserslist-config\": \"^1.0.0\",\n \"@rollup/plugin-babel\": \"^5.3.0\",\n \"@rollup/plugin-commonjs\": \"^18.0.0\",\n \"@rollup/plugin-node-resolve\": \"^11.2.1\",\n \"babel-jest\": \"^26.6.3\",\n \"babel-plugin-inline-json-import\": \"^0.3.2\",\n jest: \"^26.6.3\",\n rollup: \"^2.47.0\",\n \"rollup-plugin-inject-process-env\": \"^1.3.1\",\n \"rollup-plugin-typescript2\": \"^0.30.0\",\n typedoc: \"^0.20.36\",\n typescript: \"^4.2.4\"\n },\n browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar ProxyBus =\n/** @class */\nfunction () {\n function ProxyBus(bus) {\n if (typeof bus.getVersion !== 'function' || !valid_1(bus.getVersion())) {\n console.warn('Proxying an event bus with an unknown or invalid version');\n } else if (major_1(bus.getVersion()) !== major_1(this.getVersion())) {\n console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion());\n }\n\n this.bus = bus;\n }\n\n ProxyBus.prototype.getVersion = function () {\n return packageJson$1.version;\n };\n\n ProxyBus.prototype.subscribe = function (name, handler) {\n this.bus.subscribe(name, handler);\n };\n\n ProxyBus.prototype.unsubscribe = function (name, handler) {\n this.bus.unsubscribe(name, handler);\n };\n\n ProxyBus.prototype.emit = function (name, event) {\n this.bus.emit(name, event);\n };\n\n return ProxyBus;\n}();\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype$1 = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype$1[UNSCOPABLES] == undefined) {\n objectDefineProperty.f(ArrayPrototype$1, UNSCOPABLES, {\n configurable: true,\n value: objectCreate(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nvar addToUnscopables = function (key) {\n ArrayPrototype$1[UNSCOPABLES][key] = true;\n};\n\nvar iterators = {};\n\nvar correctPrototypeGetter = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nvar objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has$1(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n\nvar ITERATOR$5 = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS$1 = false;\n\nvar returnThis$2 = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype$2, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS$1 = true;\n else {\n PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype$2 = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype$2 == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype$2[ITERATOR$5].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!has$1(IteratorPrototype$2, ITERATOR$5)) {\n createNonEnumerableProperty(IteratorPrototype$2, ITERATOR$5, returnThis$2);\n}\n\nvar iteratorsCore = {\n IteratorPrototype: IteratorPrototype$2,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1\n};\n\nvar defineProperty$1 = objectDefineProperty.f;\n\n\n\nvar TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');\n\nvar setToStringTag = function (it, TAG, STATIC) {\n if (it && !has$1(it = STATIC ? it : it.prototype, TO_STRING_TAG$3)) {\n defineProperty$1(it, TO_STRING_TAG$3, { configurable: true, value: TAG });\n }\n};\n\nvar IteratorPrototype$1 = iteratorsCore.IteratorPrototype;\n\n\n\n\n\nvar returnThis$1 = function () { return this; };\n\nvar createIteratorConstructor = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false);\n iterators[TO_STRING_TAG] = returnThis$1;\n return IteratorConstructor;\n};\n\nvar IteratorPrototype = iteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = iteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR$4 = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nvar defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR$4]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (objectSetPrototypeOf) {\n objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR$4] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$4, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if (IterablePrototype[ITERATOR$4] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR$4, defaultIterator);\n }\n iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState$2 = internalState.set;\nvar getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nvar es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState$2(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState$1(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\niterators.Arguments = iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\nvar freezing = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\nvar internalMetadata = createCommonjsModule(function (module) {\nvar defineProperty = objectDefineProperty.f;\n\n\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has$1(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has$1(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (freezing && meta.REQUIRED && isExtensible(it) && !has$1(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys$1[METADATA] = true;\n});\n\nvar ITERATOR$3 = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nvar isArrayIteratorMethod = function (it) {\n return it !== undefined && (iterators.Array === it || ArrayPrototype[ITERATOR$3] === it);\n};\n\nvar TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG$2] = 'z';\n\nvar toStringTagSupport = String(test) === '[object z]';\n\nvar TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nvar classof = toStringTagSupport ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$1)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\nvar ITERATOR$2 = wellKnownSymbol('iterator');\n\nvar getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR$2]\n || it['@@iterator']\n || iterators[classof(it)];\n};\n\nvar iteratorClose = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = functionBindContext(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\nvar anInstance = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n\nvar ITERATOR$1 = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR$1] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nvar checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR$1] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n\nvar collection = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global$1[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced_1(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n internalMetadata.REQUIRED = true;\n } else if (isForced_1(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n _export({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n\nvar redefineAll = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n\nvar defineProperty = objectDefineProperty.f;\n\n\n\n\n\n\n\n\nvar fastKey = internalMetadata.fastKey;\n\n\nvar setInternalState$1 = internalState.set;\nvar internalStateGetterFor = internalState.getterFor;\n\nvar collectionStrong = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState$1(that, {\n type: CONSTRUCTOR_NAME,\n index: objectCreate(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!descriptors) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (descriptors) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (descriptors) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (descriptors) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (descriptors) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState$1(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nvar objectToString = toStringTagSupport ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!toStringTagSupport) {\n redefine(Object.prototype, 'toString', objectToString, { unsafe: true });\n}\n\nvar charAt = stringMultibyte.charAt;\n\n\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = internalState.set;\nvar getInternalState = internalState.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nvar domIterables = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = es_array_iterator.values;\n\nfor (var COLLECTION_NAME$1 in domIterables) {\n var Collection$1 = global$1[COLLECTION_NAME$1];\n var CollectionPrototype$1 = Collection$1 && Collection$1.prototype;\n if (CollectionPrototype$1) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype$1[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype$1, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype$1[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype$1[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype$1, TO_STRING_TAG, COLLECTION_NAME$1);\n }\n if (domIterables[COLLECTION_NAME$1]) for (var METHOD_NAME in es_array_iterator) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype$1[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype$1, METHOD_NAME, es_array_iterator[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype$1[METHOD_NAME] = es_array_iterator[METHOD_NAME];\n }\n }\n }\n}\n\nvar $forEach = arrayIteration.forEach;\n\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nvar arrayForEach = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n\nfor (var COLLECTION_NAME in domIterables) {\n var Collection = global$1[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);\n } catch (error) {\n CollectionPrototype.forEach = arrayForEach;\n }\n}\n\nvar packageJson = {\n name: \"@nextcloud/event-bus\",\n version: \"1.3.0\",\n description: \"\",\n main: \"dist/index.js\",\n module: \"dist/index.es.js\",\n types: \"dist/index.d.ts\",\n scripts: {\n build: \"NODE_ENV=production rollup -c\",\n \"build:doc\": \"typedoc --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n \"check-types\": \"tsc\",\n dev: \"NODE_ENV=development rollup -c --watch\",\n test: \"jest\",\n \"test:watch\": \"jest --watchAll\"\n },\n keywords: [\"nextcloud\"],\n homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n author: \"Christoph Wurst\",\n license: \"GPL-3.0-or-later\",\n repository: {\n type: \"git\",\n url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n },\n dependencies: {\n \"@types/semver\": \"^7.3.5\",\n \"core-js\": \"^3.11.2\",\n semver: \"^7.3.5\"\n },\n devDependencies: {\n \"@babel/cli\": \"^7.13.16\",\n \"@babel/core\": \"^7.14.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.13.0\",\n \"@babel/preset-env\": \"^7.14.1\",\n \"@babel/preset-typescript\": \"^7.13.0\",\n \"@nextcloud/browserslist-config\": \"^1.0.0\",\n \"@rollup/plugin-babel\": \"^5.3.0\",\n \"@rollup/plugin-commonjs\": \"^18.0.0\",\n \"@rollup/plugin-node-resolve\": \"^11.2.1\",\n \"babel-jest\": \"^26.6.3\",\n \"babel-plugin-inline-json-import\": \"^0.3.2\",\n jest: \"^26.6.3\",\n rollup: \"^2.47.0\",\n \"rollup-plugin-inject-process-env\": \"^1.3.1\",\n \"rollup-plugin-typescript2\": \"^0.30.0\",\n typedoc: \"^0.20.36\",\n typescript: \"^4.2.4\"\n },\n browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar SimpleBus =\n/** @class */\nfunction () {\n function SimpleBus() {\n this.handlers = new Map();\n }\n\n SimpleBus.prototype.getVersion = function () {\n return packageJson.version;\n };\n\n SimpleBus.prototype.subscribe = function (name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n };\n\n SimpleBus.prototype.unsubscribe = function (name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).filter(function (h) {\n return h != handler;\n }));\n };\n\n SimpleBus.prototype.emit = function (name, event) {\n (this.handlers.get(name) || []).forEach(function (h) {\n try {\n h(event);\n } catch (e) {\n console.error('could not invoke event listener', e);\n }\n });\n };\n\n return SimpleBus;\n}();\n\nfunction getBus() {\n if (typeof window.OC !== 'undefined' && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n console.warn('found old event bus instance at OC._eventBus. Update your version!');\n window._nc_event_bus = window.OC._eventBus;\n } // Either use an existing event bus instance or create one\n\n\n if (typeof window._nc_event_bus !== 'undefined') {\n return new ProxyBus(window._nc_event_bus);\n } else {\n return window._nc_event_bus = new SimpleBus();\n }\n}\n\nvar bus = getBus();\n/**\r\n * Register an event listener\r\n *\r\n * @param name name of the event\r\n * @param handler callback invoked for every matching event emitted on the bus\r\n */\n\nfunction subscribe(name, handler) {\n bus.subscribe(name, handler);\n}\n/**\r\n * Unregister a previously registered event listener\r\n *\r\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\r\n *\r\n * @param name name of the event\r\n * @param handler callback passed to `subscribed`\r\n */\n\nfunction unsubscribe(name, handler) {\n bus.unsubscribe(name, handler);\n}\n/**\r\n * Emit an event\r\n *\r\n * @param name name of the event\r\n * @param event event payload\r\n */\n\nfunction emit(name, event) {\n bus.emit(name, event);\n}\n\nexport { emit, subscribe, unsubscribe };\n//# sourceMappingURL=index.es.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCurrentUser = getCurrentUser;\n/// <reference types=\"@nextcloud/typings\" />\nvar uidElement = document.getElementsByTagName('head')[0];\nvar uid = uidElement ? uidElement.getAttribute('data-user') : null;\nvar displayNameElement = document.getElementsByTagName('head')[0];\nvar displayName = displayNameElement ? displayNameElement.getAttribute('data-user-displayname') : null;\nvar isAdmin = typeof OC === 'undefined' ? false : OC.isUserAdmin();\n\nfunction getCurrentUser() {\n if (uid === null) {\n return null;\n }\n\n return {\n uid: uid,\n displayName: displayName,\n isAdmin: isAdmin\n };\n}\n//# sourceMappingURL=user.js.map","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.AMPERSAND = exports.CLOSEPAREN = exports.CLOSEANGLEBRACKET = exports.CLOSEBRACKET = exports.CLOSEBRACE = exports.OPENPAREN = exports.OPENANGLEBRACKET = exports.OPENBRACKET = exports.OPENBRACE = exports.WS = exports.TLD = exports.SYM = exports.UNDERSCORE = exports.SLASH = exports.MAILTO = exports.PROTOCOL = exports.QUERY = exports.POUND = exports.PLUS = exports.NUM = exports.NL = exports.LOCALHOST = exports.PUNCTUATION = exports.DOT = exports.COLON = exports.AT = exports.DOMAIN = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\n/******************************************************************************\n\tText Tokens\n\tTokens composed of strings\n******************************************************************************/\n\n/**\n\tAbstract class used for manufacturing text tokens.\n\tPass in the value this token represents\n\n\t@class TextToken\n\t@abstract\n*/\nvar TextToken = (0, _createTokenClass.createTokenClass)();\nTextToken.prototype = {\n\ttoString: function toString() {\n\t\treturn this.v + '';\n\t}\n};\n\nfunction inheritsToken(value) {\n\tvar props = value ? { v: value } : {};\n\treturn (0, _class.inherits)(TextToken, (0, _createTokenClass.createTokenClass)(), props);\n}\n\n/**\n\tA valid domain token\n\t@class DOMAIN\n\t@extends TextToken\n*/\nvar DOMAIN = inheritsToken();\n\n/**\n\t@class AT\n\t@extends TextToken\n*/\nvar AT = inheritsToken('@');\n\n/**\n\tRepresents a single colon `:` character\n\n\t@class COLON\n\t@extends TextToken\n*/\nvar COLON = inheritsToken(':');\n\n/**\n\t@class DOT\n\t@extends TextToken\n*/\nvar DOT = inheritsToken('.');\n\n/**\n\tA character class that can surround the URL, but which the URL cannot begin\n\tor end with. Does not include certain English punctuation like parentheses.\n\n\t@class PUNCTUATION\n\t@extends TextToken\n*/\nvar PUNCTUATION = inheritsToken();\n\n/**\n\tThe word localhost (by itself)\n\t@class LOCALHOST\n\t@extends TextToken\n*/\nvar LOCALHOST = inheritsToken();\n\n/**\n\tNewline token\n\t@class NL\n\t@extends TextToken\n*/\nvar NL = inheritsToken('\\n');\n\n/**\n\t@class NUM\n\t@extends TextToken\n*/\nvar NUM = inheritsToken();\n\n/**\n\t@class PLUS\n\t@extends TextToken\n*/\nvar PLUS = inheritsToken('+');\n\n/**\n\t@class POUND\n\t@extends TextToken\n*/\nvar POUND = inheritsToken('#');\n\n/**\n\tRepresents a web URL protocol. Supported types include\n\n\t* `http:`\n\t* `https:`\n\t* `ftp:`\n\t* `ftps:`\n\n\t@class PROTOCOL\n\t@extends TextToken\n*/\nvar PROTOCOL = inheritsToken();\n\n/**\n\tRepresents the start of the email URI protocol\n\n\t@class MAILTO\n\t@extends TextToken\n*/\nvar MAILTO = inheritsToken('mailto:');\n\n/**\n\t@class QUERY\n\t@extends TextToken\n*/\nvar QUERY = inheritsToken('?');\n\n/**\n\t@class SLASH\n\t@extends TextToken\n*/\nvar SLASH = inheritsToken('/');\n\n/**\n\t@class UNDERSCORE\n\t@extends TextToken\n*/\nvar UNDERSCORE = inheritsToken('_');\n\n/**\n\tOne ore more non-whitespace symbol.\n\t@class SYM\n\t@extends TextToken\n*/\nvar SYM = inheritsToken();\n\n/**\n\t@class TLD\n\t@extends TextToken\n*/\nvar TLD = inheritsToken();\n\n/**\n\tRepresents a string of consecutive whitespace characters\n\n\t@class WS\n\t@extends TextToken\n*/\nvar WS = inheritsToken();\n\n/**\n\tOpening/closing bracket classes\n*/\n\nvar OPENBRACE = inheritsToken('{');\nvar OPENBRACKET = inheritsToken('[');\nvar OPENANGLEBRACKET = inheritsToken('<');\nvar OPENPAREN = inheritsToken('(');\nvar CLOSEBRACE = inheritsToken('}');\nvar CLOSEBRACKET = inheritsToken(']');\nvar CLOSEANGLEBRACKET = inheritsToken('>');\nvar CLOSEPAREN = inheritsToken(')');\n\nvar AMPERSAND = inheritsToken('&');\n\nexports.Base = TextToken;\nexports.DOMAIN = DOMAIN;\nexports.AT = AT;\nexports.COLON = COLON;\nexports.DOT = DOT;\nexports.PUNCTUATION = PUNCTUATION;\nexports.LOCALHOST = LOCALHOST;\nexports.NL = NL;\nexports.NUM = NUM;\nexports.PLUS = PLUS;\nexports.POUND = POUND;\nexports.QUERY = QUERY;\nexports.PROTOCOL = PROTOCOL;\nexports.MAILTO = MAILTO;\nexports.SLASH = SLASH;\nexports.UNDERSCORE = UNDERSCORE;\nexports.SYM = SYM;\nexports.TLD = TLD;\nexports.WS = WS;\nexports.OPENBRACE = OPENBRACE;\nexports.OPENBRACKET = OPENBRACKET;\nexports.OPENANGLEBRACKET = OPENANGLEBRACKET;\nexports.OPENPAREN = OPENPAREN;\nexports.CLOSEBRACE = CLOSEBRACE;\nexports.CLOSEBRACKET = CLOSEBRACKET;\nexports.CLOSEANGLEBRACKET = CLOSEANGLEBRACKET;\nexports.CLOSEPAREN = CLOSEPAREN;\nexports.AMPERSAND = AMPERSAND;","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.VueMultiselect=e():t.VueMultiselect=e()}(this,function(){return function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=60)}([function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var i=n(49)(\"wks\"),r=n(30),o=n(0).Symbol,s=\"function\"==typeof o;(t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)(\"Symbol.\"+t))}).store=i},function(t,e,n){var i=n(5);t.exports=function(t){if(!i(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){var i=n(0),r=n(10),o=n(8),s=n(6),u=n(11),a=function(t,e,n){var l,c,f,p,h=t&a.F,d=t&a.G,v=t&a.S,g=t&a.P,y=t&a.B,m=d?i:v?i[e]||(i[e]={}):(i[e]||{}).prototype,b=d?r:r[e]||(r[e]={}),_=b.prototype||(b.prototype={});d&&(n=e);for(l in n)c=!h&&m&&void 0!==m[l],f=(c?m:n)[l],p=y&&c?u(f,i):g&&\"function\"==typeof f?u(Function.call,f):f,m&&s(m,l,f,t&a.U),b[l]!=f&&o(b,l,p),g&&_[l]!=f&&(_[l]=f)};i.core=r,a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e,n){t.exports=!n(7)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,n){var i=n(0),r=n(8),o=n(12),s=n(30)(\"src\"),u=Function.toString,a=(\"\"+u).split(\"toString\");n(10).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var l=\"function\"==typeof n;l&&(o(n,\"name\")||r(n,\"name\",e)),t[e]!==n&&(l&&(o(n,s)||r(n,s,t[e]?\"\"+t[e]:a.join(String(e)))),t===i?t[e]=n:u?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[s]||u.call(this)})},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var i=n(13),r=n(25);t.exports=n(4)?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){var n=t.exports={version:\"2.5.7\"};\"number\"==typeof __e&&(__e=n)},function(t,e,n){var i=n(14);t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var i=n(2),r=n(41),o=n(29),s=Object.defineProperty;e.f=n(4)?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports={}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,e,n){\"use strict\";var i=n(7);t.exports=function(t,e){return!!t&&i(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var i=n(23),r=n(16);t.exports=function(t){return i(r(t))}},function(t,e,n){var i=n(53),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},function(t,e,n){var i=n(11),r=n(23),o=n(28),s=n(19),u=n(64);t.exports=function(t,e){var n=1==t,a=2==t,l=3==t,c=4==t,f=6==t,p=5==t||f,h=e||u;return function(e,u,d){for(var v,g,y=o(e),m=r(y),b=i(u,d,3),_=s(m.length),x=0,w=n?h(e,_):a?h(e,0):void 0;_>x;x++)if((p||x in m)&&(v=m[x],g=b(v,x,y),t))if(n)w[x]=g;else if(g)switch(t){case 3:return!0;case 5:return v;case 6:return x;case 2:w.push(v)}else if(c)return!1;return f?-1:l||c?c:w}}},function(t,e,n){var i=n(5),r=n(0).document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){var i=n(9);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==i(t)?t.split(\"\"):Object(t)}},function(t,e){t.exports=!1},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){var i=n(13).f,r=n(12),o=n(1)(\"toStringTag\");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},function(t,e,n){var i=n(49)(\"keys\"),r=n(30);t.exports=function(t){return i[t]||(i[t]=r(t))}},function(t,e,n){var i=n(16);t.exports=function(t){return Object(i(t))}},function(t,e,n){var i=n(5);t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if(\"function\"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&\"function\"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e){var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,n){\"use strict\";var i=n(0),r=n(12),o=n(9),s=n(67),u=n(29),a=n(7),l=n(77).f,c=n(45).f,f=n(13).f,p=n(51).trim,h=i.Number,d=h,v=h.prototype,g=\"Number\"==o(n(44)(v)),y=\"trim\"in String.prototype,m=function(t){var e=u(t,!1);if(\"string\"==typeof e&&e.length>2){e=y?e.trim():p(e,3);var n,i,r,o=e.charCodeAt(0);if(43===o||45===o){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:i=2,r=49;break;case 79:case 111:i=8,r=55;break;default:return+e}for(var s,a=e.slice(2),l=0,c=a.length;l<c;l++)if((s=a.charCodeAt(l))<48||s>r)return NaN;return parseInt(a,i)}}return+e};if(!h(\" 0o1\")||!h(\"0b1\")||h(\"+0x1\")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(g?a(function(){v.valueOf.call(n)}):\"Number\"!=o(n))?s(new d(m(e)),n,h):m(e)};for(var b,_=n(4)?l(d):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),x=0;_.length>x;x++)r(d,b=_[x])&&!r(h,b)&&f(h,b,c(d,b));h.prototype=v,v.constructor=h,n(6)(i,\"Number\",h)}},function(t,e,n){\"use strict\";function i(t){return 0!==t&&(!(!Array.isArray(t)||0!==t.length)||!t)}function r(t){return function(){return!t.apply(void 0,arguments)}}function o(t,e){return void 0===t&&(t=\"undefined\"),null===t&&(t=\"null\"),!1===t&&(t=\"false\"),-1!==t.toString().toLowerCase().indexOf(e.trim())}function s(t,e,n,i){return t.filter(function(t){return o(i(t,n),e)})}function u(t){return t.filter(function(t){return!t.$isLabel})}function a(t,e){return function(n){return n.reduce(function(n,i){return i[t]&&i[t].length?(n.push({$groupLabel:i[e],$isLabel:!0}),n.concat(i[t])):n},[])}}function l(t,e,i,r,o){return function(u){return u.map(function(u){var a;if(!u[i])return console.warn(\"Options passed to vue-multiselect do not contain groups, despite the config.\"),[];var l=s(u[i],t,e,o);return l.length?(a={},n.i(d.a)(a,r,u[r]),n.i(d.a)(a,i,l),a):[]})}}var c=n(59),f=n(54),p=(n.n(f),n(95)),h=(n.n(p),n(31)),d=(n.n(h),n(58)),v=n(91),g=(n.n(v),n(98)),y=(n.n(g),n(92)),m=(n.n(y),n(88)),b=(n.n(m),n(97)),_=(n.n(b),n(89)),x=(n.n(_),n(96)),w=(n.n(x),n(93)),S=(n.n(w),n(90)),O=(n.n(S),function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(t){return e.reduce(function(t,e){return e(t)},t)}});e.a={data:function(){return{search:\"\",isOpen:!1,preferredOpenDirection:\"below\",optimizedHeight:this.maxHeight}},props:{internalSearch:{type:Boolean,default:!0},options:{type:Array,required:!0},multiple:{type:Boolean,default:!1},value:{type:null,default:function(){return[]}},trackBy:{type:String},label:{type:String},searchable:{type:Boolean,default:!0},clearOnSelect:{type:Boolean,default:!0},hideSelected:{type:Boolean,default:!1},placeholder:{type:String,default:\"Select option\"},allowEmpty:{type:Boolean,default:!0},resetAfter:{type:Boolean,default:!1},closeOnSelect:{type:Boolean,default:!0},customLabel:{type:Function,default:function(t,e){return i(t)?\"\":e?t[e]:t}},taggable:{type:Boolean,default:!1},tagPlaceholder:{type:String,default:\"Press enter to create a tag\"},tagPosition:{type:String,default:\"top\"},max:{type:[Number,Boolean],default:!1},id:{default:null},optionsLimit:{type:Number,default:1e3},groupValues:{type:String},groupLabel:{type:String},groupSelect:{type:Boolean,default:!1},blockKeys:{type:Array,default:function(){return[]}},preserveSearch:{type:Boolean,default:!1},preselectFirst:{type:Boolean,default:!1}},mounted:function(){!this.multiple&&this.max&&console.warn(\"[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.\"),this.preselectFirst&&!this.internalValue.length&&this.options.length&&this.select(this.filteredOptions[0])},computed:{internalValue:function(){return this.value||0===this.value?Array.isArray(this.value)?this.value:[this.value]:[]},filteredOptions:function(){var t=this.search||\"\",e=t.toLowerCase().trim(),n=this.options.concat();return n=this.internalSearch?this.groupValues?this.filterAndFlat(n,e,this.label):s(n,e,this.label,this.customLabel):this.groupValues?a(this.groupValues,this.groupLabel)(n):n,n=this.hideSelected?n.filter(r(this.isSelected)):n,this.taggable&&e.length&&!this.isExistingOption(e)&&(\"bottom\"===this.tagPosition?n.push({isTag:!0,label:t}):n.unshift({isTag:!0,label:t})),n.slice(0,this.optionsLimit)},valueKeys:function(){var t=this;return this.trackBy?this.internalValue.map(function(e){return e[t.trackBy]}):this.internalValue},optionKeys:function(){var t=this;return(this.groupValues?this.flatAndStrip(this.options):this.options).map(function(e){return t.customLabel(e,t.label).toString().toLowerCase()})},currentOptionLabel:function(){return this.multiple?this.searchable?\"\":this.placeholder:this.internalValue.length?this.getOptionLabel(this.internalValue[0]):this.searchable?\"\":this.placeholder}},watch:{internalValue:function(){this.resetAfter&&this.internalValue.length&&(this.search=\"\",this.$emit(\"input\",this.multiple?[]:null))},search:function(){this.$emit(\"search-change\",this.search,this.id)}},methods:{getValue:function(){return this.multiple?this.internalValue:0===this.internalValue.length?null:this.internalValue[0]},filterAndFlat:function(t,e,n){return O(l(e,n,this.groupValues,this.groupLabel,this.customLabel),a(this.groupValues,this.groupLabel))(t)},flatAndStrip:function(t){return O(a(this.groupValues,this.groupLabel),u)(t)},updateSearch:function(t){this.search=t},isExistingOption:function(t){return!!this.options&&this.optionKeys.indexOf(t)>-1},isSelected:function(t){var e=this.trackBy?t[this.trackBy]:t;return this.valueKeys.indexOf(e)>-1},isOptionDisabled:function(t){return!!t.$isDisabled},getOptionLabel:function(t){if(i(t))return\"\";if(t.isTag)return t.label;if(t.$isLabel)return t.$groupLabel;var e=this.customLabel(t,this.label);return i(e)?\"\":e},select:function(t,e){if(t.$isLabel&&this.groupSelect)return void this.selectGroup(t);if(!(-1!==this.blockKeys.indexOf(e)||this.disabled||t.$isDisabled||t.$isLabel)&&(!this.max||!this.multiple||this.internalValue.length!==this.max)&&(\"Tab\"!==e||this.pointerDirty)){if(t.isTag)this.$emit(\"tag\",t.label,this.id),this.search=\"\",this.closeOnSelect&&!this.multiple&&this.deactivate();else{if(this.isSelected(t))return void(\"Tab\"!==e&&this.removeElement(t));this.$emit(\"select\",t,this.id),this.multiple?this.$emit(\"input\",this.internalValue.concat([t]),this.id):this.$emit(\"input\",t,this.id),this.clearOnSelect&&(this.search=\"\")}this.closeOnSelect&&this.deactivate()}},selectGroup:function(t){var e=this,n=this.options.find(function(n){return n[e.groupLabel]===t.$groupLabel});if(n)if(this.wholeGroupSelected(n)){this.$emit(\"remove\",n[this.groupValues],this.id);var i=this.internalValue.filter(function(t){return-1===n[e.groupValues].indexOf(t)});this.$emit(\"input\",i,this.id)}else{var r=n[this.groupValues].filter(function(t){return!(e.isOptionDisabled(t)||e.isSelected(t))});this.$emit(\"select\",r,this.id),this.$emit(\"input\",this.internalValue.concat(r),this.id)}},wholeGroupSelected:function(t){var e=this;return t[this.groupValues].every(function(t){return e.isSelected(t)||e.isOptionDisabled(t)})},wholeGroupDisabled:function(t){return t[this.groupValues].every(this.isOptionDisabled)},removeElement:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!this.disabled&&!t.$isDisabled){if(!this.allowEmpty&&this.internalValue.length<=1)return void this.deactivate();var i=\"object\"===n.i(c.a)(t)?this.valueKeys.indexOf(t[this.trackBy]):this.valueKeys.indexOf(t);if(this.$emit(\"remove\",t,this.id),this.multiple){var r=this.internalValue.slice(0,i).concat(this.internalValue.slice(i+1));this.$emit(\"input\",r,this.id)}else this.$emit(\"input\",null,this.id);this.closeOnSelect&&e&&this.deactivate()}},removeLastElement:function(){-1===this.blockKeys.indexOf(\"Delete\")&&0===this.search.length&&Array.isArray(this.internalValue)&&this.internalValue.length&&this.removeElement(this.internalValue[this.internalValue.length-1],!1)},activate:function(){var t=this;this.isOpen||this.disabled||(this.adjustPosition(),this.groupValues&&0===this.pointer&&this.filteredOptions.length&&(this.pointer=1),this.isOpen=!0,this.searchable?(this.preserveSearch||(this.search=\"\"),this.$nextTick(function(){return t.$refs.search.focus()})):this.$el.focus(),this.$emit(\"open\",this.id))},deactivate:function(){this.isOpen&&(this.isOpen=!1,this.searchable?this.$refs.search.blur():this.$el.blur(),this.preserveSearch||(this.search=\"\"),this.$emit(\"close\",this.getValue(),this.id))},toggle:function(){this.isOpen?this.deactivate():this.activate()},adjustPosition:function(){if(\"undefined\"!=typeof window){var t=this.$el.getBoundingClientRect().top,e=window.innerHeight-this.$el.getBoundingClientRect().bottom;e>this.maxHeight||e>t||\"below\"===this.openDirection||\"bottom\"===this.openDirection?(this.preferredOpenDirection=\"below\",this.optimizedHeight=Math.min(e-40,this.maxHeight)):(this.preferredOpenDirection=\"above\",this.optimizedHeight=Math.min(t-40,this.maxHeight))}}}}},function(t,e,n){\"use strict\";var i=n(54),r=(n.n(i),n(31));n.n(r);e.a={data:function(){return{pointer:0,pointerDirty:!1}},props:{showPointer:{type:Boolean,default:!0},optionHeight:{type:Number,default:40}},computed:{pointerPosition:function(){return this.pointer*this.optionHeight},visibleElements:function(){return this.optimizedHeight/this.optionHeight}},watch:{filteredOptions:function(){this.pointerAdjust()},isOpen:function(){this.pointerDirty=!1}},methods:{optionHighlight:function(t,e){return{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer,\"multiselect__option--selected\":this.isSelected(e)}},groupHighlight:function(t,e){var n=this;if(!this.groupSelect)return[\"multiselect__option--group\",\"multiselect__option--disabled\"];var i=this.options.find(function(t){return t[n.groupLabel]===e.$groupLabel});return i&&!this.wholeGroupDisabled(i)?[\"multiselect__option--group\",{\"multiselect__option--highlight\":t===this.pointer&&this.showPointer},{\"multiselect__option--group-selected\":this.wholeGroupSelected(i)}]:\"multiselect__option--disabled\"},addPointerElement:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"Enter\",e=t.key;this.filteredOptions.length>0&&this.select(this.filteredOptions[this.pointer],e),this.pointerReset()},pointerForward:function(){this.pointer<this.filteredOptions.length-1&&(this.pointer++,this.$refs.list.scrollTop<=this.pointerPosition-(this.visibleElements-1)*this.optionHeight&&(this.$refs.list.scrollTop=this.pointerPosition-(this.visibleElements-1)*this.optionHeight),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()),this.pointerDirty=!0},pointerBackward:function(){this.pointer>0?(this.pointer--,this.$refs.list.scrollTop>=this.pointerPosition&&(this.$refs.list.scrollTop=this.pointerPosition),this.filteredOptions[this.pointer]&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerBackward()):this.filteredOptions[this.pointer]&&this.filteredOptions[0].$isLabel&&!this.groupSelect&&this.pointerForward(),this.pointerDirty=!0},pointerReset:function(){this.closeOnSelect&&(this.pointer=0,this.$refs.list&&(this.$refs.list.scrollTop=0))},pointerAdjust:function(){this.pointer>=this.filteredOptions.length-1&&(this.pointer=this.filteredOptions.length?this.filteredOptions.length-1:0),this.filteredOptions.length>0&&this.filteredOptions[this.pointer].$isLabel&&!this.groupSelect&&this.pointerForward()},pointerSet:function(t){this.pointer=t,this.pointerDirty=!0}}}},function(t,e,n){\"use strict\";var i=n(36),r=n(74),o=n(15),s=n(18);t.exports=n(72)(Array,\"Array\",function(t,e){this._t=s(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):\"keys\"==e?r(0,n):\"values\"==e?r(0,t[n]):r(0,[n,t[n]])},\"values\"),o.Arguments=o.Array,i(\"keys\"),i(\"values\"),i(\"entries\")},function(t,e,n){\"use strict\";var i=n(31),r=(n.n(i),n(32)),o=n(33);e.a={name:\"vue-multiselect\",mixins:[r.a,o.a],props:{name:{type:String,default:\"\"},selectLabel:{type:String,default:\"Press enter to select\"},selectGroupLabel:{type:String,default:\"Press enter to select group\"},selectedLabel:{type:String,default:\"Selected\"},deselectLabel:{type:String,default:\"Press enter to remove\"},deselectGroupLabel:{type:String,default:\"Press enter to deselect group\"},showLabels:{type:Boolean,default:!0},limit:{type:Number,default:99999},maxHeight:{type:Number,default:300},limitText:{type:Function,default:function(t){return\"and \".concat(t,\" more\")}},loading:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},openDirection:{type:String,default:\"\"},showNoOptions:{type:Boolean,default:!0},showNoResults:{type:Boolean,default:!0},tabindex:{type:Number,default:0}},computed:{isSingleLabelVisible:function(){return(this.singleValue||0===this.singleValue)&&(!this.isOpen||!this.searchable)&&!this.visibleValues.length},isPlaceholderVisible:function(){return!(this.internalValue.length||this.searchable&&this.isOpen)},visibleValues:function(){return this.multiple?this.internalValue.slice(0,this.limit):[]},singleValue:function(){return this.internalValue[0]},deselectLabelText:function(){return this.showLabels?this.deselectLabel:\"\"},deselectGroupLabelText:function(){return this.showLabels?this.deselectGroupLabel:\"\"},selectLabelText:function(){return this.showLabels?this.selectLabel:\"\"},selectGroupLabelText:function(){return this.showLabels?this.selectGroupLabel:\"\"},selectedLabelText:function(){return this.showLabels?this.selectedLabel:\"\"},inputStyle:function(){if(this.searchable||this.multiple&&this.value&&this.value.length)return this.isOpen?{width:\"100%\"}:{width:\"0\",position:\"absolute\",padding:\"0\"}},contentStyle:function(){return this.options.length?{display:\"inline-block\"}:{display:\"block\"}},isAbove:function(){return\"above\"===this.openDirection||\"top\"===this.openDirection||\"below\"!==this.openDirection&&\"bottom\"!==this.openDirection&&\"above\"===this.preferredOpenDirection},showSearchInput:function(){return this.searchable&&(!this.hasSingleSelectedSlot||!this.visibleSingleValue&&0!==this.visibleSingleValue||this.isOpen)}}}},function(t,e,n){var i=n(1)(\"unscopables\"),r=Array.prototype;void 0==r[i]&&n(8)(r,i,{}),t.exports=function(t){r[i][t]=!0}},function(t,e,n){var i=n(18),r=n(19),o=n(85);t.exports=function(t){return function(e,n,s){var u,a=i(e),l=r(a.length),c=o(s,l);if(t&&n!=n){for(;l>c;)if((u=a[c++])!=u)return!0}else for(;l>c;c++)if((t||c in a)&&a[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var i=n(9),r=n(1)(\"toStringTag\"),o=\"Arguments\"==i(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,u;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=s(e=Object(t),r))?n:o?i(e):\"Object\"==(u=i(e))&&\"function\"==typeof e.callee?\"Arguments\":u}},function(t,e,n){\"use strict\";var i=n(2);t.exports=function(){var t=i(this),e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.unicode&&(e+=\"u\"),t.sticky&&(e+=\"y\"),e}},function(t,e,n){var i=n(0).document;t.exports=i&&i.documentElement},function(t,e,n){t.exports=!n(4)&&!n(7)(function(){return 7!=Object.defineProperty(n(21)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var i=n(9);t.exports=Array.isArray||function(t){return\"Array\"==i(t)}},function(t,e,n){\"use strict\";function i(t){var e,n;this.promise=new t(function(t,i){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=i}),this.resolve=r(e),this.reject=r(n)}var r=n(14);t.exports.f=function(t){return new i(t)}},function(t,e,n){var i=n(2),r=n(76),o=n(22),s=n(27)(\"IE_PROTO\"),u=function(){},a=function(){var t,e=n(21)(\"iframe\"),i=o.length;for(e.style.display=\"none\",n(40).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),a=t.F;i--;)delete a.prototype[o[i]];return a()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=i(t),n=new u,u.prototype=null,n[s]=t):n=a(),void 0===e?n:r(n,e)}},function(t,e,n){var i=n(79),r=n(25),o=n(18),s=n(29),u=n(12),a=n(41),l=Object.getOwnPropertyDescriptor;e.f=n(4)?l:function(t,e){if(t=o(t),e=s(e,!0),a)try{return l(t,e)}catch(t){}if(u(t,e))return r(!i.f.call(t,e),t[e])}},function(t,e,n){var i=n(12),r=n(18),o=n(37)(!1),s=n(27)(\"IE_PROTO\");t.exports=function(t,e){var n,u=r(t),a=0,l=[];for(n in u)n!=s&&i(u,n)&&l.push(n);for(;e.length>a;)i(u,n=e[a++])&&(~o(l,n)||l.push(n));return l}},function(t,e,n){var i=n(46),r=n(22);t.exports=Object.keys||function(t){return i(t,r)}},function(t,e,n){var i=n(2),r=n(5),o=n(43);t.exports=function(t,e){if(i(t),r(e)&&e.constructor===t)return e;var n=o.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var i=n(10),r=n(0),o=r[\"__core-js_shared__\"]||(r[\"__core-js_shared__\"]={});(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:i.version,mode:n(24)?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},function(t,e,n){var i=n(2),r=n(14),o=n(1)(\"species\");t.exports=function(t,e){var n,s=i(t).constructor;return void 0===s||void 0==(n=i(s)[o])?e:r(n)}},function(t,e,n){var i=n(3),r=n(16),o=n(7),s=n(84),u=\"[\"+s+\"]\",a=\"​…\",l=RegExp(\"^\"+u+u+\"*\"),c=RegExp(u+u+\"*$\"),f=function(t,e,n){var r={},u=o(function(){return!!s[t]()||a[t]()!=a}),l=r[t]=u?e(p):s[t];n&&(r[n]=l),i(i.P+i.F*u,\"String\",r)},p=f.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(l,\"\")),2&e&&(t=t.replace(c,\"\")),t};t.exports=f},function(t,e,n){var i,r,o,s=n(11),u=n(68),a=n(40),l=n(21),c=n(0),f=c.process,p=c.setImmediate,h=c.clearImmediate,d=c.MessageChannel,v=c.Dispatch,g=0,y={},m=function(){var t=+this;if(y.hasOwnProperty(t)){var e=y[t];delete y[t],e()}},b=function(t){m.call(t.data)};p&&h||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return y[++g]=function(){u(\"function\"==typeof t?t:Function(t),e)},i(g),g},h=function(t){delete y[t]},\"process\"==n(9)(f)?i=function(t){f.nextTick(s(m,t,1))}:v&&v.now?i=function(t){v.now(s(m,t,1))}:d?(r=new d,o=r.port2,r.port1.onmessage=b,i=s(o.postMessage,o,1)):c.addEventListener&&\"function\"==typeof postMessage&&!c.importScripts?(i=function(t){c.postMessage(t+\"\",\"*\")},c.addEventListener(\"message\",b,!1)):i=\"onreadystatechange\"in l(\"script\")?function(t){a.appendChild(l(\"script\")).onreadystatechange=function(){a.removeChild(this),m.call(t)}}:function(t){setTimeout(s(m,t,1),0)}),t.exports={set:p,clear:h}},function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},function(t,e,n){\"use strict\";var i=n(3),r=n(20)(5),o=!0;\"find\"in[]&&Array(1).find(function(){o=!1}),i(i.P+i.F*o,\"Array\",{find:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(36)(\"find\")},function(t,e,n){\"use strict\";var i,r,o,s,u=n(24),a=n(0),l=n(11),c=n(38),f=n(3),p=n(5),h=n(14),d=n(61),v=n(66),g=n(50),y=n(52).set,m=n(75)(),b=n(43),_=n(80),x=n(86),w=n(48),S=a.TypeError,O=a.process,L=O&&O.versions,k=L&&L.v8||\"\",P=a.Promise,T=\"process\"==c(O),V=function(){},E=r=b.f,A=!!function(){try{var t=P.resolve(1),e=(t.constructor={})[n(1)(\"species\")]=function(t){t(V,V)};return(T||\"function\"==typeof PromiseRejectionEvent)&&t.then(V)instanceof e&&0!==k.indexOf(\"6.6\")&&-1===x.indexOf(\"Chrome/66\")}catch(t){}}(),C=function(t){var e;return!(!p(t)||\"function\"!=typeof(e=t.then))&&e},D=function(t,e){if(!t._n){t._n=!0;var n=t._c;m(function(){for(var i=t._v,r=1==t._s,o=0;n.length>o;)!function(e){var n,o,s,u=r?e.ok:e.fail,a=e.resolve,l=e.reject,c=e.domain;try{u?(r||(2==t._h&&$(t),t._h=1),!0===u?n=i:(c&&c.enter(),n=u(i),c&&(c.exit(),s=!0)),n===e.promise?l(S(\"Promise-chain cycle\")):(o=C(n))?o.call(n,a,l):a(n)):l(i)}catch(t){c&&!s&&c.exit(),l(t)}}(n[o++]);t._c=[],t._n=!1,e&&!t._h&&j(t)})}},j=function(t){y.call(a,function(){var e,n,i,r=t._v,o=N(t);if(o&&(e=_(function(){T?O.emit(\"unhandledRejection\",r,t):(n=a.onunhandledrejection)?n({promise:t,reason:r}):(i=a.console)&&i.error&&i.error(\"Unhandled promise rejection\",r)}),t._h=T||N(t)?2:1),t._a=void 0,o&&e.e)throw e.v})},N=function(t){return 1!==t._h&&0===(t._a||t._c).length},$=function(t){y.call(a,function(){var e;T?O.emit(\"rejectionHandled\",t):(e=a.onrejectionhandled)&&e({promise:t,reason:t._v})})},F=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),D(e,!0))},M=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw S(\"Promise can't be resolved itself\");(e=C(t))?m(function(){var i={_w:n,_d:!1};try{e.call(t,l(M,i,1),l(F,i,1))}catch(t){F.call(i,t)}}):(n._v=t,n._s=1,D(n,!1))}catch(t){F.call({_w:n,_d:!1},t)}}};A||(P=function(t){d(this,P,\"Promise\",\"_h\"),h(t),i.call(this);try{t(l(M,this,1),l(F,this,1))}catch(t){F.call(this,t)}},i=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},i.prototype=n(81)(P.prototype,{then:function(t,e){var n=E(g(this,P));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=T?O.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&D(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new i;this.promise=t,this.resolve=l(M,t,1),this.reject=l(F,t,1)},b.f=E=function(t){return t===P||t===s?new o(t):r(t)}),f(f.G+f.W+f.F*!A,{Promise:P}),n(26)(P,\"Promise\"),n(83)(\"Promise\"),s=n(10).Promise,f(f.S+f.F*!A,\"Promise\",{reject:function(t){var e=E(this);return(0,e.reject)(t),e.promise}}),f(f.S+f.F*(u||!A),\"Promise\",{resolve:function(t){return w(u&&this===s?P:this,t)}}),f(f.S+f.F*!(A&&n(73)(function(t){P.all(t).catch(V)})),\"Promise\",{all:function(t){var e=this,n=E(e),i=n.resolve,r=n.reject,o=_(function(){var n=[],o=0,s=1;v(t,!1,function(t){var u=o++,a=!1;n.push(void 0),s++,e.resolve(t).then(function(t){a||(a=!0,n[u]=t,--s||i(n))},r)}),--s||i(n)});return o.e&&r(o.v),n.promise},race:function(t){var e=this,n=E(e),i=n.reject,r=_(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,i)})});return r.e&&i(r.v),n.promise}})},function(t,e,n){\"use strict\";var i=n(3),r=n(10),o=n(0),s=n(50),u=n(48);i(i.P+i.R,\"Promise\",{finally:function(t){var e=s(this,r.Promise||o.Promise),n=\"function\"==typeof t;return this.then(n?function(n){return u(e,t()).then(function(){return n})}:t,n?function(n){return u(e,t()).then(function(){throw n})}:t)}})},function(t,e,n){\"use strict\";function i(t){n(99)}var r=n(35),o=n(101),s=n(100),u=i,a=s(r.a,o.a,!1,u,null,null);e.a=a.exports},function(t,e,n){\"use strict\";function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}e.a=i},function(t,e,n){\"use strict\";function i(t){return(i=\"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})(t)}function r(t){return(r=\"function\"==typeof Symbol&&\"symbol\"===i(Symbol.iterator)?function(t){return i(t)}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":i(t)})(t)}e.a=r},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(34),r=(n.n(i),n(55)),o=(n.n(r),n(56)),s=(n.n(o),n(57)),u=n(32),a=n(33);n.d(e,\"Multiselect\",function(){return s.a}),n.d(e,\"multiselectMixin\",function(){return u.a}),n.d(e,\"pointerMixin\",function(){return a.a}),e.default=s.a},function(t,e){t.exports=function(t,e,n,i){if(!(t instanceof e)||void 0!==i&&i in t)throw TypeError(n+\": incorrect invocation!\");return t}},function(t,e,n){var i=n(14),r=n(28),o=n(23),s=n(19);t.exports=function(t,e,n,u,a){i(e);var l=r(t),c=o(l),f=s(l.length),p=a?f-1:0,h=a?-1:1;if(n<2)for(;;){if(p in c){u=c[p],p+=h;break}if(p+=h,a?p<0:f<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;a?p>=0:f>p;p+=h)p in c&&(u=e(u,c[p],p,l));return u}},function(t,e,n){var i=n(5),r=n(42),o=n(1)(\"species\");t.exports=function(t){var e;return r(t)&&(e=t.constructor,\"function\"!=typeof e||e!==Array&&!r(e.prototype)||(e=void 0),i(e)&&null===(e=e[o])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var i=n(63);t.exports=function(t,e){return new(i(t))(e)}},function(t,e,n){\"use strict\";var i=n(8),r=n(6),o=n(7),s=n(16),u=n(1);t.exports=function(t,e,n){var a=u(t),l=n(s,a,\"\"[t]),c=l[0],f=l[1];o(function(){var e={};return e[a]=function(){return 7},7!=\"\"[t](e)})&&(r(String.prototype,t,c),i(RegExp.prototype,a,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)}))}},function(t,e,n){var i=n(11),r=n(70),o=n(69),s=n(2),u=n(19),a=n(87),l={},c={},e=t.exports=function(t,e,n,f,p){var h,d,v,g,y=p?function(){return t}:a(t),m=i(n,f,e?2:1),b=0;if(\"function\"!=typeof y)throw TypeError(t+\" is not iterable!\");if(o(y)){for(h=u(t.length);h>b;b++)if((g=e?m(s(d=t[b])[0],d[1]):m(t[b]))===l||g===c)return g}else for(v=y.call(t);!(d=v.next()).done;)if((g=r(v,m,d.value,e))===l||g===c)return g};e.BREAK=l,e.RETURN=c},function(t,e,n){var i=n(5),r=n(82).set;t.exports=function(t,e,n){var o,s=e.constructor;return s!==n&&\"function\"==typeof s&&(o=s.prototype)!==n.prototype&&i(o)&&r&&r(t,o),t}},function(t,e){t.exports=function(t,e,n){var i=void 0===n;switch(e.length){case 0:return i?t():t.call(n);case 1:return i?t(e[0]):t.call(n,e[0]);case 2:return i?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return i?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return i?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){var i=n(15),r=n(1)(\"iterator\"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||o[r]===t)}},function(t,e,n){var i=n(2);t.exports=function(t,e,n,r){try{return r?e(i(n)[0],n[1]):e(n)}catch(e){var o=t.return;throw void 0!==o&&i(o.call(t)),e}}},function(t,e,n){\"use strict\";var i=n(44),r=n(25),o=n(26),s={};n(8)(s,n(1)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+\" Iterator\")}},function(t,e,n){\"use strict\";var i=n(24),r=n(3),o=n(6),s=n(8),u=n(15),a=n(71),l=n(26),c=n(78),f=n(1)(\"iterator\"),p=!([].keys&&\"next\"in[].keys()),h=function(){return this};t.exports=function(t,e,n,d,v,g,y){a(n,e,d);var m,b,_,x=function(t){if(!p&&t in L)return L[t];switch(t){case\"keys\":case\"values\":return function(){return new n(this,t)}}return function(){return new n(this,t)}},w=e+\" Iterator\",S=\"values\"==v,O=!1,L=t.prototype,k=L[f]||L[\"@@iterator\"]||v&&L[v],P=k||x(v),T=v?S?x(\"entries\"):P:void 0,V=\"Array\"==e?L.entries||k:k;if(V&&(_=c(V.call(new t)))!==Object.prototype&&_.next&&(l(_,w,!0),i||\"function\"==typeof _[f]||s(_,f,h)),S&&k&&\"values\"!==k.name&&(O=!0,P=function(){return k.call(this)}),i&&!y||!p&&!O&&L[f]||s(L,f,P),u[e]=P,u[w]=h,v)if(m={values:S?P:x(\"values\"),keys:g?P:x(\"keys\"),entries:T},y)for(b in m)b in L||o(L,b,m[b]);else r(r.P+r.F*(p||O),e,m);return m}},function(t,e,n){var i=n(1)(\"iterator\"),r=!1;try{var o=[7][i]();o.return=function(){r=!0},Array.from(o,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var o=[7],s=o[i]();s.next=function(){return{done:n=!0}},o[i]=function(){return s},t(o)}catch(t){}return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var i=n(0),r=n(52).set,o=i.MutationObserver||i.WebKitMutationObserver,s=i.process,u=i.Promise,a=\"process\"==n(9)(s);t.exports=function(){var t,e,n,l=function(){var i,r;for(a&&(i=s.domain)&&i.exit();t;){r=t.fn,t=t.next;try{r()}catch(i){throw t?n():e=void 0,i}}e=void 0,i&&i.enter()};if(a)n=function(){s.nextTick(l)};else if(!o||i.navigator&&i.navigator.standalone)if(u&&u.resolve){var c=u.resolve(void 0);n=function(){c.then(l)}}else n=function(){r.call(i,l)};else{var f=!0,p=document.createTextNode(\"\");new o(l).observe(p,{characterData:!0}),n=function(){p.data=f=!f}}return function(i){var r={fn:i,next:void 0};e&&(e.next=r),t||(t=r,n()),e=r}}},function(t,e,n){var i=n(13),r=n(2),o=n(47);t.exports=n(4)?Object.defineProperties:function(t,e){r(t);for(var n,s=o(e),u=s.length,a=0;u>a;)i.f(t,n=s[a++],e[n]);return t}},function(t,e,n){var i=n(46),r=n(22).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},function(t,e,n){var i=n(12),r=n(28),o=n(27)(\"IE_PROTO\"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var i=n(6);t.exports=function(t,e,n){for(var r in e)i(t,r,e[r],n);return t}},function(t,e,n){var i=n(5),r=n(2),o=function(t,e){if(r(t),!i(e)&&null!==e)throw TypeError(e+\": can't set as prototype!\")};t.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(t,e,i){try{i=n(11)(Function.call,n(45).f(Object.prototype,\"__proto__\").set,2),i(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:i(t,n),t}}({},!1):void 0),check:o}},function(t,e,n){\"use strict\";var i=n(0),r=n(13),o=n(4),s=n(1)(\"species\");t.exports=function(t){var e=i[t];o&&e&&!e[s]&&r.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=\"\\t\\n\\v\\f\\r   ᠎              \\u2028\\u2029\\ufeff\"},function(t,e,n){var i=n(53),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},function(t,e,n){var i=n(0),r=i.navigator;t.exports=r&&r.userAgent||\"\"},function(t,e,n){var i=n(38),r=n(1)(\"iterator\"),o=n(15);t.exports=n(10).getIteratorMethod=function(t){if(void 0!=t)return t[r]||t[\"@@iterator\"]||o[i(t)]}},function(t,e,n){\"use strict\";var i=n(3),r=n(20)(2);i(i.P+i.F*!n(17)([].filter,!0),\"Array\",{filter:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(3),r=n(37)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0;i(i.P+i.F*(s||!n(17)(o)),\"Array\",{indexOf:function(t){return s?o.apply(this,arguments)||0:r(this,t,arguments[1])}})},function(t,e,n){var i=n(3);i(i.S,\"Array\",{isArray:n(42)})},function(t,e,n){\"use strict\";var i=n(3),r=n(20)(1);i(i.P+i.F*!n(17)([].map,!0),\"Array\",{map:function(t){return r(this,t,arguments[1])}})},function(t,e,n){\"use strict\";var i=n(3),r=n(62);i(i.P+i.F*!n(17)([].reduce,!0),\"Array\",{reduce:function(t){return r(this,t,arguments.length,arguments[1],!1)}})},function(t,e,n){var i=Date.prototype,r=i.toString,o=i.getTime;new Date(NaN)+\"\"!=\"Invalid Date\"&&n(6)(i,\"toString\",function(){var t=o.call(this);return t===t?r.call(this):\"Invalid Date\"})},function(t,e,n){n(4)&&\"g\"!=/./g.flags&&n(13).f(RegExp.prototype,\"flags\",{configurable:!0,get:n(39)})},function(t,e,n){n(65)(\"search\",1,function(t,e,n){return[function(n){\"use strict\";var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},n]})},function(t,e,n){\"use strict\";n(94);var i=n(2),r=n(39),o=n(4),s=/./.toString,u=function(t){n(6)(RegExp.prototype,\"toString\",t,!0)};n(7)(function(){return\"/a/b\"!=s.call({source:\"a\",flags:\"b\"})})?u(function(){var t=i(this);return\"/\".concat(t.source,\"/\",\"flags\"in t?t.flags:!o&&t instanceof RegExp?r.call(t):void 0)}):\"toString\"!=s.name&&u(function(){return s.call(this)})},function(t,e,n){\"use strict\";n(51)(\"trim\",function(t){return function(){return t(this,3)}})},function(t,e,n){for(var i=n(34),r=n(47),o=n(6),s=n(0),u=n(8),a=n(15),l=n(1),c=l(\"iterator\"),f=l(\"toStringTag\"),p=a.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},d=r(h),v=0;v<d.length;v++){var g,y=d[v],m=h[y],b=s[y],_=b&&b.prototype;if(_&&(_[c]||u(_,c,p),_[f]||u(_,f,y),a[y]=p,m))for(g in i)_[g]||o(_,g,i[g],!0)}},function(t,e){},function(t,e){t.exports=function(t,e,n,i,r,o){var s,u=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(s=t,u=t.default);var l=\"function\"==typeof u?u.options:u;e&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0),n&&(l.functional=!0),r&&(l._scopeId=r);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=c):i&&(c=i),c){var f=l.functional,p=f?l.render:l.beforeCreate;f?(l._injectStyles=c,l.render=function(t,e){return c.call(e),p(t,e)}):l.beforeCreate=p?[].concat(p,c):[c]}return{esModule:s,exports:u,options:l}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"multiselect\",class:{\"multiselect--active\":t.isOpen,\"multiselect--disabled\":t.disabled,\"multiselect--above\":t.isAbove},attrs:{tabindex:t.searchable?-1:t.tabindex},on:{focus:function(e){t.activate()},blur:function(e){!t.searchable&&t.deactivate()},keydown:[function(e){return\"button\"in e||!t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"])?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerForward()):null},function(e){return\"button\"in e||!t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"])?e.target!==e.currentTarget?null:(e.preventDefault(),void t.pointerBackward()):null}],keypress:function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")||!t._k(e.keyCode,\"tab\",9,e.key,\"Tab\")?(e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()}}},[t._t(\"caret\",[n(\"div\",{staticClass:\"multiselect__select\",on:{mousedown:function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}}})],{toggle:t.toggle}),t._v(\" \"),t._t(\"clear\",null,{search:t.search}),t._v(\" \"),n(\"div\",{ref:\"tags\",staticClass:\"multiselect__tags\"},[t._t(\"selection\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.visibleValues.length>0,expression:\"visibleValues.length > 0\"}],staticClass:\"multiselect__tags-wrap\"},[t._l(t.visibleValues,function(e,i){return[t._t(\"tag\",[n(\"span\",{key:i,staticClass:\"multiselect__tag\"},[n(\"span\",{domProps:{textContent:t._s(t.getOptionLabel(e))}}),t._v(\" \"),n(\"i\",{staticClass:\"multiselect__tag-icon\",attrs:{\"aria-hidden\":\"true\",tabindex:\"1\"},on:{keypress:function(n){if(!(\"button\"in n)&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\"))return null;n.preventDefault(),t.removeElement(e)},mousedown:function(n){n.preventDefault(),t.removeElement(e)}}})])],{option:e,search:t.search,remove:t.removeElement})]})],2),t._v(\" \"),t.internalValue&&t.internalValue.length>t.limit?[t._t(\"limit\",[n(\"strong\",{staticClass:\"multiselect__strong\",domProps:{textContent:t._s(t.limitText(t.internalValue.length-t.limit))}})])]:t._e()],{search:t.search,remove:t.removeElement,values:t.visibleValues,isOpen:t.isOpen}),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect__loading\"}},[t._t(\"loading\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.loading,expression:\"loading\"}],staticClass:\"multiselect__spinner\"})])],2),t._v(\" \"),t.searchable?n(\"input\",{ref:\"search\",staticClass:\"multiselect__input\",style:t.inputStyle,attrs:{name:t.name,id:t.id,type:\"text\",autocomplete:\"nope\",placeholder:t.placeholder,disabled:t.disabled,tabindex:t.tabindex},domProps:{value:t.search},on:{input:function(e){t.updateSearch(e.target.value)},focus:function(e){e.preventDefault(),t.activate()},blur:function(e){e.preventDefault(),t.deactivate()},keyup:function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"esc\",27,e.key,\"Escape\"))return null;t.deactivate()},keydown:[function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"down\",40,e.key,[\"Down\",\"ArrowDown\"]))return null;e.preventDefault(),t.pointerForward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"up\",38,e.key,[\"Up\",\"ArrowUp\"]))return null;e.preventDefault(),t.pointerBackward()},function(e){if(!(\"button\"in e)&&t._k(e.keyCode,\"delete\",[8,46],e.key,[\"Backspace\",\"Delete\"]))return null;e.stopPropagation(),t.removeLastElement()}],keypress:function(e){return\"button\"in e||!t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?(e.preventDefault(),e.stopPropagation(),e.target!==e.currentTarget?null:void t.addPointerElement(e)):null}}}):t._e(),t._v(\" \"),t.isSingleLabelVisible?n(\"span\",{staticClass:\"multiselect__single\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"singleLabel\",[[t._v(t._s(t.currentOptionLabel))]],{option:t.singleValue})],2):t._e(),t._v(\" \"),t.isPlaceholderVisible?n(\"span\",{staticClass:\"multiselect__placeholder\",on:{mousedown:function(e){return e.preventDefault(),t.toggle(e)}}},[t._t(\"placeholder\",[t._v(\"\\n \"+t._s(t.placeholder)+\"\\n \")])],2):t._e()],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"multiselect\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.isOpen,expression:\"isOpen\"}],ref:\"list\",staticClass:\"multiselect__content-wrapper\",style:{maxHeight:t.optimizedHeight+\"px\"},attrs:{tabindex:\"-1\"},on:{focus:t.activate,mousedown:function(t){t.preventDefault()}}},[n(\"ul\",{staticClass:\"multiselect__content\",style:t.contentStyle},[t._t(\"beforeList\"),t._v(\" \"),t.multiple&&t.max===t.internalValue.length?n(\"li\",[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"maxElements\",[t._v(\"Maximum of \"+t._s(t.max)+\" options selected. First remove a selected option to select another.\")])],2)]):t._e(),t._v(\" \"),!t.max||t.internalValue.length<t.max?t._l(t.filteredOptions,function(e,i){return n(\"li\",{key:i,staticClass:\"multiselect__element\"},[e&&(e.$isLabel||e.$isDisabled)?t._e():n(\"span\",{staticClass:\"multiselect__option\",class:t.optionHighlight(i,e),attrs:{\"data-select\":e&&e.isTag?t.tagPlaceholder:t.selectLabelText,\"data-selected\":t.selectedLabelText,\"data-deselect\":t.deselectLabelText},on:{click:function(n){n.stopPropagation(),t.select(e)},mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.pointerSet(i)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2),t._v(\" \"),e&&(e.$isLabel||e.$isDisabled)?n(\"span\",{staticClass:\"multiselect__option\",class:t.groupHighlight(i,e),attrs:{\"data-select\":t.groupSelect&&t.selectGroupLabelText,\"data-deselect\":t.groupSelect&&t.deselectGroupLabelText},on:{mouseenter:function(e){if(e.target!==e.currentTarget)return null;t.groupSelect&&t.pointerSet(i)},mousedown:function(n){n.preventDefault(),t.selectGroup(e)}}},[t._t(\"option\",[n(\"span\",[t._v(t._s(t.getOptionLabel(e)))])],{option:e,search:t.search})],2):t._e()])}):t._e(),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoResults&&0===t.filteredOptions.length&&t.search&&!t.loading,expression:\"showNoResults && (filteredOptions.length === 0 && search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noResult\",[t._v(\"No elements found. Consider changing the search query.\")],{search:t.search})],2)]),t._v(\" \"),n(\"li\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showNoOptions&&0===t.options.length&&!t.search&&!t.loading,expression:\"showNoOptions && (options.length === 0 && !search && !loading)\"}]},[n(\"span\",{staticClass:\"multiselect__option\"},[t._t(\"noOptions\",[t._v(\"List is empty.\")])],2)]),t._v(\" \"),t._t(\"afterList\")],2)])])],2)},r=[],o={render:i,staticRenderFns:r};e.a=o}])});","import { EventBus } from \"./EventBus\"\nimport { ProxyBus } from \"./ProxyBus\"\nimport { SimpleBus } from \"./SimpleBus\"\n\ndeclare global {\n interface Window {\n OC: any\n _nc_event_bus: any\n }\n}\n\nfunction getBus(): EventBus {\n if ((typeof window.OC !== 'undefined') && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n console.warn('found old event bus instance at OC._eventBus. Update your version!')\n window._nc_event_bus = window.OC._eventBus\n }\n\n // Either use an existing event bus instance or create one\n if (typeof window._nc_event_bus !== 'undefined') {\n return new ProxyBus(window._nc_event_bus)\n } else {\n return window._nc_event_bus = new SimpleBus()\n }\n}\n\nconst bus = getBus()\n\n/**\n * Register an event listener\n *\n * @param name name of the event\n * @param handler callback invoked for every matching event emitted on the bus\n */\nexport function subscribe(name: string, handler: (string) => void): void {\n bus.subscribe(name, handler)\n}\n\n/**\n * Unregister a previously registered event listener\n *\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\n *\n * @param name name of the event\n * @param handler callback passed to `subscribed`\n */\nexport function unsubscribe(name: string, handler: (string) => void): void {\n bus.unsubscribe(name, handler)\n}\n\n/**\n * Emit an event\n *\n * @param name name of the event\n * @param event event payload\n */\nexport function emit(name: string, event: object): void {\n bus.emit(name, event)\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","!function(t,A){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=A():\"function\"==typeof define&&define.amd?define(\"Components/Avatar\",[],A):\"object\"==typeof exports?exports[\"Components/Avatar\"]=A():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Avatar\"]=A())}(window,(function(){return function(t){var A={};function n(e){if(A[e])return A[e].exports;var i=A[e]={i:e,l:!1,exports:{}};return t[e].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=A,n.d=function(t,A,e){n.o(t,A)||Object.defineProperty(t,A,{enumerable:!0,get:e})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,A){if(1&A&&(t=n(t)),8&A)return t;if(4&A&&\"object\"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(n.r(e),Object.defineProperty(e,\"default\",{enumerable:!0,value:t}),2&A&&\"string\"!=typeof t)for(var i in t)n.d(e,i,function(A){return t[A]}.bind(null,i));return e},n.n=function(t){var A=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(A,\"a\",A),A},n.o=function(t,A){return Object.prototype.hasOwnProperty.call(t,A)},n.p=\"/dist/\",n(n.s=80)}([function(t,A,n){\"use strict\";function e(t,A){return function(t){if(Array.isArray(t))return t}(t)||function(t,A){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],e=!0,i=!1,o=void 0;try{for(var a,r=t[Symbol.iterator]();!(e=(a=r.next()).done)&&(n.push(a.value),!A||n.length!==A);e=!0);}catch(t){i=!0,o=t}finally{try{e||null==r.return||r.return()}finally{if(i)throw o}}return n}(t,A)||function(t,A){if(!t)return;if(\"string\"==typeof t)return i(t,A);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,A)}(t,A)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,A){(null==A||A>t.length)&&(A=t.length);for(var n=0,e=new Array(A);n<A;n++)e[n]=t[n];return e}t.exports=function(t){var A=e(t,4),n=A[1],i=A[3];if(\"function\"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(o),r=\"/*# \".concat(a,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(s).concat([r]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,A,n){\"use strict\";t.exports=function(t){var A=[];return A.toString=function(){return this.map((function(A){var n=t(A);return A[2]?\"@media \".concat(A[2],\" {\").concat(n,\"}\"):n})).join(\"\")},A.i=function(t,n,e){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(e)for(var o=0;o<this.length;o++){var a=this[o][0];null!=a&&(i[a]=!0)}for(var r=0;r<t.length;r++){var s=[].concat(t[r]);e&&i[s[0]]||(n&&(s[2]?s[2]=\"\".concat(n,\" and \").concat(s[2]):s[2]=n),A.push(s))}},A}},function(t,A,n){\"use strict\";var e,i=function(){return void 0===e&&(e=Boolean(window&&document&&document.all&&!window.atob)),e},o=function(){var t={};return function(A){if(void 0===t[A]){var n=document.querySelector(A);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[A]=n}return t[A]}}(),a=[];function r(t){for(var A=-1,n=0;n<a.length;n++)if(a[n].identifier===t){A=n;break}return A}function s(t,A){for(var n={},e=[],i=0;i<t.length;i++){var o=t[i],s=A.base?o[0]+A.base:o[0],c=n[s]||0,l=\"\".concat(s,\" \").concat(c);n[s]=c+1;var d=r(l),u={css:o[1],media:o[2],sourceMap:o[3]};-1!==d?(a[d].references++,a[d].updater(u)):a.push({identifier:l,updater:m(u,A),references:1}),e.push(l)}return e}function c(t){var A=document.createElement(\"style\"),e=t.attributes||{};if(void 0===e.nonce){var i=n.nc;i&&(e.nonce=i)}if(Object.keys(e).forEach((function(t){A.setAttribute(t,e[t])})),\"function\"==typeof t.insert)t.insert(A);else{var a=o(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(A)}return A}var l,d=(l=[],function(t,A){return l[t]=A,l.filter(Boolean).join(\"\\n\")});function u(t,A,n,e){var i=n?\"\":e.media?\"@media \".concat(e.media,\" {\").concat(e.css,\"}\"):e.css;if(t.styleSheet)t.styleSheet.cssText=d(A,i);else{var o=document.createTextNode(i),a=t.childNodes;a[A]&&t.removeChild(a[A]),a.length?t.insertBefore(o,a[A]):t.appendChild(o)}}function g(t,A,n){var e=n.css,i=n.media,o=n.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),o&&\"undefined\"!=typeof btoa&&(e+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}var p=null,f=0;function m(t,A){var n,e,i;if(A.singleton){var o=f++;n=p||(p=c(A)),e=u.bind(null,n,o,!1),i=u.bind(null,n,o,!0)}else n=c(A),e=g.bind(null,n,A),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return e(t),function(A){if(A){if(A.css===t.css&&A.media===t.media&&A.sourceMap===t.sourceMap)return;e(t=A)}else i()}}t.exports=function(t,A){(A=A||{}).singleton||\"boolean\"==typeof A.singleton||(A.singleton=i());var n=s(t=t||[],A);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var e=0;e<n.length;e++){var i=r(n[e]);a[i].references--}for(var o=s(t,A),c=0;c<n.length;c++){var l=r(n[c]);0===a[l].references&&(a[l].updater(),a.splice(l,1))}n=o}}}},function(t,A,n){\"use strict\";function e(t,A,n,e,i,o,a,r){var s,c=\"function\"==typeof t?t.options:t;if(A&&(c.render=A,c.staticRenderFns=n,c._compiled=!0),e&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),a?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=s):i&&(s=r?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(t,A){return s.call(A),l(t,A)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,s):[s]}return{exports:t,options:c}}n.d(A,\"a\",(function(){return e}))},function(t,A,n){\"use strict\";t.exports=function(t,A){return A||(A={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),A.hash&&(t+=A.hash),/[\"'() \\t\\n]/.test(t)||A.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,A){t.exports=require(\"vue\")},function(t,A){t.exports=require(\"core-js/modules/es.object.to-string.js\")},function(t,A){t.exports=require(\"v-tooltip\")},function(t,A,n){\"use strict\";A.a=\"data:application/vnd.ms-fontobject;base64,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\"},function(t,A,n){\"use strict\";A.a=\"data:font/woff;base64,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PAE55eh8gAAAAQAAAAEAAIjNr6tfDzz1AAsTiAAAAADc3UwkAAAAANyMcCX/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(t,A,n){\"use strict\";A.a=\"data:font/ttf;base64,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AAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(t,A,n){\"use strict\";A.a=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLTk3MzdmZmYiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtOTczN2ZmZiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4=\"},,function(t,A){t.exports=require(\"@nextcloud/router\")},function(t,A){t.exports=require(\"core-js/modules/es.function.name.js\")},function(t,A){t.exports=require(\"core-js/modules/es.regexp.exec.js\")},function(t,A){t.exports=require(\"core-js/modules/es.array.iterator.js\")},function(t,A){t.exports=require(\"core-js/modules/es.string.iterator.js\")},function(t,A){t.exports=require(\"core-js/modules/web.dom-collections.iterator.js\")},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./Popover.vue\"],names:[],mappings:\"AAgHA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A){},function(t,A,n){\"use strict\";n.r(A);var e=n(7),i=n(2),o=n.n(i),a=n(23),r={insert:\"head\",singleton:!1};o()(a.a,r),a.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\ne.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"9737fff\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),e.VTooltip.options.defaultHtml=!1;A.default=e.VTooltip},,function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\".vue-tooltip[data-v-9737fff]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-9737fff][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-9737fff][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-9737fff][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-9737fff] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-9737fff] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\"],names:[],mappings:\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A){t.exports=require(\"core-js/modules/es.array.map.js\")},function(t,A){t.exports=require(\"core-js/modules/es.string.replace.js\")},function(t,A){t.exports=require(\"core-js/modules/es.regexp.to-string.js\")},,function(t,A,n){\"use strict\";var e={name:\"Popover\",components:{VPopover:n(7).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(A){A?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},i=n(2),o=n.n(i),a=n(19),r={insert:\"head\",singleton:!1},s=(o()(a.a,r),a.a.locals,n(3)),c=n(20),l=n.n(c),d=Object(s.a)(e,(function(){var t=this.$createElement,A=this._self._c||t;return A(\"VPopover\",this._g(this._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},\"VPopover\",this.$attrs,!1),this.$listeners),[this._t(\"trigger\"),this._v(\" \"),A(\"template\",{slot:\"popover\"},[this._t(\"default\")],2)],2)}),[],!1,null,null,null);\"function\"==typeof l.a&&l()(d);A.a=d.exports},function(t,A){t.exports=require(\"@nextcloud/event-bus\")},function(t,A){t.exports=require(\"core-js/modules/es.number.constructor.js\")},function(t,A){t.exports=require(\"core-js/modules/es.symbol.js\")},,,function(t,A){t.exports=require(\"@nextcloud/auth\")},function(t,A){t.exports=require(\"core-js/modules/es.array.concat.js\")},function(t,A,n){\"use strict\";n.r(A);var e=n(5),i=new(n.n(e).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});A.default={data:function(){return{isMobile:!1}},mounted:function(){i.$on(\"changed\",this.onIsMobileChanged),this.isMobile=i.isMobile},beforeDestroy:function(){i.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,A){t.exports=require(\"@nextcloud/axios\")},function(t,A){t.exports=require(\"core-js/modules/es.symbol.description.js\")},,function(t,A){t.exports=require(\"core-js/modules/web.url.js\")},function(t,A){t.exports=require(\"core-js/modules/es.array.slice.js\")},function(t,A){t.exports=require(\"v-click-outside\")},function(t,A){t.exports=require(\"striptags\")},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\".mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAsGC,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A,n){\"use strict\";n.d(A,\"a\",(function(){return e.default})),n.d(A,\"b\",(function(){return i.default})),n.d(A,\"c\",(function(){return o.default})),n.d(A,\"d\",(function(){return a.default})),n.d(A,\"e\",(function(){return g}));var e=n(75),i=n(76),o=n(36),a=n(60),r=(n(6),n(59),n(58),n(37)),s=n.n(r),c=n(13),l=n(82),d=n(34);function u(t,A,n,e,i,o,a){try{var r=t[o](a),s=r.value}catch(t){return void n(t)}r.done?A(s):Promise.resolve(s).then(e,i)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var g={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var A,n=this;return(A=regeneratorRuntime.mark((function A(){var e,i,o,a,r,u,g,p,f;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(e=Object(l.getCapabilities)(),Object.prototype.hasOwnProperty.call(e,\"user_status\")&&e.user_status.enabled){A.next=3;break}return A.abrupt(\"return\");case 3:if(Object(d.getCurrentUser)()){A.next=5;break}return A.abrupt(\"return\");case 5:return A.prev=5,A.next=8,s.a.get(Object(c.generateOcsUrl)(\"apps/user_status/api/v1\",2)+\"statuses/\".concat(encodeURIComponent(t)));case 8:i=A.sent,o=i.data,a=o.ocs.data,r=a.status,u=a.message,g=a.icon,n.userStatus.status=r,n.userStatus.message=u||\"\",n.userStatus.icon=g||\"\",n.hasStatus=!0,A.next=22;break;case 17:if(A.prev=17,A.t0=A.catch(5),404!==A.t0.response.status||0!==(null===(p=A.t0.response.data.ocs)||void 0===p||null===(f=p.data)||void 0===f?void 0:f.length)){A.next=21;break}return A.abrupt(\"return\");case 21:console.error(A.t0);case 22:case\"end\":return A.stop()}}),A,null,[[5,17]])})),function(){var t=this,n=arguments;return new Promise((function(e,i){var o=A.apply(t,n);function a(t){u(o,e,i,a,r,\"next\",t)}function r(t){u(o,e,i,a,r,\"throw\",t)}a(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,A){t.exports=require(\"core-js/modules/es.symbol.iterator.js\")},,function(t,A){t.exports=require(\"linkifyjs/string\")},,,,function(t,A){t.exports=require(\"core-js/modules/es.array.from.js\")},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\"\\nbutton.menuitem[data-v-febed9b6] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-febed9b6] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-febed9b6]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-febed9b6] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-febed9b6] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenuItem.vue\"],names:[],mappings:\";AAmLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),A.a=a},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\"li[data-v-febed9b6]{display:flex;flex:0 0 auto}li.hidden[data-v-febed9b6]{display:none}li>button[data-v-febed9b6],li>a[data-v-febed9b6],li>.menuitem[data-v-febed9b6]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{padding:0 14px 0 44px}li>button[data-v-febed9b6]:not(:disabled):hover,li>button[data-v-febed9b6]:not(:disabled):focus,li>button:not(:disabled).active[data-v-febed9b6],li>a[data-v-febed9b6]:not(:disabled):hover,li>a[data-v-febed9b6]:not(:disabled):focus,li>a:not(:disabled).active[data-v-febed9b6],li>.menuitem[data-v-febed9b6]:not(:disabled):hover,li>.menuitem[data-v-febed9b6]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-febed9b6]{opacity:1 !important}li>button.action[data-v-febed9b6],li>a.action[data-v-febed9b6],li>.menuitem.action[data-v-febed9b6]{padding:inherit !important}li>button>span[data-v-febed9b6],li>a>span[data-v-febed9b6],li>.menuitem>span[data-v-febed9b6]{cursor:pointer;white-space:nowrap}li>button>p[data-v-febed9b6],li>a>p[data-v-febed9b6],li>.menuitem>p[data-v-febed9b6]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-febed9b6],li>a>select[data-v-febed9b6],li>.menuitem>select[data-v-febed9b6]{margin:0;margin-left:6px}li>button[data-v-febed9b6]:not(:empty),li>a[data-v-febed9b6]:not(:empty),li>.menuitem[data-v-febed9b6]:not(:empty){padding-right:14px !important}li>button>img[data-v-febed9b6],li>a>img[data-v-febed9b6],li>.menuitem>img[data-v-febed9b6]{width:16px;padding:14px}li>button>input.radio+label[data-v-febed9b6],li>button>input.checkbox+label[data-v-febed9b6],li>a>input.radio+label[data-v-febed9b6],li>a>input.checkbox+label[data-v-febed9b6],li>.menuitem>input.radio+label[data-v-febed9b6],li>.menuitem>input.checkbox+label[data-v-febed9b6]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-febed9b6]::before,li>a>input.checkbox+label[data-v-febed9b6]::before,li>.menuitem>input.checkbox+label[data-v-febed9b6]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-febed9b6]::before,li>a>input.radio+label[data-v-febed9b6]::before,li>.menuitem>input.radio+label[data-v-febed9b6]::before{margin:-2px 12px 0}li>button>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-febed9b6],li>a form[data-v-febed9b6],li>.menuitem form[data-v-febed9b6]{display:flex;flex:1 1 auto}li>button form[data-v-febed9b6]:not(:first-child),li>a form[data-v-febed9b6]:not(:first-child),li>.menuitem form[data-v-febed9b6]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-febed9b6],li>button>span[style*='display:none']+form[data-v-febed9b6],li>a>span.hidden+form[data-v-febed9b6],li>a>span[style*='display:none']+form[data-v-febed9b6],li>.menuitem>span.hidden+form[data-v-febed9b6],li>.menuitem>span[style*='display:none']+form[data-v-febed9b6]{margin-left:0}li>button input[data-v-febed9b6],li>a input[data-v-febed9b6],li>.menuitem input[data-v-febed9b6]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-febed9b6]:not(:first-child),li>a input[data-v-febed9b6]:not(:first-child),li>.menuitem input[data-v-febed9b6]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-febed9b6]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-febed9b6]{margin-bottom:12px}li>button[data-v-febed9b6]{padding:0}li>button span[data-v-febed9b6]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AA4MA,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBC/LmB,CDgMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC3LiB,CDiKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCnNa,CD+KhB,+RA2CG,wBC9NkB,CDmLrB,iqCAoDK,gBCvOgB,CDmLrB,iQA2DG,qBC9OkB,CDmLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCvRa,CDwRb,YCpR6C,CD2KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cChUkB,CDiUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC7Ua\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o)()(i.a);a.push([t.i,\"ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AA0DA,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),A.a=a},function(t,A){},function(t,A){t.exports=require(\"core-js/modules/es.array.join.js\")},function(t,A){t.exports=require(\"regenerator-runtime/runtime.js\")},function(t,A){t.exports=require(\"core-js/modules/es.promise.js\")},function(t,A,n){\"use strict\";n.r(A),n.d(A,\"USERID_REGEX\",(function(){return v})),n.d(A,\"USERID_REGEX_WITH_SPACE\",(function(){return B}));n(90),n(15),n(26),n(91),n(24),n(79),n(25),n(57),n(63);var e=n(62),i=n.n(e),o=n(48),a=n.n(o),r=n(43),s=n.n(r),c=n(5),l=n.n(c),d=n(13),u={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,A){return Object(d.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:A})}}},g=n(2),p=n.n(g),f=n(44),m={insert:\"head\",singleton:!1},C=(p()(f.a,m),f.a.locals,n(3)),b=Object(C.a)(u,(function(){var t=this,A=t.$createElement,n=t._self._c||A;return n(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[n(\"span\",{staticClass:\"mention-bubble__wrapper\"},[n(\"span\",{staticClass:\"mention-bubble__content\"},[n(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,v=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),B=new RegExp(\"\".concat(\"(?:^|\\\\s)\",'(@\"[a-zA-Z0-9 _.@\\\\-\\']+\")(').concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");A.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var A=this;return i()(t).split(v).map((function(t){return t.split(B)})).flat().map((function(t){if(!t.startsWith(\"@\"))return a()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var n=t.replace(/[@\"]/gi,\"\");return\" \"+A.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var A=t.replace(/<br>/gim,\"\\n\");return A=(A=(A=A.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),A=s()(A,\"<div>\"),A=s()(A)},genSelectTemplate:function(t){var A=this.userData[t];return A?this.renderComponentHtml(A,b).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,A){var n=new(l.a.extend(A))({propsData:t}),e=document.createElement(\"div\"),i=document.createElement(\"div\");e.style.display=\"none\",e.appendChild(i),document.body.appendChild(e),n.$mount(i);var o=e.innerHTML;return n.$destroy(),e.remove(),o}}}},,function(t,A){t.exports=require(\"escape-html\")},function(t,A){t.exports=require(\"core-js/modules/es.string.starts-with.js\")},function(t,A,n){\"use strict\";n(35);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nfunction e(t,A,n){this.r=t,this.g=A,this.b=n}function i(t,A,n){var i=[];i.push(A);for(var o=function(t,A){var n=new Array(3);return n[0]=(A[1].r-A[0].r)/t,n[1]=(A[1].g-A[0].g)/t,n[2]=(A[1].b-A[0].b)/t,n}(t,[A,n]),a=1;a<t;a++){var r=parseInt(A.r+o[0]*a,10),s=parseInt(A.g+o[1]*a,10),c=parseInt(A.b+o[2]*a,10);i.push(new e(r,s,c))}return i}A.a=function(t){t||(t=6);var A=new e(182,70,157),n=new e(221,203,85),o=new e(0,130,201),a=i(t,A,n),r=i(t,n,o),s=i(t,o,A);return a.concat(r).concat(s)}},function(t,A,n){\"use strict\";var e=n(0),i=n.n(e),o=n(1),a=n.n(o),r=n(4),s=n.n(r),c=n(8),l=n(9),d=n(10),u=n(11),g=a()(i.a),p=s()(c.a),f=s()(l.a),m=s()(d.a),C=s()(u.a);g.push([t.i,'@font-face{font-family:\"iconfont-vue-9737fff\";src:url('+p+\");src:url(\"+p+') format(\"embedded-opentype\"),url('+f+') format(\"woff\"),url('+m+') format(\"truetype\"),url('+C+') format(\"svg\")}.icon[data-v-5baa2f3a]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-left[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right-double[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.breadcrumb[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.checkmark[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.close[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.confirm[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.info[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.menu[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.more[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.pause[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.play[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.triangle-s[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-away[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-dnd[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-invisible[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-online[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.avatardiv[data-v-5baa2f3a]{position:relative;display:inline-block}.avatardiv--unknown[data-v-5baa2f3a]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-5baa2f3a]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-5baa2f3a]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-5baa2f3a]{cursor:pointer}.avatardiv--with-menu[data-v-5baa2f3a] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]{display:flex;cursor:pointer;opacity:0;background:none;font-size:18px;align-items:center;justify-content:center}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]::before{display:block}.avatardiv--with-menu:focus .icon-more[data-v-5baa2f3a],.avatardiv--with-menu:hover .icon-more[data-v-5baa2f3a]{opacity:1}.avatardiv--with-menu:focus img[data-v-5baa2f3a],.avatardiv--with-menu:hover img[data-v-5baa2f3a]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-5baa2f3a],.avatardiv--with-menu img[data-v-5baa2f3a]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-5baa2f3a]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-5baa2f3a]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__status[data-v-5baa2f3a]{position:absolute;top:22px;left:22px;width:10px;height:10px;border:1px solid rgba(255,255,255,0.5);background-clip:content-box}.avatardiv .avatardiv__status--positive[data-v-5baa2f3a]{border-radius:50%;background-color:var(--color-success)}.avatardiv .avatardiv__status--negative[data-v-5baa2f3a]{background-color:var(--color-error)}.avatardiv .avatardiv__status--neutral[data-v-5baa2f3a]{border:none;background-color:transparent !important}.avatardiv .avatardiv__status--neutral svg[data-v-5baa2f3a]{position:absolute;top:-3px;left:-2px}.avatardiv .avatardiv__status--neutral svg path[data-v-5baa2f3a]{fill:#aaa}.avatardiv .avatardiv__user-status[data-v-5baa2f3a]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-5baa2f3a]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-5baa2f3a]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-5baa2f3a]{color:#49b382}.avatardiv .avatardiv__user-status--online[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--dnd[data-v-5baa2f3a]{background-color:#ffffff;color:#ed484c}.avatardiv .avatardiv__user-status--dnd[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--away[data-v-5baa2f3a]{color:#f4a331}.avatardiv .avatardiv__user-status--away[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--icon[data-v-5baa2f3a]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-5baa2f3a]{position:relative;display:inline-block}.avatar-class-icon[data-v-5baa2f3a]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n',\"\",{version:3,sources:[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,4BACb,iBC2eE,CACT,oBACA,CAAA,qCAEA,iBAAU,CACT,8CACkB,CAAA,qDAGZ,gCAEN,CAAA,yCAKoB,CAAA,sEAPd,gCAKL,CAAA,uCACA,cAAA,CAAA,iDAMD,iBAAiB,CAChB,KAAA,CAAA,MAAU,CAAA,kDAHX,YAOA,CAAA,cACU,CAAA,SACH,CAAE,eACD,CAAE,cACG,CAAA,kBAEZ,CAAA,sBACA,CAAA,yDAPD,kCDlnBD,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,0DC+hBF,aAAU,CAAA,gHAPV,SAuBC,CAAA,kGAvBD,WAAW,CAAA,6FAAX,yCAgCqB,CAAA,qCAnDvB,iBAuDG,CAAQ,KACT,CAAA,MAAU,CAAA,aAEV,CAAA,UACA,CAAA,iBACO,CAAI,kBACO,CAClB,kCACO,CAAA,gCAAA,UA/DT,CAAA,WAoEE,CAAA,gBACQ,CAAA,+CAKT,iBAAA,CAAkB,QACjB,CAAQ,SAAU,CAClB,UACA,CAAA,WACA,CAAA,sCAEkB,CAAA,2BAClB,CAAA,yDACC,iBAAA,CAAU,qCAEQ,CAAA,yDAElB,mCACgB,CAAE,wDAElB,WAAA,CAAA,uCAEkB,CAAA,4DAFlB,iBAGA,CAAG,QACF,CAAQ,SAAU,CAClB,iEALD,SAAS,CAGT,oDAWF,iBAAA,CAAuB,UACZ,CAAA,WACV,CAAA,WACA,CAAA,UACA,CAAA,gBACO,CAAA,kCAEI,CAAA,6CACO,CAAA,6CACA,CAAA,iBAAA,CAA4B,gEAT/C,0CAagB,CAAA,8CACI,CAAA,iEAdpB,uCAiBgB,CAAA,2CACI,CAAA,4DAGlB,aAAA,CAAA,mEAAA,kCDptBF,CAAA,iBAAA,CAAsB,eAkFP,CAAA,WACZ,CAAA,yDCqoBD,wBAEA,CAAA,aAAkB,CAAA,gEAFlB,kCDxtBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC0oBD,aAAA,CAAA,iEAAA,kCD7tBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC8oBD,WAAA,CAAA,4BAEA,CAAA,iDA3IO,iBA+IT,CAAA,oBACW,CAAQ,oCACT,iBACT,CAAA,+CAKiB,CAAA,WAAA\",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\\'__iconfont__data\\'), $__iconfont__data, ()), (\\n\\t\"iconfont-vue-9737fff\": (\\n\\t\\t\"arrow-left-double\": \"\\\\ea01\",\\n\\t\\t\"arrow-left\": \"\\\\ea02\",\\n\\t\\t\"arrow-right-double\": \"\\\\ea03\",\\n\\t\\t\"arrow-right\": \"\\\\ea04\",\\n\\t\\t\"breadcrumb\": \"\\\\ea05\",\\n\\t\\t\"checkmark\": \"\\\\ea06\",\\n\\t\\t\"close\": \"\\\\ea07\",\\n\\t\\t\"confirm\": \"\\\\ea08\",\\n\\t\\t\"info\": \"\\\\ea09\",\\n\\t\\t\"menu\": \"\\\\ea0a\",\\n\\t\\t\"more\": \"\\\\ea0b\",\\n\\t\\t\"pause\": \"\\\\ea0c\",\\n\\t\\t\"play\": \"\\\\ea0d\",\\n\\t\\t\"triangle-s\": \"\\\\ea0e\",\\n\\t\\t\"user-status-away\": \"\\\\ea0f\",\\n\\t\\t\"user-status-dnd\": \"\\\\ea10\",\\n\\t\\t\"user-status-invisible\": \"\\\\ea11\",\\n\\t\\t\"user-status-online\": \"\\\\ea12\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: \\'icon\\' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be \\'icon-\\' it would result in .icon-star\\n$icon-prefix: \\'\\' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn \\'Undefined Iconfont Family!\\';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn \\'Undefined Iconfont Glyph!\\';\\n @return \\'\\';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont(\\'star\\') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \"iconfont-vue-9737fff\";\\n src: url(\\'../iconfont-vue-9737fff.eot\\'); /* IE9 Compat Modes */\\n src: url(\\'../iconfont-vue-9737fff.eot?#iefix\\') format(\\'embedded-opentype\\'), /* IE6-IE8 */\\n url(\\'../iconfont-vue-9737fff.woff\\') format(\\'woff\\'), /* Pretty Modern Browsers */\\n url(\\'../iconfont-vue-9737fff.ttf\\') format(\\'truetype\\'), /* Safari, Android, iOS */\\n url(\\'../iconfont-vue-9737fff.svg\\') format(\\'svg\\'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \"iconfont-vue-9737fff\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \"iconfont-vue-9737fff\";\\n content: iconfont-item(\"iconfont-vue-9737fff/#{$icon}\");\\n }\\n }\\n }\\n}\\n',\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__status {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 22px;\\n\\t\\tleft: 22px;\\n\\t\\twidth: 10px;\\n\\t\\theight: 10px;\\n\\t\\tborder: 1px solid rgba(255, 255, 255, .5);\\n\\t\\tbackground-clip: content-box;\\n\\t\\t&--positive {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t\\t&--negative {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t\\t&--neutral {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: -3px;\\n\\t\\t\\t\\tleft: -2px;\\n\\t\\t\\t\\tpath {\\n\\t\\t\\t\\t\\tfill: #aaa;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\t@include iconfont('user-status-online');\\n\\t\\t\\tcolor: #49b382;\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\t@include iconfont('user-status-dnd');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t\\tcolor: #ed484c;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\t@include iconfont('user-status-away');\\n\\t\\t\\tcolor: #f4a331;\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),A.a=g},function(t,A){},,,,,,,,,function(t,A,n){\"use strict\";n.r(A);n(41),n(6),n(14),n(52),n(17),n(31),n(38),n(46),n(16),n(18);function e(t,A){var n;if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,A){if(!t)return;if(\"string\"==typeof t)return i(t,A);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,A)}(t))||A&&t&&\"number\"==typeof t.length){n&&(t=n);var e=0,o=function(){};return{s:o,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var a,r=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return r=t.done,t},e:function(t){s=!0,a=t},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw a}}}}function i(t,A){(null==A||A>t.length)&&(A=t.length);for(var n=0,e=new Array(A);n<A;n++)e[n]=t[n];return e}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */A.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var A=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===A.length||!this.hasNodeOrAnyParentClass(t.target,A)},hasNodeOrAnyParentClass:function(t,A){var n,i=e(A);try{for(i.s();!(n=i.n()).done;){var o,a=n.value;if(null!=t&&null!==(o=t.classList)&&void 0!==o&&o.contains(a))return!0}}catch(t){i.e(t)}finally{i.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,A)}}}},function(t,A,n){\"use strict\";n.r(A),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */A.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,A,n){\"use strict\";n.r(A);n(6),n(26),n(16),n(17),n(18),n(40);var e={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},i=n(2),o=n.n(i),a=n(53),r={insert:\"head\",singleton:!1},s=(o()(a.a,r),a.a.locals,n(54)),c={insert:\"head\",singleton:!1},l=(o()(s.a,c),s.a.locals,n(3)),d={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(l.a)(e,(function(){var t=this,A=t.$createElement,n=t._self._c||A;return n(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?n(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?n(\"img\",{attrs:{src:t.item.icon}}):n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?n(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?n(\"form\",{class:t.item.input,on:{submit:function(A){return A.preventDefault(),t.item.action(A)}}},[n(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(A){var n=t.item.model,e=A.target,i=!!e.checked;if(Array.isArray(n)){var o=t._i(n,null);e.checked?o<0&&t.$set(t.item,\"model\",n.concat([null])):o>-1&&t.$set(t.item,\"model\",n.slice(0,o).concat(n.slice(o+1)))}else t.$set(t.item,\"model\",i)},t.item.action]}}):\"radio\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(A){return t.$set(t.item,\"model\",null)},t.item.action]}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(A){A.target.composing||t.$set(t.item,\"model\",A.target.value)}}}),t._v(\" \"),n(\"label\",{attrs:{for:t.key},on:{click:function(A){return A.stopPropagation(),A.preventDefault(),t.item.action(A)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?n(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled},on:{click:function(A){return A.stopPropagation(),A.preventDefault(),t.item.action(A)}}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"febed9b6\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},u=n(55),g={insert:\"head\",singleton:!1},p=(o()(u.a,g),u.a.locals,n(56)),f=n.n(p),m=Object(l.a)(d,(function(){var t=this.$createElement,A=this._self._c||t;return A(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,n){return A(\"PopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof f.a&&f()(m);var C=m.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */A.default=C},,function(t,A){t.exports=require(\"core-js/modules/es.string.split.js\")},function(t,A,n){\"use strict\";n.r(A);n(58),n(30),n(89),n(103),n(104),n(35),n(24),n(57),n(6),n(59);var e=n(86),i=n(42),o=n(77),a=n(34),r=n(29),s=n(37),c=n.n(s),l=n(13),d=n(21),u=n(84),g=n(45),p=n(28);function f(t,A,n,e,i,o,a){try{var r=t[o](a),s=r.value}catch(t){return void n(t)}r.done?A(s):Promise.resolve(s).then(e,i)}function m(t){return function(){var A=this,n=arguments;return new Promise((function(e,i){var o=t.apply(A,n);function a(t){f(o,e,i,a,r,\"next\",t)}function r(t){f(o,e,i,a,r,\"throw\",t)}a(void 0)}))}}var C=Object(e.getBuilder)(\"nextcloud\").persist().build();function b(t){var A=C.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof A?Boolean(A):null}function v(t,A){t&&C.setItem(\"user-has-avatar.\"+t,A)}var B={name:\"Avatar\",directives:{tooltip:d.default,ClickOutside:i.directive},components:{Popover:p.a,PopoverMenu:o.default},mixins:[g.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},status:{type:String,default:null,validator:function(t){switch(t){case\"positive\":case\"negative\":case\"neutral\":return!0}return!1}},statusColor:{type:[Number,String],default:null,validator:function(t){return/^([a-f0-9]{3}){1,2}$/i.test(t)}},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(a.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={width:this.size+\"px\",height:this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var A=Object(u.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+A.r+\", \"+A.g+\", \"+A.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var A=this.getUserIdentifier,n=A.indexOf(\" \");\"\"===A?t=\"?\":(t=String.fromCodePoint(A.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(A.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,A,n,e=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,A=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(A),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(e):e}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(r.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(r.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return m(regeneratorRuntime.mark((function A(){return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(t.hasMenu){A.next=2;break}return A.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){A.next=5;break}return A.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return A.stop()}}),A)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return m(regeneratorRuntime.mark((function A(){var n,e,i;return regeneratorRuntime.wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return t.contactsMenuLoading=!0,A.prev=1,n=encodeURIComponent(t.user),A.next=5,c.a.post(Object(l.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:e=A.sent,i=e.data,t.contactsMenuActions=i.topAction?[i.topAction].concat(i.actions):i.actions,A.next=13;break;case 10:A.prev=10,A.t0=A.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return A.stop()}}),A,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),A=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,A)}},avatarUrlGenerator:function(t,A){var n,e=\"/avatar/{user}/{size}\";this.isGuest&&(e=\"/avatar/guest/{user}/{size}\");var i=Object(l.generateUrl)(e,{user:t,size:A});return t===(null===(n=Object(a.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(i+=\"?v=\"+oc_userconfig.avatar.version),i},updateImageIfValid:function(t){var A=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,e=b(this.user);if(this.isUserDefined&&\"boolean\"==typeof e)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===e&&(this.userDoesNotExist=!0));var i=new Image;i.onload=function(){A.avatarUrlLoaded=t,n&&(A.avatarSrcSetLoaded=n),A.isAvatarLoaded=!0,v(A.user,!0)},i.onerror=function(){console.debug(\"Invalid avatar url\",t),A.avatarUrlLoaded=null,A.avatarSrcSetLoaded=null,A.userDoesNotExist=!0,A.isAvatarLoaded=!1,v(A.user,!1)},n&&(i.srcset=n),i.src=t}}},h=n(2),x=n.n(h),M=n(65),I={insert:\"head\",singleton:!1},w=(x()(M.a,I),M.a.locals,n(3)),y=n(66),E=n.n(y),T=Object(w.a)(B,(function(){var t=this,A=t.$createElement,n=t._self._c||A;return n(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?n(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?n(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?n(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState}},[n(\"PopoverMenu\",{attrs:{menu:t.menu}}),t._v(\" \"),n(\"template\",{slot:\"trigger\"},[n(\"div\",{class:t.contactsMenuLoading?\"icon-loading\":\"icon-more\",style:{width:t.size+\"px\",height:t.size+\"px\"}})])],2):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?n(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?n(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t.status?n(\"div\",{staticClass:\"avatardiv__status\",class:\"avatardiv__status--\"+t.status,style:{backgroundColor:\"#\"+t.statusColor}},[\"neutral\"===t.status?n(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"12\",height:\"11\",viewBox:\"0 0 3.175 2.91\"}},[n(\"path\",{style:{fill:\"#\"+t.statusColor},attrs:{d:\"M3.21 3.043H.494l.679-1.177.68-1.176.678 1.176z\",stroke:\"#fff\",\"stroke-width\":\".265\",\"stroke-linecap\":\"square\"}})]):t._e()]):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?n(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"5baa2f3a\",null);\"function\"==typeof E.a&&E()(T);var D=T.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */A.default=D},function(t,A){t.exports=require(\"md5\")},function(t,A){t.exports=require(\"@nextcloud/capabilities\")},,function(t,A,n){\"use strict\";n.r(A);n(15),n(92),n(25);var e=n(81),i=n.n(e),o=n(64),a=function(t){var A=t.toLowerCase();null===A.match(/^([0-9a-f]{4}-?){8}$/)&&(A=i()(A)),A=A.replace(/[^0-9a-f]/g,\"\");return Object(o.a)(6)[function(t,A){for(var n=0,e=[],i=0;i<t.length;i++)e.push(parseInt(t.charAt(i),16)%16);for(var o in e)n+=e[o];return parseInt(parseInt(n,10)%A,10)}(A,18)]};A.default=a},,function(t,A){t.exports=require(\"@nextcloud/browser-storage\")},,,function(t,A){t.exports=require(\"core-js/modules/es.array.includes.js\")},function(t,A){t.exports=require(\"core-js/modules/es.regexp.constructor.js\")},function(t,A){t.exports=require(\"core-js/modules/es.array.flat.js\")},function(t,A){t.exports=require(\"core-js/modules/es.string.match.js\")},,,,,,,,,,,function(t,A){t.exports=require(\"core-js/modules/es.string.from-code-point.js\")},function(t,A){t.exports=require(\"core-js/modules/es.string.code-point-at.js\")}])}));\n//# sourceMappingURL=Avatar.js.map","!function(t,r){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=r():\"function\"==typeof define&&define.amd?define(\"Directives/Tooltip\",[],r):\"object\"==typeof exports?exports[\"Directives/Tooltip\"]=r():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Directives/Tooltip\"]=r())}(window,(function(){return function(t){var r={};function n(o){if(r[o])return r[o].exports;var e=r[o]={i:o,l:!1,exports:{}};return t[o].call(e.exports,e,e.exports,n),e.l=!0,e.exports}return n.m=t,n.c=r,n.d=function(t,r,o){n.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:o})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,r){if(1&r&&(t=n(t)),8&r)return t;if(4&r&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&r&&\"string\"!=typeof t)for(var e in t)n.d(o,e,function(r){return t[r]}.bind(null,e));return o},n.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(r,\"a\",r),r},n.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},n.p=\"/dist/\",n(n.s=21)}({0:function(t,r,n){\"use strict\";function o(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],o=!0,e=!1,i=void 0;try{for(var a,c=t[Symbol.iterator]();!(o=(a=c.next()).done)&&(n.push(a.value),!r||n.length!==r);o=!0);}catch(t){e=!0,i=t}finally{try{o||null==c.return||c.return()}finally{if(e)throw i}}return n}(t,r)||function(t,r){if(!t)return;if(\"string\"==typeof t)return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}(t,r)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function e(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,o=new Array(r);n<r;n++)o[n]=t[n];return o}t.exports=function(t){var r=o(t,4),n=r[1],e=r[3];if(\"function\"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(e)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(i),c=\"/*# \".concat(a,\" */\"),l=e.sources.map((function(t){return\"/*# sourceURL=\".concat(e.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(l).concat([c]).join(\"\\n\")}return[n].join(\"\\n\")}},1:function(t,r,n){\"use strict\";t.exports=function(t){var r=[];return r.toString=function(){return this.map((function(r){var n=t(r);return r[2]?\"@media \".concat(r[2],\" {\").concat(n,\"}\"):n})).join(\"\")},r.i=function(t,n,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var e={};if(o)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(e[a]=!0)}for(var c=0;c<t.length;c++){var l=[].concat(t[c]);o&&e[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),r.push(l))}},r}},2:function(t,r,n){\"use strict\";var o,e=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var t={};return function(r){if(void 0===t[r]){var n=document.querySelector(r);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[r]=n}return t[r]}}(),a=[];function c(t){for(var r=-1,n=0;n<a.length;n++)if(a[n].identifier===t){r=n;break}return r}function l(t,r){for(var n={},o=[],e=0;e<t.length;e++){var i=t[e],l=r.base?i[0]+r.base:i[0],p=n[l]||0,d=\"\".concat(l,\" \").concat(p);n[l]=p+1;var s=c(d),u={css:i[1],media:i[2],sourceMap:i[3]};-1!==s?(a[s].references++,a[s].updater(u)):a.push({identifier:d,updater:b(u,r),references:1}),o.push(d)}return o}function p(t){var r=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var e=n.nc;e&&(o.nonce=e)}if(Object.keys(o).forEach((function(t){r.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(r);else{var a=i(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(r)}return r}var d,s=(d=[],function(t,r){return d[t]=r,d.filter(Boolean).join(\"\\n\")});function u(t,r,n,o){var e=n?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=s(r,e);else{var i=document.createTextNode(e),a=t.childNodes;a[r]&&t.removeChild(a[r]),a.length?t.insertBefore(i,a[r]):t.appendChild(i)}}function A(t,r,n){var o=n.css,e=n.media,i=n.sourceMap;if(e?t.setAttribute(\"media\",e):t.removeAttribute(\"media\"),i&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var f=null,C=0;function b(t,r){var n,o,e;if(r.singleton){var i=C++;n=f||(f=p(r)),o=u.bind(null,n,i,!1),e=u.bind(null,n,i,!0)}else n=p(r),o=A.bind(null,n,r),e=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return o(t),function(r){if(r){if(r.css===t.css&&r.media===t.media&&r.sourceMap===t.sourceMap)return;o(t=r)}else e()}}t.exports=function(t,r){(r=r||{}).singleton||\"boolean\"==typeof r.singleton||(r.singleton=e());var n=l(t=t||[],r);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<n.length;o++){var e=c(n[o]);a[e].references--}for(var i=l(t,r),p=0;p<n.length;p++){var d=c(n[p]);0===a[d].references&&(a[d].updater(),a.splice(d,1))}n=i}}}},21:function(t,r,n){\"use strict\";n.r(r);var o=n(7),e=n(2),i=n.n(e),a=n(23),c={insert:\"head\",singleton:!1};i()(a.a,c),a.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\no.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"9737fff\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),o.VTooltip.options.defaultHtml=!1;r.default=o.VTooltip},23:function(t,r,n){\"use strict\";var o=n(0),e=n.n(o),i=n(1),a=n.n(i)()(e.a);a.push([t.i,\".vue-tooltip[data-v-9737fff]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-9737fff][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-9737fff][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-9737fff][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-9737fff] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-9737fff] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\"],names:[],mappings:\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),r.a=a},7:function(t,r){t.exports=require(\"v-tooltip\")}})}));\n//# sourceMappingURL=Tooltip.js.map","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".sharing-entry[data-v-1436bf4a]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-1436bf4a]{padding:8px;line-height:1.2em;position:relative;flex:1 1;min-width:0}.sharing-entry__desc h5[data-v-1436bf4a]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:inherit}.sharing-entry__desc p[data-v-1436bf4a]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-1436bf4a]{margin-left:auto !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntrySimple.vue\"],\"names\":[],\"mappings\":\"AA4EA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,QAAA,CACA,WAAA,CACA,yCACC,kBAAA,CACA,sBAAA,CACA,eAAA,CACA,iBAAA,CAED,wCACC,mCAAA,CAGF,yCACC,2BAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\t&__desc {\\n\\t\\tpadding: 8px;\\n\\t\\tline-height: 1.2em;\\n\\t\\tposition: relative;\\n\\t\\tflex: 1 1;\\n\\t\\tmin-width: 0;\\n\\t\\th5 {\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: inherit;\\n\\t\\t}\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-left: auto !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/cssWithMappingToString.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, \".sharing-entry__internal .avatar-external[data-v-8239c8d6]{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-8239c8d6]{opacity:1}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInternal.vue\"],\"names\":[],\"mappings\":\"AAuGC,2DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA,CAED,gEACC,SAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\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}\\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/cssWithMappingToString.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, \".sharing-input{width:100%;margin:10px 0}.sharing-input .multiselect__option span[lookup] .avatardiv{background-image:var(--icon-search-fff);background-repeat:no-repeat;background-position:center;background-color:var(--color-text-maxcontrast) !important}.sharing-input .multiselect__option span[lookup] .avatardiv div{display:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingInput.vue\"],\"names\":[],\"mappings\":\"AAugBA,eACC,UAAA,CACA,aAAA,CAKE,4DACC,uCAAA,CACA,2BAAA,CACA,0BAAA,CACA,yDAAA,CACA,gEACC,YAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-input {\\n\\twidth: 100%;\\n\\tmargin: 10px 0;\\n\\n\\t// properly style the lookup entry\\n\\t.multiselect__option {\\n\\t\\tspan[lookup] {\\n\\t\\t\\t.avatardiv {\\n\\t\\t\\t\\tbackground-image: var(--icon-search-fff);\\n\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\tbackground-color: var(--color-text-maxcontrast) !important;\\n\\t\\t\\t\\tdiv {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\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/cssWithMappingToString.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, \".sharing-entry[data-v-c58e421a]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-c58e421a]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;line-height:1.2em}.sharing-entry__desc p[data-v-c58e421a]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-c58e421a]{margin-left:auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryInherited.vue\"],\"names\":[],\"mappings\":\"AAkGA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAGF,yCACC,gBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\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\\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-left: auto;\\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/cssWithMappingToString.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, \".sharing-entry__inherited .avatar-shared[data-v-1c2059ae]{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\":\"AA8JC,0DACC,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,8CAAA,CACA,iBAAA,CACA,aAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\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\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.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, \".sharing-entry[data-v-121ac5e6]{display:flex;align-items:center;min-height:44px}.sharing-entry__desc[data-v-121ac5e6]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;line-height:1.2em;overflow:hidden}.sharing-entry__desc h5[data-v-121ac5e6]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sharing-entry__desc p[data-v-121ac5e6]{color:var(--color-text-maxcontrast)}.sharing-entry:not(.sharing-entry--share) .sharing-entry__actions .new-share-link[data-v-121ac5e6]{border-top:1px solid var(--color-border)}.sharing-entry[data-v-121ac5e6] .avatar-link-share{background-color:var(--color-primary)}.sharing-entry .sharing-entry__action--public-upload[data-v-121ac5e6]{border-bottom:1px solid var(--color-border)}.sharing-entry__loading[data-v-121ac5e6]{width:44px;height:44px;margin:0;padding:14px;margin-left:auto}.sharing-entry .action-item[data-v-121ac5e6]{margin-left:auto}.sharing-entry .action-item~.action-item[data-v-121ac5e6],.sharing-entry .action-item~.sharing-entry__loading[data-v-121ac5e6]{margin-left:0}.sharing-entry .icon-checkmark-color[data-v-121ac5e6]{opacity:1}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntryLink.vue\"],\"names\":[],\"mappings\":\"AA04BA,gCACC,YAAA,CACA,kBAAA,CACA,eAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,iBAAA,CACA,eAAA,CAEA,yCACC,sBAAA,CACA,eAAA,CACA,kBAAA,CAED,wCACC,mCAAA,CAKD,mGACC,wCAAA,CAIF,oDACC,qCAAA,CAGD,sEACC,2CAAA,CAGD,yCACC,UAAA,CACA,WAAA,CACA,QAAA,CACA,YAAA,CACA,gBAAA,CAKD,6CACC,gBAAA,CACA,+HAEC,aAAA,CAIF,sDACC,SAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.sharing-entry {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tmin-height: 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\\tline-height: 1.2em;\\n\\t\\toverflow: hidden;\\n\\n\\t\\th5 {\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\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::v-deep .avatar-link-share {\\n\\t\\tbackground-color: var(--color-primary);\\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-left: auto;\\n\\t}\\n\\n\\t// put menus to the left\\n\\t// but only the first one\\n\\t.action-item {\\n\\t\\tmargin-left: auto;\\n\\t\\t~ .action-item,\\n\\t\\t~ .sharing-entry__loading {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t.icon-checkmark-color {\\n\\t\\topacity: 1;\\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/cssWithMappingToString.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, \".sharing-entry[data-v-8e155ce6]{display:flex;align-items:center;height:44px}.sharing-entry__desc[data-v-8e155ce6]{display:flex;flex-direction:column;justify-content:space-between;padding:8px;line-height:1.2em}.sharing-entry__desc p[data-v-8e155ce6]{color:var(--color-text-maxcontrast)}.sharing-entry__desc-unique[data-v-8e155ce6]{color:var(--color-text-maxcontrast)}.sharing-entry__actions[data-v-8e155ce6]{margin-left:auto}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/SharingEntry.vue\"],\"names\":[],\"mappings\":\"AA2ZA,gCACC,YAAA,CACA,kBAAA,CACA,WAAA,CACA,sCACC,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,WAAA,CACA,iBAAA,CACA,wCACC,mCAAA,CAED,6CACC,mCAAA,CAGF,yCACC,gBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\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\\tline-height: 1.2em;\\n\\t\\tp {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t\\t&-unique {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t}\\n\\t}\\n\\t&__actions {\\n\\t\\tmargin-left: auto;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (typeof IteratorPrototype[ITERATOR] !== 'function') {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = iterator['return'];\n if (innerResult === undefined) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = innerResult.call(iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.index-of\");\n\nrequire(\"core-js/modules/es.object.assign\");\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRootUrl = exports.generateFilePath = exports.imagePath = exports.generateUrl = exports.generateOcsUrl = exports.generateRemoteUrl = exports.linkTo = void 0;\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Get an absolute url to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} Absolute URL to a file\n */\nvar linkTo = function linkTo(app, file) {\n return generateFilePath(app, '', file);\n};\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\n\n\nexports.linkTo = linkTo;\n\nvar linkToRemoteBase = function linkToRemoteBase(service) {\n return getRootUrl() + '/remote.php/' + service;\n};\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\n\n\nvar generateRemoteUrl = function generateRemoteUrl(service) {\n return window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n};\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} service name\n * @param {int} version OCS API version\n * @return {string} OCS API base path\n */\n\n\nexports.generateRemoteUrl = generateRemoteUrl;\n\nvar generateOcsUrl = function generateOcsUrl(service, version) {\n version = version !== 2 ? 1 : 2;\n return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php/' + service + '/';\n};\n\nexports.generateOcsUrl = generateOcsUrl;\n\n/**\n * Generate the absolute url for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @return {string} Absolute URL for the given relative URL\n */\nvar generateUrl = function generateUrl(url, params, options) {\n var allOptions = Object.assign({\n escape: true,\n noRewrite: false\n }, options || {});\n\n var _build = function _build(text, vars) {\n vars = vars || {};\n return text.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (allOptions.escape) {\n return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n }\n });\n };\n\n if (url.charAt(0) !== '/') {\n url = '/' + url;\n }\n\n if (OC.config.modRewriteWorking === true && !allOptions.noRewrite) {\n return getRootUrl() + _build(url, params || {});\n }\n\n return getRootUrl() + '/index.php' + _build(url, params || {});\n};\n/**\n * Get the absolute path to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\n\n\nexports.generateUrl = generateUrl;\n\nvar imagePath = function imagePath(app, file) {\n if (file.indexOf('.') === -1) {\n //if no extension is given, use svg\n return generateFilePath(app, 'img', file + '.svg');\n }\n\n return generateFilePath(app, 'img', file);\n};\n/**\n * Get the absolute url for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} Absolute URL for a file in an app\n */\n\n\nexports.imagePath = imagePath;\n\nvar generateFilePath = function generateFilePath(app, type, file) {\n var isCore = OC.coreApps.indexOf(app) !== -1;\n var link = getRootUrl();\n\n if (file.substring(file.length - 3) === 'php' && !isCore) {\n link += '/index.php/apps/' + app;\n\n if (file !== 'index.php') {\n link += '/';\n\n if (type) {\n link += encodeURI(type + '/');\n }\n\n link += file;\n }\n } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n link = OC.appswebroots[app];\n\n if (type) {\n link += '/' + type + '/';\n }\n\n if (link.substring(link.length - 1) !== '/') {\n link += '/';\n }\n\n link += file;\n } else {\n if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n link += '/index.php/';\n } else {\n link += '/';\n }\n\n if (!isCore) {\n link += 'apps/';\n }\n\n if (app !== '') {\n app += '/';\n link += app;\n }\n\n if (type) {\n link += type + '/';\n }\n\n link += file;\n }\n\n return link;\n};\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\n\n\nexports.generateFilePath = generateFilePath;\n\nvar getRootUrl = function getRootUrl() {\n return OC.webroot;\n};\n\nexports.getRootUrl = getRootUrl;\n//# sourceMappingURL=index.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.11.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var $ = require('../internals/export');\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.max_safe_integer\n$({ target: 'Number', stat: true }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\nvar shared = require('./shared');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === RegExp.prototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nconst opts = ['includePrerelease', 'loose', 'rtl']\nconst parseOptions = options =>\n !options ? {}\n : typeof options !== 'object' ? { loose: true }\n : opts.filter(k => options[k]).reduce((options, k) => {\n options[k] = true\n return options\n }, {})\nmodule.exports = parseOptions\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parseOptions = require('../internal/parse-options')\nconst parse = (version, options) => {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n if (isSymbol(argument)) throw TypeError('Cannot convert a Symbol value to a number');\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\n\nexports.__esModule = true;\nexports.stateify = exports.TokenState = exports.CharacterState = undefined;\n\nvar _class = require('../utils/class');\n\nfunction createStateClass() {\n\treturn function (tClass) {\n\t\tthis.j = [];\n\t\tthis.T = tClass || null;\n\t};\n}\n\n/**\n\tA simple state machine that can emit token classes\n\n\tThe `j` property in this class refers to state jumps. It's a\n\tmultidimensional array where for each element:\n\n\t* index [0] is a symbol or class of symbols to transition to.\n\t* index [1] is a State instance which matches\n\n\tThe type of symbol will depend on the target implementation for this class.\n\tIn Linkify, we have a two-stage scanner. Each stage uses this state machine\n\tbut with a slighly different (polymorphic) implementation.\n\n\tThe `T` property refers to the token class.\n\n\tTODO: Can the `on` and `next` methods be combined?\n\n\t@class BaseState\n*/\nvar BaseState = createStateClass();\nBaseState.prototype = {\n\tdefaultTransition: false,\n\n\t/**\n \t@method constructor\n \t@param {Class} tClass Pass in the kind of token to emit if there are\n \t\tno jumps after this state and the state is accepting.\n */\n\n\t/**\n \tOn the given symbol(s), this machine should go to the given state\n \t\t@method on\n \t@param {Array|Mixed} symbol\n \t@param {BaseState} state Note that the type of this state should be the\n \t\tsame as the current instance (i.e., don't pass in a different\n \t\tsubclass)\n */\n\ton: function on(symbol, state) {\n\t\tif (symbol instanceof Array) {\n\t\t\tfor (var i = 0; i < symbol.length; i++) {\n\t\t\t\tthis.j.push([symbol[i], state]);\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tthis.j.push([symbol, state]);\n\t\treturn this;\n\t},\n\n\n\t/**\n \tGiven the next item, returns next state for that item\n \t@method next\n \t@param {Mixed} item Should be an instance of the symbols handled by\n \t\tthis particular machine.\n \t@return {State} state Returns false if no jumps are available\n */\n\tnext: function next(item) {\n\t\tfor (var i = 0; i < this.j.length; i++) {\n\t\t\tvar jump = this.j[i];\n\t\t\tvar symbol = jump[0]; // Next item to check for\n\t\t\tvar state = jump[1]; // State to jump to if items match\n\n\t\t\t// compare item with symbol\n\t\t\tif (this.test(item, symbol)) {\n\t\t\t\treturn state;\n\t\t\t}\n\t\t}\n\n\t\t// Nowhere left to jump!\n\t\treturn this.defaultTransition;\n\t},\n\n\n\t/**\n \tDoes this state accept?\n \t`true` only of `this.T` exists\n \t\t@method accepts\n \t@return {Boolean}\n */\n\taccepts: function accepts() {\n\t\treturn !!this.T;\n\t},\n\n\n\t/**\n \tDetermine whether a given item \"symbolizes\" the symbol, where symbol is\n \ta class of items handled by this state machine.\n \t\tThis method should be overriden in extended classes.\n \t\t@method test\n \t@param {Mixed} item Does this item match the given symbol?\n \t@param {Mixed} symbol\n \t@return {Boolean}\n */\n\ttest: function test(item, symbol) {\n\t\treturn item === symbol;\n\t},\n\n\n\t/**\n \tEmit the token for this State (just return it in this case)\n \tIf this emits a token, this instance is an accepting state\n \t@method emit\n \t@return {Class} T\n */\n\temit: function emit() {\n\t\treturn this.T;\n\t}\n};\n\n/**\n\tState machine for string-based input\n\n\t@class CharacterState\n\t@extends BaseState\n*/\nvar CharacterState = (0, _class.inherits)(BaseState, createStateClass(), {\n\t/**\n \tDoes the given character match the given character or regular\n \texpression?\n \t\t@method test\n \t@param {String} char\n \t@param {String|RegExp} charOrRegExp\n \t@return {Boolean}\n */\n\ttest: function test(character, charOrRegExp) {\n\t\treturn character === charOrRegExp || charOrRegExp instanceof RegExp && charOrRegExp.test(character);\n\t}\n});\n\n/**\n\tState machine for input in the form of TextTokens\n\n\t@class TokenState\n\t@extends BaseState\n*/\nvar TokenState = (0, _class.inherits)(BaseState, createStateClass(), {\n\n\t/**\n * Similar to `on`, but returns the state the results in the transition from\n * the given item\n * @method jump\n * @param {Mixed} item\n * @param {Token} [token]\n * @return state\n */\n\tjump: function jump(token) {\n\t\tvar tClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\t\tvar state = this.next(new token('')); // dummy temp token\n\t\tif (state === this.defaultTransition) {\n\t\t\t// Make a new state!\n\t\t\tstate = new this.constructor(tClass);\n\t\t\tthis.on(token, state);\n\t\t} else if (tClass) {\n\t\t\tstate.T = tClass;\n\t\t}\n\t\treturn state;\n\t},\n\n\n\t/**\n \tIs the given token an instance of the given token class?\n \t\t@method test\n \t@param {TextToken} token\n \t@param {Class} tokenClass\n \t@return {Boolean}\n */\n\ttest: function test(token, tokenClass) {\n\t\treturn token instanceof tokenClass;\n\t}\n});\n\n/**\n\tGiven a non-empty target string, generates states (if required) for each\n\tconsecutive substring of characters in str starting from the beginning of\n\tthe string. The final state will have a special value, as specified in\n\toptions. All other \"in between\" substrings will have a default end state.\n\n\tThis turns the state machine into a Trie-like data structure (rather than a\n\tintelligently-designed DFA).\n\n\tNote that I haven't really tried these with any strings other than\n\tDOMAIN.\n\n\t@param {String} str\n\t@param {CharacterState} start State to jump from the first character\n\t@param {Class} endToken Token class to emit when the given string has been\n\t\tmatched and no more jumps exist.\n\t@param {Class} defaultToken \"Filler token\", or which token type to emit when\n\t\twe don't have a full match\n\t@return {Array} list of newly-created states\n*/\nfunction stateify(str, start, endToken, defaultToken) {\n\tvar i = 0,\n\t len = str.length,\n\t state = start,\n\t newStates = [],\n\t nextState = void 0;\n\n\t// Find the next state without a jump to the next character\n\twhile (i < len && (nextState = state.next(str[i]))) {\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tif (i >= len) {\n\t\treturn [];\n\t} // no new tokens were added\n\n\twhile (i < len - 1) {\n\t\tnextState = new CharacterState(defaultToken);\n\t\tnewStates.push(nextState);\n\t\tstate.on(str[i], nextState);\n\t\tstate = nextState;\n\t\ti++;\n\t}\n\n\tnextState = new CharacterState(endToken);\n\tnewStates.push(nextState);\n\tstate.on(str[len - 1], nextState);\n\n\treturn newStates;\n}\n\nexports.CharacterState = CharacterState;\nexports.TokenState = TokenState;\nexports.stateify = stateify;","\"use strict\";\n\nexports.__esModule = true;\nfunction createTokenClass() {\n\treturn function (value) {\n\t\tif (value) {\n\t\t\tthis.v = value;\n\t\t}\n\t};\n}\n\nexports.createTokenClass = createTokenClass;","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar PromiseConstructorPrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructorPrototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n PromiseConstructorPrototype = PromiseConstructor.prototype;\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructorPrototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\n redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var argumentsLength = arguments.length;\n var i = 1;\n while (argumentsLength > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar $startsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = toString(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = toString(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n if (res.done) return res.value;\n\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar fails = require('../internals/fails');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {\n [].filter.call({ length: -1, 0: 1 }, function (it) { throw it; });\n});\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = false;\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","module.exports = {};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var bind = require('../internals/bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar fails = require('../internals/fails');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = HAS_SPECIES_SUPPORT && !fails(function () {\n [].map.call({ length: -1, 0: 1 }, function (it) { throw it; });\n});\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.concat\");\n\nrequire(\"core-js/modules/es.array.filter\");\n\nrequire(\"core-js/modules/es.array.map\");\n\nrequire(\"core-js/modules/es.object.keys\");\n\nrequire(\"core-js/modules/es.string.starts-with\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\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 _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar ScopedStorage =\n/*#__PURE__*/\nfunction () {\n function ScopedStorage(scope, wrapped, persistent) {\n _classCallCheck(this, ScopedStorage);\n\n _defineProperty(this, \"scope\", void 0);\n\n _defineProperty(this, \"wrapped\", void 0);\n\n this.scope = \"\".concat(persistent ? ScopedStorage.GLOBAL_SCOPE_PERSISTENT : ScopedStorage.GLOBAL_SCOPE_VOLATILE, \"_\").concat(btoa(scope), \"_\");\n this.wrapped = wrapped;\n }\n\n _createClass(ScopedStorage, [{\n key: \"scopeKey\",\n value: function scopeKey(key) {\n return \"\".concat(this.scope).concat(key);\n }\n }, {\n key: \"setItem\",\n value: function setItem(key, value) {\n this.wrapped.setItem(this.scopeKey(key), value);\n }\n }, {\n key: \"getItem\",\n value: function getItem(key) {\n return this.wrapped.getItem(this.scopeKey(key));\n }\n }, {\n key: \"removeItem\",\n value: function removeItem(key) {\n this.wrapped.removeItem(this.scopeKey(key));\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _this = this;\n\n Object.keys(this.wrapped).filter(function (key) {\n return key.startsWith(_this.scope);\n }).map(this.wrapped.removeItem.bind(this.wrapped));\n }\n }]);\n\n return ScopedStorage;\n}();\n\nexports.default = ScopedStorage;\n\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_VOLATILE\", 'nextcloud_vol');\n\n_defineProperty(ScopedStorage, \"GLOBAL_SCOPE_PERSISTENT\", 'nextcloud_per');\n//# sourceMappingURL=scopedstorage.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\n// TODO: Use only propper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = string.charAt(index);\n if (chr === '\\\\') {\n result += chr + string.charAt(++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = {};\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = string.charAt(index);\n if (chr === '\\\\') {\n chr = chr + string.charAt(++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (IS_NCG.test(string.slice(index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || has(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named.push([groupname, groupid]);\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || pattern instanceof RegExpWrapper) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = 'flags' in rawPattern ? rawPattern.flags : getFlags.call(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && flags.indexOf('s') > -1;\n if (dotAll) flags = flags.replace(/s/g, '');\n }\n\n rawFlags = flags;\n\n if (UNSUPPORTED_Y && 'sticky' in re1) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxy(keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","var $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\n// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.es/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n );\n } return elements.join('');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.es/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nconst opts = ['includePrerelease', 'loose', 'rtl']\nconst parseOptions = options =>\n !options ? {}\n : typeof options !== 'object' ? { loose: true }\n : opts.filter(k => options[k]).reduce((options, k) => {\n options[k] = true\n return options\n }, {})\nmodule.exports = parseOptions\n","var render = function (_h,_vm) {var _c=_vm._c;return _c('span',_vm._g(_vm._b({staticClass:\"material-design-icon arrow-right-icon\",class:[_vm.data.class, _vm.data.staticClass],attrs:{\"aria-hidden\":_vm.props.decorative,\"aria-label\":_vm.props.title,\"role\":\"img\"}},'span',_vm.data.attrs,false),_vm.listeners),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.props.fillColor,\"width\":_vm.props.size,\"height\":_vm.props.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\"}},[(!_vm.props.decorative)?_c('title',[_vm._v(_vm._s(_vm.props.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowRight.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ArrowRight.vue?vue&type=script&lang=js&\"","<template functional>\n <span :aria-hidden=\"props.decorative\"\n :aria-label=\"props.title\"\n :class=\"[data.class, data.staticClass]\"\n class=\"material-design-icon arrow-right-icon\"\n role=\"img\"\n v-bind=\"data.attrs\"\n v-on=\"listeners\">\n <svg :fill=\"props.fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"props.size\"\n :height=\"props.size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\">\n <title v-if=\"!props.decorative\">{{ props.title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ArrowRightIcon\",\n props: {\n title: {\n type: String,\n default: \"Arrow Right icon\"\n },\n decorative: {\n type: Boolean,\n default: false\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./ArrowRight.vue?vue&type=template&id=52d8fca9&functional=true&\"\nimport script from \"./ArrowRight.vue?vue&type=script&lang=js&\"\nexport * from \"./ArrowRight.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 true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var Clipboard = require('clipboard/dist/clipboard.min.js') // FIXME: workaround for browserify\n\nvar VueClipboardConfig = {\n autoSetContainer: false,\n appendToBody: true // This fixes IE, see #50\n}\n\nvar VueClipboard = {\n install: function (Vue) {\n var globalPrototype = Vue.version.slice(0, 2) === '3.' ? Vue.config.globalProperties : Vue.prototype\n globalPrototype.$clipboardConfig = VueClipboardConfig\n globalPrototype.$copyText = function (text, container) {\n return new Promise(function (resolve, reject) {\n var fakeElement = document.createElement('button')\n var clipboard = new Clipboard(fakeElement, {\n text: function () { return text },\n action: function () { return 'copy' },\n container: typeof container === 'object' ? container : document.body\n })\n clipboard.on('success', function (e) {\n clipboard.destroy()\n resolve(e)\n })\n clipboard.on('error', function (e) {\n clipboard.destroy()\n reject(e)\n })\n if (VueClipboardConfig.appendToBody) document.body.appendChild(fakeElement)\n fakeElement.click()\n if (VueClipboardConfig.appendToBody) document.body.removeChild(fakeElement)\n })\n }\n\n Vue.directive('clipboard', {\n bind: function (el, binding, vnode) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n var clipboard = new Clipboard(el, {\n text: function () { return binding.value },\n action: function () { return binding.arg === 'cut' ? 'cut' : 'copy' },\n container: VueClipboardConfig.autoSetContainer ? el : undefined\n })\n clipboard.on('success', function (e) {\n var callback = el._vClipboard_success\n callback && callback(e)\n })\n clipboard.on('error', function (e) {\n var callback = el._vClipboard_error\n callback && callback(e)\n })\n el._vClipboard = clipboard\n }\n },\n update: function (el, binding) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n el._vClipboard.text = function () { return binding.value }\n el._vClipboard.action = function () { return binding.arg === 'cut' ? 'cut' : 'copy' }\n }\n },\n unbind: function (el, binding) {\n // FIXME: investigate why $element._vClipboard was missing\n if (!el._vClipboard) return\n if (binding.arg === 'success') {\n delete el._vClipboard_success\n } else if (binding.arg === 'error') {\n delete el._vClipboard_error\n } else {\n el._vClipboard.destroy()\n delete el._vClipboard\n }\n }\n })\n },\n config: VueClipboardConfig\n}\n\nif (typeof exports === 'object') {\n module.exports = VueClipboard\n} else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return VueClipboard\n })\n}\n","import e from\"@nextcloud/vue/dist/Components/Actions\";import n from\"@nextcloud/vue/dist/Components/ActionButton\";import o from\"@nextcloud/vue/dist/Components/Avatar\";import r from\"@nextcloud/vue/dist/Directives/Tooltip\";import i from\"vue\";import a from\"@nextcloud/axios\";import c from\"@nextcloud/vue/dist/Components/Multiselect\";var l=function(t){var e=typeof t;return null!=t&&(\"object\"==e||\"function\"==e)},s=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function u(t,e){return t(e={exports:{}},e.exports),e.exports}var f=\"object\"==typeof s&&s&&s.Object===Object&&s,p=\"object\"==typeof self&&self&&self.Object===Object&&self,d=f||p||Function(\"return this\")(),v=function(){return d.Date.now()},m=d.Symbol,h=Object.prototype,g=h.hasOwnProperty,y=h.toString,b=m?m.toStringTag:void 0;var x=function(t){var e=g.call(t,b),n=t[b];try{t[b]=void 0;var o=!0}catch(t){}var r=y.call(t);return o&&(e?t[b]=n:delete t[b]),r},_=Object.prototype.toString;var C=function(t){return _.call(t)},w=m?m.toStringTag:void 0;var O=function(t){return null==t?void 0===t?\"[object Undefined]\":\"[object Null]\":w&&w in Object(t)?x(t):C(t)};var S=function(t){return null!=t&&\"object\"==typeof t};var R=function(t){return\"symbol\"==typeof t||S(t)&&\"[object Symbol]\"==O(t)},E=/^\\s+|\\s+$/g,j=/^[-+]0x[0-9a-f]+$/i,k=/^0b[01]+$/i,T=/^0o[0-7]+$/i,I=parseInt;var P=function(t){if(\"number\"==typeof t)return t;if(R(t))return NaN;if(l(t)){var e=\"function\"==typeof t.valueOf?t.valueOf():t;t=l(e)?e+\"\":e}if(\"string\"!=typeof t)return 0===t?t:+t;t=t.replace(E,\"\");var n=k.test(t);return n||T.test(t)?I(t.slice(2),n?2:8):j.test(t)?NaN:+t},U=Math.max,A=Math.min;var N=function(t,e,n){var o,r,i,a,c,s,u=0,f=!1,p=!1,d=!0;if(\"function\"!=typeof t)throw new TypeError(\"Expected a function\");function m(e){var n=o,i=r;return o=r=void 0,u=e,a=t.apply(i,n)}function h(t){return u=t,c=setTimeout(y,e),f?m(t):a}function g(t){var n=t-s;return void 0===s||n>=e||n<0||p&&t-u>=i}function y(){var t=v();if(g(t))return b(t);c=setTimeout(y,function(t){var n=e-(t-s);return p?A(n,i-(t-u)):n}(t))}function b(t){return c=void 0,d&&o?m(t):(o=r=void 0,a)}function x(){var t=v(),n=g(t);if(o=arguments,r=this,s=t,n){if(void 0===c)return h(s);if(p)return clearTimeout(c),c=setTimeout(y,e),m(s)}return void 0===c&&(c=setTimeout(y,e)),a}return e=P(e)||0,l(n)&&(f=!!n.leading,i=(p=\"maxWait\"in n)?U(P(n.maxWait)||0,e):i,d=\"trailing\"in n?!!n.trailing:d),x.cancel=function(){void 0!==c&&clearTimeout(c),u=0,o=s=r=c=void 0},x.flush=function(){return void 0===c?a:b(v())},x};function $(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}var M=function(t){return t&&t.Math==Math&&t},D=M(\"object\"==typeof globalThis&&globalThis)||M(\"object\"==typeof window&&window)||M(\"object\"==typeof self&&self)||M(\"object\"==typeof s&&s)||Function(\"return this\")(),F=function(t){try{return!!t()}catch(t){return!0}},L=!F((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),B={}.propertyIsEnumerable,z=Object.getOwnPropertyDescriptor,V={f:z&&!B.call({1:2},1)?function(t){var e=z(this,t);return!!e&&e.enumerable}:B},G=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},K={}.toString,W=function(t){return K.call(t).slice(8,-1)},X=\"\".split,Y=F((function(){return!Object(\"z\").propertyIsEnumerable(0)}))?function(t){return\"String\"==W(t)?X.call(t,\"\"):Object(t)}:Object,q=function(t){if(null==t)throw TypeError(\"Can't call method on \"+t);return t},H=function(t){return Y(q(t))},J=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t},Q=function(t,e){if(!J(t))return t;var n,o;if(e&&\"function\"==typeof(n=t.toString)&&!J(o=n.call(t)))return o;if(\"function\"==typeof(n=t.valueOf)&&!J(o=n.call(t)))return o;if(!e&&\"function\"==typeof(n=t.toString)&&!J(o=n.call(t)))return o;throw TypeError(\"Can't convert object to primitive value\")},Z={}.hasOwnProperty,tt=function(t,e){return Z.call(t,e)},et=D.document,nt=J(et)&&J(et.createElement),ot=!L&&!F((function(){return 7!=Object.defineProperty((t=\"div\",nt?et.createElement(t):{}),\"a\",{get:function(){return 7}}).a;var t})),rt=Object.getOwnPropertyDescriptor,it={f:L?rt:function(t,e){if(t=H(t),e=Q(e,!0),ot)try{return rt(t,e)}catch(t){}if(tt(t,e))return G(!V.f.call(t,e),t[e])}},at=function(t){if(!J(t))throw TypeError(String(t)+\" is not an object\");return t},ct=Object.defineProperty,lt={f:L?ct:function(t,e,n){if(at(t),e=Q(e,!0),at(n),ot)try{return ct(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported\");return\"value\"in n&&(t[e]=n.value),t}},st=L?function(t,e,n){return lt.f(t,e,G(1,n))}:function(t,e,n){return t[e]=n,t},ut=function(t,e){try{st(D,t,e)}catch(n){D[t]=e}return e},ft=D[\"__core-js_shared__\"]||ut(\"__core-js_shared__\",{}),pt=Function.toString;\"function\"!=typeof ft.inspectSource&&(ft.inspectSource=function(t){return pt.call(t)});var dt,vt,mt,ht,gt=ft.inspectSource,yt=D.WeakMap,bt=\"function\"==typeof yt&&/native code/.test(gt(yt)),xt=u((function(t){(t.exports=function(t,e){return ft[t]||(ft[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:\"3.6.5\",mode:\"global\",copyright:\"© 2020 Denis Pushkarev (zloirock.ru)\"})})),_t=0,Ct=Math.random(),wt=function(t){return\"Symbol(\"+String(void 0===t?\"\":t)+\")_\"+(++_t+Ct).toString(36)},Ot=xt(\"keys\"),St={},Rt=D.WeakMap;if(bt){var Et=new Rt,jt=Et.get,kt=Et.has,Tt=Et.set;dt=function(t,e){return Tt.call(Et,t,e),e},vt=function(t){return jt.call(Et,t)||{}},mt=function(t){return kt.call(Et,t)}}else{var It=Ot[ht=\"state\"]||(Ot[ht]=wt(ht));St[It]=!0,dt=function(t,e){return st(t,It,e),e},vt=function(t){return tt(t,It)?t[It]:{}},mt=function(t){return tt(t,It)}}var Pt,Ut,At={set:dt,get:vt,has:mt,enforce:function(t){return mt(t)?vt(t):dt(t,{})},getterFor:function(t){return function(e){var n;if(!J(e)||(n=vt(e)).type!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required\");return n}}},Nt=u((function(t){var e=At.get,n=At.enforce,o=String(String).split(\"String\");(t.exports=function(t,e,r,i){var a=!!i&&!!i.unsafe,c=!!i&&!!i.enumerable,l=!!i&&!!i.noTargetGet;\"function\"==typeof r&&(\"string\"!=typeof e||tt(r,\"name\")||st(r,\"name\",e),n(r).source=o.join(\"string\"==typeof e?e:\"\")),t!==D?(a?!l&&t[e]&&(c=!0):delete t[e],c?t[e]=r:st(t,e,r)):c?t[e]=r:ut(e,r)})(Function.prototype,\"toString\",(function(){return\"function\"==typeof this&&e(this).source||gt(this)}))})),$t=D,Mt=function(t){return\"function\"==typeof t?t:void 0},Dt=Math.ceil,Ft=Math.floor,Lt=function(t){return isNaN(t=+t)?0:(t>0?Ft:Dt)(t)},Bt=Math.min,zt=function(t){return t>0?Bt(Lt(t),9007199254740991):0},Vt=Math.max,Gt=Math.min,Kt=function(t){return function(e,n,o){var r,i=H(e),a=zt(i.length),c=function(t,e){var n=Lt(t);return n<0?Vt(n+e,0):Gt(n,e)}(o,a);if(t&&n!=n){for(;a>c;)if((r=i[c++])!=r)return!0}else for(;a>c;c++)if((t||c in i)&&i[c]===n)return t||c||0;return!t&&-1}},Wt={includes:Kt(!0),indexOf:Kt(!1)},Xt=Wt.indexOf,Yt=function(t,e){var n,o=H(t),r=0,i=[];for(n in o)!tt(St,n)&&tt(o,n)&&i.push(n);for(;e.length>r;)tt(o,n=e[r++])&&(~Xt(i,n)||i.push(n));return i},qt=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"],Ht=qt.concat(\"length\",\"prototype\"),Jt={f:Object.getOwnPropertyNames||function(t){return Yt(t,Ht)}},Qt={f:Object.getOwnPropertySymbols},Zt=function(t,e){return arguments.length<2?Mt($t[t])||Mt(D[t]):$t[t]&&$t[t][e]||D[t]&&D[t][e]}(\"Reflect\",\"ownKeys\")||function(t){var e=Jt.f(at(t)),n=Qt.f;return n?e.concat(n(t)):e},te=function(t,e){for(var n=Zt(e),o=lt.f,r=it.f,i=0;i<n.length;i++){var a=n[i];tt(t,a)||o(t,a,r(e,a))}},ee=/#|\\.prototype\\./,ne=function(t,e){var n=re[oe(t)];return n==ae||n!=ie&&(\"function\"==typeof e?F(e):!!e)},oe=ne.normalize=function(t){return String(t).replace(ee,\".\").toLowerCase()},re=ne.data={},ie=ne.NATIVE=\"N\",ae=ne.POLYFILL=\"P\",ce=ne,le=it.f,se=function(t,e){var n,o,r,i,a,c=t.target,l=t.global,s=t.stat;if(n=l?D:s?D[c]||ut(c,{}):(D[c]||{}).prototype)for(o in e){if(i=e[o],r=t.noTargetGet?(a=le(n,o))&&a.value:n[o],!ce(l?o:c+(s?\".\":\"#\")+o,t.forced)&&void 0!==r){if(typeof i==typeof r)continue;te(i,r)}(t.sham||r&&r.sham)&&st(i,\"sham\",!0),Nt(n,o,i,t)}},ue=Object.defineProperty,fe={},pe=function(t){throw t},de=Wt.indexOf,ve=[].indexOf,me=!!ve&&1/[1].indexOf(1,-0)<0,he=!!(Ut=[][\"indexOf\"])&&F((function(){Ut.call(null,Pt||function(){throw 1},1)})),ge=function(t,e){if(tt(fe,t))return fe[t];e||(e={});var n=[][t],o=!!tt(e,\"ACCESSORS\")&&e.ACCESSORS,r=tt(e,0)?e[0]:pe,i=tt(e,1)?e[1]:void 0;return fe[t]=!!n&&!F((function(){if(o&&!L)return!0;var t={length:-1};o?ue(t,1,{enumerable:!0,get:pe}):t[1]=1,n.call(t,r,i)}))}(\"indexOf\",{ACCESSORS:!0,1:0});se({target:\"Array\",proto:!0,forced:me||!he||!ge},{indexOf:function(t){return me?ve.apply(this,arguments)||0:de(this,t,arguments.length>1?arguments[1]:void 0)}});var ye=Object.keys||function(t){return Yt(t,qt)},be=function(t){return Object(q(t))},xe=Object.assign,_e=Object.defineProperty,Ce=!xe||F((function(){if(L&&1!==xe({b:1},xe(_e({},\"a\",{enumerable:!0,get:function(){_e(this,\"b\",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),o=\"abcdefghijklmnopqrst\";return t[n]=7,o.split(\"\").forEach((function(t){e[t]=t})),7!=xe({},t)[n]||ye(xe({},e)).join(\"\")!=o}))?function(t,e){for(var n=be(t),o=arguments.length,r=1,i=Qt.f,a=V.f;o>r;)for(var c,l=Y(arguments[r++]),s=i?ye(l).concat(i(l)):ye(l),u=s.length,f=0;u>f;)c=s[f++],L&&!a.call(l,c)||(n[c]=l[c]);return n}:xe;se({target:\"Object\",stat:!0,forced:Object.assign!==Ce},{assign:Ce});var we=!!Object.getOwnPropertySymbols&&!F((function(){return!String(Symbol())})),Oe=we&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator,Se=xt(\"wks\"),Re=D.Symbol,Ee=Oe?Re:Re&&Re.withoutSetter||wt,je=function(t){return tt(Se,t)||(we&&tt(Re,t)?Se[t]=Re[t]:Se[t]=Ee(\"Symbol.\"+t)),Se[t]},ke={};ke[je(\"toStringTag\")]=\"z\";var Te=\"[object z]\"===String(ke),Ie=je(\"toStringTag\"),Pe=\"Arguments\"==W(function(){return arguments}()),Ue=Te?W:function(t){var e,n,o;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),Ie))?n:Pe?W(e):\"Object\"==(o=W(e))&&\"function\"==typeof e.callee?\"Arguments\":o},Ae=Te?{}.toString:function(){return\"[object \"+Ue(this)+\"]\"};Te||Nt(Object.prototype,\"toString\",Ae,{unsafe:!0});var Ne=function(){var t=at(this),e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.dotAll&&(e+=\"s\"),t.unicode&&(e+=\"u\"),t.sticky&&(e+=\"y\"),e};function $e(t,e){return RegExp(t,e)}var Me,De,Fe={UNSUPPORTED_Y:F((function(){var t=$e(\"a\",\"y\");return t.lastIndex=2,null!=t.exec(\"abcd\")})),BROKEN_CARET:F((function(){var t=$e(\"^r\",\"gy\");return t.lastIndex=2,null!=t.exec(\"str\")}))},Le=RegExp.prototype.exec,Be=String.prototype.replace,ze=Le,Ve=(Me=/a/,De=/b*/g,Le.call(Me,\"a\"),Le.call(De,\"a\"),0!==Me.lastIndex||0!==De.lastIndex),Ge=Fe.UNSUPPORTED_Y||Fe.BROKEN_CARET,Ke=void 0!==/()??/.exec(\"\")[1];(Ve||Ke||Ge)&&(ze=function(t){var e,n,o,r,i=this,a=Ge&&i.sticky,c=Ne.call(i),l=i.source,s=0,u=t;return a&&(-1===(c=c.replace(\"y\",\"\")).indexOf(\"g\")&&(c+=\"g\"),u=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&\"\\n\"!==t[i.lastIndex-1])&&(l=\"(?: \"+l+\")\",u=\" \"+u,s++),n=new RegExp(\"^(?:\"+l+\")\",c)),Ke&&(n=new RegExp(\"^\"+l+\"$(?!\\\\s)\",c)),Ve&&(e=i.lastIndex),o=Le.call(a?n:i,u),a?o?(o.input=o.input.slice(s),o[0]=o[0].slice(s),o.index=i.lastIndex,i.lastIndex+=o[0].length):i.lastIndex=0:Ve&&o&&(i.lastIndex=i.global?o.index+o[0].length:e),Ke&&o&&o.length>1&&Be.call(o[0],n,(function(){for(r=1;r<arguments.length-2;r++)void 0===arguments[r]&&(o[r]=void 0)})),o});var We=ze;se({target:\"RegExp\",proto:!0,forced:/./.exec!==We},{exec:We});var Xe=RegExp.prototype,Ye=Xe.toString,qe=F((function(){return\"/a/b\"!=Ye.call({source:\"a\",flags:\"b\"})})),He=\"toString\"!=Ye.name;(qe||He)&&Nt(RegExp.prototype,\"toString\",(function(){var t=at(this),e=String(t.source),n=t.flags;return\"/\"+e+\"/\"+String(void 0===n&&t instanceof RegExp&&!(\"flags\"in Xe)?Ne.call(t):n)}),{unsafe:!0});var Je=je(\"species\"),Qe=!F((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:\"7\"},t},\"7\"!==\"\".replace(t,\"$<a>\")})),Ze=\"$0\"===\"a\".replace(/./,\"$0\"),tn=je(\"replace\"),en=!!/./[tn]&&\"\"===/./[tn](\"a\",\"$0\"),nn=!F((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n=\"ab\".split(t);return 2!==n.length||\"a\"!==n[0]||\"b\"!==n[1]})),on=function(t){return function(e,n){var o,r,i=String(q(e)),a=Lt(n),c=i.length;return a<0||a>=c?t?\"\":void 0:(o=i.charCodeAt(a))<55296||o>56319||a+1===c||(r=i.charCodeAt(a+1))<56320||r>57343?t?i.charAt(a):o:t?i.slice(a,a+2):r-56320+(o-55296<<10)+65536}},rn={codeAt:on(!1),charAt:on(!0)}.charAt,an=function(t,e,n){return e+(n?rn(t,e).length:1)},cn=function(t,e){var n=t.exec;if(\"function\"==typeof n){var o=n.call(t,e);if(\"object\"!=typeof o)throw TypeError(\"RegExp exec method returned something other than an Object or null\");return o}if(\"RegExp\"!==W(t))throw TypeError(\"RegExp#exec called on incompatible receiver\");return We.call(t,e)},ln=Math.max,sn=Math.min,un=Math.floor,fn=/\\$([$&'`]|\\d\\d?|<[^>]*>)/g,pn=/\\$([$&'`]|\\d\\d?)/g;!function(t,e,n,o){var r=je(t),i=!F((function(){var e={};return e[r]=function(){return 7},7!=\"\"[t](e)})),a=i&&!F((function(){var e=!1,n=/a/;return\"split\"===t&&((n={}).constructor={},n.constructor[Je]=function(){return n},n.flags=\"\",n[r]=/./[r]),n.exec=function(){return e=!0,null},n[r](\"\"),!e}));if(!i||!a||\"replace\"===t&&(!Qe||!Ze||en)||\"split\"===t&&!nn){var c=/./[r],l=n(r,\"\"[t],(function(t,e,n,o,r){return e.exec===We?i&&!r?{done:!0,value:c.call(e,n,o)}:{done:!0,value:t.call(n,e,o)}:{done:!1}}),{REPLACE_KEEPS_$0:Ze,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:en}),s=l[0],u=l[1];Nt(String.prototype,t,s),Nt(RegExp.prototype,r,2==e?function(t,e){return u.call(t,this,e)}:function(t){return u.call(t,this)})}o&&st(RegExp.prototype[r],\"sham\",!0)}(\"replace\",2,(function(t,e,n,o){var r=o.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,i=o.REPLACE_KEEPS_$0,a=r?\"$\":\"$0\";return[function(n,o){var r=q(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,r,o):e.call(String(r),n,o)},function(t,o){if(!r&&i||\"string\"==typeof o&&-1===o.indexOf(a)){var l=n(e,t,this,o);if(l.done)return l.value}var s=at(t),u=String(this),f=\"function\"==typeof o;f||(o=String(o));var p=s.global;if(p){var d=s.unicode;s.lastIndex=0}for(var v=[];;){var m=cn(s,u);if(null===m)break;if(v.push(m),!p)break;\"\"===String(m[0])&&(s.lastIndex=an(u,zt(s.lastIndex),d))}for(var h,g=\"\",y=0,b=0;b<v.length;b++){m=v[b];for(var x=String(m[0]),_=ln(sn(Lt(m.index),u.length),0),C=[],w=1;w<m.length;w++)C.push(void 0===(h=m[w])?h:String(h));var O=m.groups;if(f){var S=[x].concat(C,_,u);void 0!==O&&S.push(O);var R=String(o.apply(void 0,S))}else R=c(x,u,_,C,O,o);_>=y&&(g+=u.slice(y,_)+R,y=_+x.length)}return g+u.slice(y)}];function c(t,n,o,r,i,a){var c=o+t.length,l=r.length,s=pn;return void 0!==i&&(i=be(i),s=fn),e.call(a,s,(function(e,a){var s;switch(a.charAt(0)){case\"$\":return\"$\";case\"&\":return t;case\"`\":return n.slice(0,o);case\"'\":return n.slice(c);case\"<\":s=i[a.slice(1,-1)];break;default:var u=+a;if(0===u)return e;if(u>l){var f=un(u/10);return 0===f?e:f<=l?void 0===r[f-1]?a.charAt(1):r[f-1]+a.charAt(1):e}s=r[u-1]}return void 0===s?\"\":s}))}}));var dn,vn=u((function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.getRootUrl=e.generateFilePath=e.imagePath=e.generateUrl=e.generateOcsUrl=e.generateRemoteUrl=e.linkTo=void 0;e.linkTo=function(t,e){return n(t,\"\",e)};e.generateRemoteUrl=function(t){return window.location.protocol+\"//\"+window.location.host+function(t){return o()+\"/remote.php/\"+t}(t)};e.generateOcsUrl=function(t,e){return e=2!==e?1:2,window.location.protocol+\"//\"+window.location.host+o()+\"/ocs/v\"+e+\".php/\"+t+\"/\"};e.generateUrl=function(t,e,n){var r=Object.assign({escape:!0,noRewrite:!1},n||{}),i=function(t,e){return e=e||{},t.replace(/{([^{}]*)}/g,(function(t,n){var o=e[n];return r.escape?\"string\"==typeof o||\"number\"==typeof o?encodeURIComponent(o.toString()):encodeURIComponent(t):\"string\"==typeof o||\"number\"==typeof o?o.toString():t}))};return\"/\"!==t.charAt(0)&&(t=\"/\"+t),!0!==OC.config.modRewriteWorking||r.noRewrite?o()+\"/index.php\"+i(t,e||{}):o()+i(t,e||{})};e.imagePath=function(t,e){return-1===e.indexOf(\".\")?n(t,\"img\",e+\".svg\"):n(t,\"img\",e)};var n=function(t,e,n){var r=-1!==OC.coreApps.indexOf(t),i=o();return\"php\"!==n.substring(n.length-3)||r?\"php\"===n.substring(n.length-3)||r?(i+=\"settings\"!==t&&\"core\"!==t&&\"search\"!==t||\"ajax\"!==e?\"/\":\"/index.php/\",r||(i+=\"apps/\"),\"\"!==t&&(i+=t+=\"/\"),e&&(i+=e+\"/\"),i+=n):(i=OC.appswebroots[t],e&&(i+=\"/\"+e+\"/\"),\"/\"!==i.substring(i.length-1)&&(i+=\"/\"),i+=n):(i+=\"/index.php/apps/\"+t,\"index.php\"!==n&&(i+=\"/\",e&&(i+=encodeURI(e+\"/\")),i+=n)),i};e.generateFilePath=n;var o=function(){return OC.webroot};e.getRootUrl=o}));(dn=vn)&&dn.__esModule&&Object.prototype.hasOwnProperty.call(dn,\"default\")&&dn.default;vn.getRootUrl,vn.generateFilePath,vn.imagePath,vn.generateUrl;var mn=vn.generateOcsUrl,hn=(vn.generateRemoteUrl,vn.linkTo,new(function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.http=a,this.baseUrl=mn(\"collaboration/resources\",2)}var e,n,o;return e=t,(n=[{key:\"listCollection\",value:function(t){return this.http.get(\"\".concat(this.baseUrl,\"collections/\").concat(t))}},{key:\"renameCollection\",value:function(t,e){var n=mn(\"collaboration/resources/collections\",2);return this.http.put(\"\".concat(n).concat(t,\"?format=json\"),{collectionName:e}).then((function(t){return t.data.ocs.data}))}},{key:\"getCollectionsByResource\",value:function(t,e){var n=mn(\"collaboration/resources/\".concat(t),2);return this.http.get(\"\".concat(n).concat(e,\"?format=json\")).then((function(t){return t.data.ocs.data}))}},{key:\"createCollection\",value:function(t,e,n){var o=mn(\"collaboration/resources/\".concat(t),2);return this.http.post(\"\".concat(o).concat(e,\"?format=json\"),{name:n}).then((function(t){return t.data.ocs.data}))}},{key:\"addResource\",value:function(t,e,n){n=\"\"+n;var o=mn(\"collaboration/resources/collections\",2);return this.http.post(\"\".concat(o).concat(t,\"?format=json\"),{resourceType:e,resourceId:n}).then((function(t){return t.data.ocs.data}))}},{key:\"removeResource\",value:function(t,e,n){return this.http.delete(\"\".concat(this.baseUrl,\"collections/\").concat(t),{params:{resourceType:e,resourceId:n}}).then((function(t){return t.data.ocs.data}))}},{key:\"search\",value:function(t){t=encodeURI(t);var e=mn(\"collaboration/resources/collections/search\",2);return this.http.get(\"\".concat(e).concat(t,\"?format=json\")).then((function(t){return t.data.ocs.data}))}}])&&$(e.prototype,n),o&&$(e,o),t}())),gn=i.observable({collections:[]}),yn=function(t){i.set(gn,\"collections\",t)},bn=function(t){gn.collections.push(t)},xn=function(t){i.set(gn,\"collections\",gn.collections.filter((function(e){return e.id!==t})))},_n=function(t){var e=gn.collections.findIndex((function(e){return e.id===t.id}));-1!==e?i.set(gn.collections,e,t):gn.collections.push(t)},Cn={fetchCollectionsByResource:function(t){var e=t.resourceType,n=t.resourceId;return hn.getCollectionsByResource(e,n).then((function(t){return yn(t),t}))},createCollection:function(t){var e=t.baseResourceType,n=t.baseResourceId,o=t.resourceType,r=t.resourceId,i=t.name;return hn.createCollection(e,n,i).then((function(t){bn(t),Cn.addResourceToCollection({collectionId:t.id,resourceType:o,resourceId:r})}))},renameCollection:function(t){var e=t.collectionId,n=t.name;return hn.renameCollection(e,n).then((function(t){return _n(t),t}))},addResourceToCollection:function(t){var e=t.collectionId,n=t.resourceType,o=t.resourceId;return hn.addResource(e,n,o).then((function(t){return _n(t),t}))},removeResource:function(t){var e=t.collectionId,n=t.resourceType,o=t.resourceId;return hn.removeResource(e,n,o).then((function(t){t.resources.length>0?_n(t):xn(t)}))},search:function(t){return hn.search(t)}};r.options.defaultHtml=!1;var wn={name:\"CollectionListItem\",components:{Avatar:o,Actions:e,ActionButton:n},directives:{Tooltip:r},props:{collection:{type:Object,default:null}},data:function(){return{detailsOpen:!1,newName:null,error:{}}},computed:{getIcon:function(){return function(t){return[t.iconClass]}},typeClass:function(){return function(t){return\"resource-type-\"+t.type}},limitedResources:function(){return function(t){return t.resources?t.resources.slice(0,2):[]}},iconUrl:function(){return function(t){return t.mimetype?OC.MimeType.getIconUrl(t.mimetype):t.iconUrl?t.iconUrl:\"\"}}},methods:{toggleDetails:function(){this.detailsOpen=!this.detailsOpen},showDetails:function(){this.detailsOpen=!0},hideDetails:function(){this.detailsOpen=!1},removeResource:function(t,e){Cn.removeResource({collectionId:t.id,resourceType:e.type,resourceId:e.id})},openRename:function(){this.newName=this.collection.name},renameCollection:function(){var e=this;\"\"!==this.newName?Cn.renameCollection({collectionId:this.collection.id,name:this.newName}).then((function(t){e.newName=null})).catch((function(n){e.$set(e.error,\"rename\",t(\"core\",\"Failed to rename the project\")),console.error(n),setTimeout((function(){Vue.set(e.error,\"rename\",null)}),3e3)})):this.newName=null}}};function On(t,e,n,o,r,i,a,c,l,s){\"boolean\"!=typeof a&&(l=c,c=a,a=!1);const u=\"function\"==typeof n?n.options:n;let f;if(t&&t.render&&(u.render=t.render,u.staticRenderFns=t.staticRenderFns,u._compiled=!0,r&&(u.functional=!0)),o&&(u._scopeId=o),i?(f=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,l(t)),t&&t._registeredComponents&&t._registeredComponents.add(i)},u._ssrRegister=f):e&&(f=a?function(t){e.call(this,s(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,c(t))}),f)if(u.functional){const t=u.render;u.render=function(e,n){return f.call(n),t(e,n)}}else{const t=u.beforeCreate;u.beforeCreate=t?[].concat(t,f):[f]}return n}const Sn=\"undefined\"!=typeof navigator&&/msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());function Rn(t){return(t,e)=>function(t,e){const n=Sn?e.media||\"default\":t,o=jn[n]||(jn[n]={ids:new Set,styles:[]});if(!o.ids.has(t)){o.ids.add(t);let n=e.source;if(e.map&&(n+=\"\\n/*# sourceURL=\"+e.map.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(e.map))))+\" */\"),o.element||(o.element=document.createElement(\"style\"),o.element.type=\"text/css\",e.media&&o.element.setAttribute(\"media\",e.media),void 0===En&&(En=document.head||document.getElementsByTagName(\"head\")[0]),En.appendChild(o.element)),\"styleSheet\"in o.element)o.styles.push(n),o.element.styleSheet.cssText=o.styles.filter(Boolean).join(\"\\n\");else{const t=o.ids.size-1,e=document.createTextNode(n),r=o.element.childNodes;r[t]&&o.element.removeChild(r[t]),r.length?o.element.insertBefore(e,r[t]):o.element.appendChild(e)}}}(t,e)}let En;const jn={};const kn=On({render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"collection-list-item\"},[n(\"Avatar\",{staticClass:\"collection-avatar\",attrs:{\"display-name\":t.collection.name,\"allow-placeholder\":!0}}),t._v(\" \"),null===t.newName?n(\"span\",{staticClass:\"collection-item-name\",attrs:{title:\"\"},on:{click:t.showDetails}},[t._v(t._s(t.collection.name))]):n(\"form\",{class:{shouldshake:t.error.rename},on:{submit:function(e){return e.preventDefault(),t.renameCollection(e)}}},[n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.newName,expression:\"newName\"}],attrs:{type:\"text\",autocomplete:\"off\",autocapitalize:\"off\"},domProps:{value:t.newName},on:{input:function(e){e.target.composing||(t.newName=e.target.value)}}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]),t._v(\" \"),t.detailsOpen||null!==t.newName?t._e():n(\"div\",{staticClass:\"linked-icons\"},t._l(t.limitedResources(t.collection),(function(e){return n(\"a\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:e.name,expression:\"resource.name\"}],key:e.type+\"|\"+e.id,class:t.typeClass(e),attrs:{href:e.link}},[n(\"img\",{attrs:{src:t.iconUrl(e)}})])})),0),t._v(\" \"),null===t.newName?n(\"span\",{staticClass:\"sharingOptionsGroup\"},[n(\"Actions\",[n(\"ActionButton\",{attrs:{icon:\"icon-info\"},on:{click:function(e){return e.preventDefault(),t.toggleDetails(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.detailsOpen?t.t(\"core\",\"Hide details\"):t.t(\"core\",\"Show details\"))+\"\\n\\t\\t\\t\")]),t._v(\" \"),n(\"ActionButton\",{attrs:{icon:\"icon-rename\"},on:{click:function(e){return e.preventDefault(),t.openRename(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.t(\"core\",\"Rename project\"))+\"\\n\\t\\t\\t\")])],1)],1):t._e(),t._v(\" \"),n(\"transition\",{attrs:{name:\"fade\"}},[t.error.rename?n(\"div\",{staticClass:\"error\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.error.rename)+\"\\n\\t\\t\")]):t._e()]),t._v(\" \"),n(\"transition\",{attrs:{name:\"fade\"}},[t.detailsOpen?n(\"ul\",{staticClass:\"resource-list-details\"},t._l(t.collection.resources,(function(e){return n(\"li\",{key:e.type+\"|\"+e.id,class:t.typeClass(e)},[n(\"a\",{attrs:{href:e.link}},[n(\"img\",{attrs:{src:t.iconUrl(e)}}),n(\"span\",{staticClass:\"resource-name\"},[t._v(t._s(e.name||\"\"))])]),t._v(\" \"),n(\"span\",{staticClass:\"icon-close\",on:{click:function(n){return t.removeResource(t.collection,e)}}})])})),0):t._e()])],1)},staticRenderFns:[]},(function(t){t&&t(\"data-v-37fa7b72_0\",{source:\".fade-enter-active[data-v-37fa7b72],.fade-leave-active[data-v-37fa7b72]{transition:opacity .3s ease}.fade-enter[data-v-37fa7b72],.fade-leave-to[data-v-37fa7b72]{opacity:0}.linked-icons[data-v-37fa7b72]{display:flex}.linked-icons img[data-v-37fa7b72]{padding:12px;height:44px;display:block;background-repeat:no-repeat;background-position:center;opacity:.7}.linked-icons img[data-v-37fa7b72]:hover{opacity:1}.popovermenu[data-v-37fa7b72]{display:none}.popovermenu.open[data-v-37fa7b72]{display:block}li.collection-list-item[data-v-37fa7b72]{flex-wrap:wrap;height:auto;cursor:pointer;margin-bottom:0!important}li.collection-list-item .collection-avatar[data-v-37fa7b72]{margin-top:6px}li.collection-list-item .collection-item-name[data-v-37fa7b72],li.collection-list-item form[data-v-37fa7b72]{flex-basis:10%;flex-grow:1;display:flex}li.collection-list-item .collection-item-name[data-v-37fa7b72]{padding:12px 9px}li.collection-list-item input[type=text][data-v-37fa7b72]{margin-top:4px;flex-grow:1}li.collection-list-item .error[data-v-37fa7b72]{flex-basis:100%;width:100%}li.collection-list-item .resource-list-details[data-v-37fa7b72]{flex-basis:100%;width:100%}li.collection-list-item .resource-list-details li[data-v-37fa7b72]{display:flex;margin-left:44px;border-radius:3px;cursor:pointer}li.collection-list-item .resource-list-details li[data-v-37fa7b72]:hover{background-color:var(--color-background-dark)}li.collection-list-item .resource-list-details li a[data-v-37fa7b72]{flex-grow:1;padding:3px;max-width:calc(100% - 30px);display:flex}li.collection-list-item .resource-list-details span[data-v-37fa7b72]{display:inline-block;vertical-align:top;margin-right:10px}li.collection-list-item .resource-list-details span.resource-name[data-v-37fa7b72]{text-overflow:ellipsis;overflow:hidden;position:relative;vertical-align:top;white-space:nowrap;flex-grow:1;padding:4px}li.collection-list-item .resource-list-details img[data-v-37fa7b72]{width:24px;height:24px}li.collection-list-item .resource-list-details .icon-close[data-v-37fa7b72]{opacity:.7}li.collection-list-item .resource-list-details .icon-close[data-v-37fa7b72]:focus,li.collection-list-item .resource-list-details .icon-close[data-v-37fa7b72]:hover{opacity:1}.shouldshake[data-v-37fa7b72]{animation:shake-data-v-37fa7b72 .6s 1 linear}@keyframes shake-data-v-37fa7b72{0%{transform:translate(15px)}20%{transform:translate(-15px)}40%{transform:translate(7px)}60%{transform:translate(-7px)}80%{transform:translate(3px)}100%{transform:translate(0)}}\",map:void 0,media:void 0})}),wn,\"data-v-37fa7b72\",false,undefined,!1,Rn,void 0,void 0);var Tn=N((function(t){var e=this;\"\"!==t&&Cn.search(t).then((function(t){e.searchCollections=t})).catch((function(t){console.error(\"Failed to search for collections\",t)}))}),500,{});const In=On({render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.collections&&t.type&&t.id?n(\"ul\",{staticClass:\"collection-list\",attrs:{id:\"collection-list\"}},[n(\"li\",{on:{click:t.showSelect}},[t._m(0),t._v(\" \"),n(\"div\",{attrs:{id:\"collection-select-container\"}},[n(\"Multiselect\",{ref:\"select\",attrs:{options:t.options,placeholder:t.placeholder,\"tag-placeholder\":\"Create a new project\",label:\"title\",\"track-by\":\"title\",\"reset-after\":!0,limit:5},on:{select:t.select,\"search-change\":t.search},scopedSlots:t._u([{key:\"singleLabel\",fn:function(e){return[n(\"span\",{staticClass:\"option__desc\"},[n(\"span\",{staticClass:\"option__title\"},[t._v(t._s(e.option.title))])])]}},{key:\"option\",fn:function(e){return[n(\"span\",{staticClass:\"option__wrapper\"},[e.option.class?n(\"span\",{staticClass:\"avatar\",class:e.option.class}):2!==e.option.method?n(\"Avatar\",{attrs:{\"display-name\":e.option.title,\"allow-placeholder\":!0}}):t._e(),t._v(\" \"),n(\"span\",{staticClass:\"option__title\"},[t._v(t._s(e.option.title))])],1)]}}],null,!1,1746341295),model:{value:t.value,callback:function(e){t.value=e},expression:\"value\"}}),t._v(\" \"),n(\"p\",{staticClass:\"hint\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.t(\"core\",\"Connect items to a project to make them easier to find\"))+\"\\n\\t\\t\\t\")])],1)]),t._v(\" \"),n(\"transition\",{attrs:{name:\"fade\"}},[t.error?n(\"li\",{staticClass:\"error\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.error)+\"\\n\\t\\t\")]):t._e()]),t._v(\" \"),t._l(t.collections,(function(t){return n(\"CollectionListItem\",{key:t.id,attrs:{collection:t}})}))],2):t._e()},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e(\"div\",{staticClass:\"avatar\"},[e(\"span\",{staticClass:\"icon-projects\"})])}]},(function(t){t&&t(\"data-v-68879a84_0\",{source:\".collection-list *[data-v-68879a84]{box-sizing:border-box}.collection-list>li[data-v-68879a84]{display:flex;align-items:start}.collection-list>li>.avatar[data-v-68879a84]{margin-top:5px}#collection-select-container[data-v-68879a84]{display:flex;flex-direction:column;margin-top:-5px}.multiselect[data-v-68879a84]{z-index:2;width:100%;margin-left:3px;background-color:transparent}.multiselect[data-v-68879a84]:not(.multiselect--active) .multiselect__tags{border:none!important}.multiselect[data-v-68879a84]:not(.multiselect--active) .multiselect__tags input::placeholder{color:var(--color-main-text)}.multiselect[data-v-68879a84] .multiselect__input{background-color:transparent}.multiselect span.avatar[data-v-68879a84]{display:block;padding:16px;opacity:.7;background-repeat:no-repeat;background-position:center}.multiselect span.avatar[data-v-68879a84]:hover{opacity:1}.multiselect.multiselect--active+p.hint[data-v-68879a84]{opacity:0}p.hint[data-v-68879a84]{z-index:1;margin-top:-16px;padding:8px 8px;color:var(--color-text-maxcontrast);line-height:normal}div.avatar[data-v-68879a84]{width:32px;height:32px;margin:0;padding:8px;background-color:var(--color-background-dark);margin-top:30px}.icon-projects[data-v-68879a84]{display:block;padding:8px;background-repeat:no-repeat;background-position:center}.option__wrapper[data-v-68879a84]{display:flex}.option__wrapper .avatar[data-v-68879a84]{display:block;background-color:var(--color-background-darker)!important}.option__wrapper .option__title[data-v-68879a84]{padding:4px}.fade-enter-active[data-v-68879a84],.fade-leave-active[data-v-68879a84]{transition:opacity .5s}.fade-enter[data-v-68879a84],.fade-leave-to[data-v-68879a84]{opacity:0}\",map:void 0,media:void 0})}),{name:\"CollectionList\",components:{CollectionListItem:kn,Avatar:o,Multiselect:c},props:{type:{type:String,default:null},id:{type:String,default:null},name:{type:String,default:\"\"}},data:function(){return{selectIsOpen:!1,generatingCodes:!1,codes:void 0,value:null,model:{},searchCollections:[],error:null,state:gn}},computed:{collections:function(){var t=this;return this.state.collections.filter((function(e){return void 0!==e.resources.find((function(e){return e&&e.id===\"\"+t.id&&e.type===t.type}))}))},placeholder:function(){return t(\"core\",\"Add to a project\")},options:function(){var e=this,n=[];window.OCP.Collaboration.getTypes().sort().forEach((function(t){n.push({method:0,type:t,title:window.OCP.Collaboration.getLabel(t),class:window.OCP.Collaboration.getIcon(t),action:function(){return window.OCP.Collaboration.trigger(t)}})}));var o=function(t){-1===e.collections.findIndex((function(n){return n.id===e.searchCollections[t].id}))&&n.push({method:1,title:e.searchCollections[t].name,collectionId:e.searchCollections[t].id})};for(var r in this.searchCollections)o(r);return 0===this.searchCollections.length&&n.push({method:2,title:t(\"core\",\"Type to search for existing projects\")}),n}},mounted:function(){Cn.fetchCollectionsByResource({resourceType:this.type,resourceId:this.id})},methods:{select:function(e,n){var o=this;0===e.method&&e.action().then((function(n){Cn.createCollection({baseResourceType:o.type,baseResourceId:o.id,resourceType:e.type,resourceId:n,name:o.name}).catch((function(e){o.setError(t(\"core\",\"Failed to create a project\"),e)}))})).catch((function(t){console.error(\"No resource selected\",t)})),1===e.method&&Cn.addResourceToCollection({collectionId:e.collectionId,resourceType:this.type,resourceId:this.id}).catch((function(e){o.setError(t(\"core\",\"Failed to add the item to the project\"),e)}))},search:function(t){Tn.bind(this)(t)},showSelect:function(){this.selectIsOpen=!0,this.$refs.select.$el.focus()},hideSelect:function(){this.selectIsOpen=!1},isVueComponent:function(t){return t._isVue},setError:function(t,e){var n=this;console.error(t,e),this.error=t,setTimeout((function(){n.error=null}),5e3)}}},\"data-v-68879a84\",false,undefined,!1,Rn,void 0,void 0);export{In as CollectionList};\n","!function(A,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"Components/Actions\",[],t):\"object\"==typeof exports?exports[\"Components/Actions\"]=t():(A.NextcloudVue=A.NextcloudVue||{},A.NextcloudVue[\"Components/Actions\"]=t())}(window,(function(){return function(A){var t={};function e(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return A[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=A,e.c=t,e.d=function(A,t,n){e.o(A,t)||Object.defineProperty(A,t,{enumerable:!0,get:n})},e.r=function(A){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(A,\"__esModule\",{value:!0})},e.t=function(A,t){if(1&t&&(A=e(A)),8&t)return A;if(4&t&&\"object\"==typeof A&&A&&A.__esModule)return A;var n=Object.create(null);if(e.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:A}),2&t&&\"string\"!=typeof A)for(var o in A)e.d(n,o,function(t){return A[t]}.bind(null,o));return n},e.n=function(A){var t=A&&A.__esModule?function(){return A.default}:function(){return A};return e.d(t,\"a\",t),t},e.o=function(A,t){return Object.prototype.hasOwnProperty.call(A,t)},e.p=\"/dist/\",e(e.s=73)}([function(A,t,e){\"use strict\";function n(A,t){return function(A){if(Array.isArray(A))return A}(A)||function(A,t){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(A)))return;var e=[],n=!0,o=!1,i=void 0;try{for(var a,r=A[Symbol.iterator]();!(n=(a=r.next()).done)&&(e.push(a.value),!t||e.length!==t);n=!0);}catch(A){o=!0,i=A}finally{try{n||null==r.return||r.return()}finally{if(o)throw i}}return e}(A,t)||function(A,t){if(!A)return;if(\"string\"==typeof A)return o(A,t);var e=Object.prototype.toString.call(A).slice(8,-1);\"Object\"===e&&A.constructor&&(e=A.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(A);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return o(A,t)}(A,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function o(A,t){(null==t||t>A.length)&&(t=A.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=A[e];return n}A.exports=function(A){var t=n(A,4),e=t[1],o=t[3];if(\"function\"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(i),r=\"/*# \".concat(a,\" */\"),s=o.sources.map((function(A){return\"/*# sourceURL=\".concat(o.sourceRoot||\"\").concat(A,\" */\")}));return[e].concat(s).concat([r]).join(\"\\n\")}return[e].join(\"\\n\")}},function(A,t,e){\"use strict\";A.exports=function(A){var t=[];return t.toString=function(){return this.map((function(t){var e=A(t);return t[2]?\"@media \".concat(t[2],\" {\").concat(e,\"}\"):e})).join(\"\")},t.i=function(A,e,n){\"string\"==typeof A&&(A=[[null,A,\"\"]]);var o={};if(n)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(o[a]=!0)}for(var r=0;r<A.length;r++){var s=[].concat(A[r]);n&&o[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),t.push(s))}},t}},function(A,t,e){\"use strict\";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},i=function(){var A={};return function(t){if(void 0===A[t]){var e=document.querySelector(t);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(A){e=null}A[t]=e}return A[t]}}(),a=[];function r(A){for(var t=-1,e=0;e<a.length;e++)if(a[e].identifier===A){t=e;break}return t}function s(A,t){for(var e={},n=[],o=0;o<A.length;o++){var i=A[o],s=t.base?i[0]+t.base:i[0],c=e[s]||0,l=\"\".concat(s,\" \").concat(c);e[s]=c+1;var g=r(l),u={css:i[1],media:i[2],sourceMap:i[3]};-1!==g?(a[g].references++,a[g].updater(u)):a.push({identifier:l,updater:p(u,t),references:1}),n.push(l)}return n}function c(A){var t=document.createElement(\"style\"),n=A.attributes||{};if(void 0===n.nonce){var o=e.nc;o&&(n.nonce=o)}if(Object.keys(n).forEach((function(A){t.setAttribute(A,n[A])})),\"function\"==typeof A.insert)A.insert(t);else{var a=i(A.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(t)}return t}var l,g=(l=[],function(A,t){return l[A]=t,l.filter(Boolean).join(\"\\n\")});function u(A,t,e,n){var o=e?\"\":n.media?\"@media \".concat(n.media,\" {\").concat(n.css,\"}\"):n.css;if(A.styleSheet)A.styleSheet.cssText=g(t,o);else{var i=document.createTextNode(o),a=A.childNodes;a[t]&&A.removeChild(a[t]),a.length?A.insertBefore(i,a[t]):A.appendChild(i)}}function d(A,t,e){var n=e.css,o=e.media,i=e.sourceMap;if(o?A.setAttribute(\"media\",o):A.removeAttribute(\"media\"),i&&\"undefined\"!=typeof btoa&&(n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),A.styleSheet)A.styleSheet.cssText=n;else{for(;A.firstChild;)A.removeChild(A.firstChild);A.appendChild(document.createTextNode(n))}}var m=null,C=0;function p(A,t){var e,n,o;if(t.singleton){var i=C++;e=m||(m=c(t)),n=u.bind(null,e,i,!1),o=u.bind(null,e,i,!0)}else e=c(t),n=d.bind(null,e,t),o=function(){!function(A){if(null===A.parentNode)return!1;A.parentNode.removeChild(A)}(e)};return n(A),function(t){if(t){if(t.css===A.css&&t.media===A.media&&t.sourceMap===A.sourceMap)return;n(A=t)}else o()}}A.exports=function(A,t){(t=t||{}).singleton||\"boolean\"==typeof t.singleton||(t.singleton=o());var e=s(A=A||[],t);return function(A){if(A=A||[],\"[object Array]\"===Object.prototype.toString.call(A)){for(var n=0;n<e.length;n++){var o=r(e[n]);a[o].references--}for(var i=s(A,t),c=0;c<e.length;c++){var l=r(e[c]);0===a[l].references&&(a[l].updater(),a.splice(l,1))}e=i}}}},function(A,t,e){\"use strict\";function n(A,t,e,n,o,i,a,r){var s,c=\"function\"==typeof A?A.options:A;if(t&&(c.render=t,c.staticRenderFns=e,c._compiled=!0),n&&(c.functional=!0),i&&(c._scopeId=\"data-v-\"+i),a?(s=function(A){(A=A||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(A=__VUE_SSR_CONTEXT__),o&&o.call(this,A),A&&A._registeredComponents&&A._registeredComponents.add(a)},c._ssrRegister=s):o&&(s=r?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),s)if(c.functional){c._injectStyles=s;var l=c.render;c.render=function(A,t){return s.call(t),l(A,t)}}else{var g=c.beforeCreate;c.beforeCreate=g?[].concat(g,s):[s]}return{exports:A,options:c}}e.d(t,\"a\",(function(){return n}))},function(A,t,e){\"use strict\";A.exports=function(A,t){return t||(t={}),\"string\"!=typeof(A=A&&A.__esModule?A.default:A)?A:(/^['\"].*['\"]$/.test(A)&&(A=A.slice(1,-1)),t.hash&&(A+=t.hash),/[\"'() \\t\\n]/.test(A)||t.needQuotes?'\"'.concat(A.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):A)}},function(A,t){A.exports=require(\"vue\")},function(A,t){A.exports=require(\"core-js/modules/es.object.to-string.js\")},function(A,t){A.exports=require(\"v-tooltip\")},function(A,t,e){\"use strict\";t.a=\"data:application/vnd.ms-fontobject;base64,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\"},function(A,t,e){\"use strict\";t.a=\"data:font/woff;base64,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PAE55eh8gAAAAQAAAAEAAIjNr6tfDzz1AAsTiAAAAADc3UwkAAAAANyMcCX/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(A,t,e){\"use strict\";t.a=\"data:font/ttf;base64,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AAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(A,t,e){\"use strict\";t.a=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLTk3MzdmZmYiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtOTczN2ZmZiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4=\"},function(A,t,e){\"use strict\";e.d(t,\"b\",(function(){return r})),e.d(t,\"a\",(function(){return a}));e(27);var n=e(32),o=Object(n.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",Choose:\"Tria\",Close:\"Tanca\",Custom:\"Personalitzat\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",Choose:\"Zvolit\",Close:\"Zavřít\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",Choose:\"Auswählen\",Close:\"Schließen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",Choose:\"Auswählen\",Close:\"Schließen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",Choose:\"Escoller\",Close:\"Pechar\",Custom:\"Personalizado\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación de axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",Choose:\"Scegli\",Close:\"Chiudi\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",Choose:\"選択\",Close:\"閉じる\",Custom:\"カスタム\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",Choose:\"Kies\",Close:\"Sluiten\",Custom:\"Aangepast\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",Choose:\"Wybierz\",Close:\"Zamknij\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",Choose:\"Escolher\",Close:\"Fechar\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Choose:\"Выберите\",Close:\"Закрыть\",Next:\"Следующее\",\"No results\":\"Результаты отсуствуют\",\"Pause slideshow\":\"Приостановить показ слйдов\",Previous:\"Предыдущее\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Start slideshow\":\"Начать показ слайдов\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",Choose:\"Vybrať\",Close:\"Zatvoriť\",Custom:\"Zvyk\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",Choose:\"Välj\",Close:\"Stäng\",Custom:\"Anpassad\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",Choose:\"Seçin\",Close:\"Kapat\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(A){var t={};for(var e in A.translations)A.translations[e].pluralId?t[e]={msgid:e,msgid_plural:A.translations[e].pluralId,msgstr:A.translations[e].msgstr}:t[e]={msgid:e,msgstr:[A.translations[e]]};o.addTranslation(A.locale,{translations:{\"\":t}})}));var i=o.build(),a=i.ngettext.bind(i),r=i.gettext.bind(i)},,function(A,t){A.exports=require(\"core-js/modules/es.function.name.js\")},function(A,t){A.exports=require(\"core-js/modules/es.regexp.exec.js\")},function(A,t){A.exports=require(\"core-js/modules/es.array.iterator.js\")},function(A,t){A.exports=require(\"core-js/modules/es.string.iterator.js\")},function(A,t){A.exports=require(\"core-js/modules/web.dom-collections.iterator.js\")},function(A,t,e){\"use strict\";var n=e(0),o=e.n(n),i=e(1),a=e.n(i)()(o.a);a.push([A.i,\".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./Popover.vue\"],names:[],mappings:\"AAgHA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),t.a=a},function(A,t){},function(A,t,e){\"use strict\";e.r(t);var n=e(7),o=e(2),i=e.n(o),a=e(23),r={insert:\"head\",singleton:!1};i()(a.a,r),a.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nn.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"9737fff\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),n.VTooltip.options.defaultHtml=!1;t.default=n.VTooltip},function(A,t){A.exports=require(\"core-js/modules/es.string.trim.js\")},function(A,t,e){\"use strict\";var n=e(0),o=e.n(n),i=e(1),a=e.n(i)()(o.a);a.push([A.i,\".vue-tooltip[data-v-9737fff]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-9737fff][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-9737fff][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-9737fff][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-9737fff] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-9737fff] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\"],names:[],mappings:\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),t.a=a},,function(A,t){A.exports=require(\"core-js/modules/es.string.replace.js\")},function(A,t){A.exports=require(\"core-js/modules/es.regexp.to-string.js\")},function(A,t){A.exports=require(\"core-js/modules/web.dom-collections.for-each.js\")},function(A,t,e){\"use strict\";var n={name:\"Popover\",components:{VPopover:e(7).VPopover},mounted:function(){var A=this;this.$watch((function(){return A.$refs.popover.isOpen}),(function(t){t?A.$emit(\"after-show\"):A.$emit(\"after-hide\")}))}},o=e(2),i=e.n(o),a=e(19),r={insert:\"head\",singleton:!1},s=(i()(a.a,r),a.a.locals,e(3)),c=e(20),l=e.n(c),g=Object(s.a)(n,(function(){var A=this.$createElement,t=this._self._c||A;return t(\"VPopover\",this._g(this._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},\"VPopover\",this.$attrs,!1),this.$listeners),[this._t(\"trigger\"),this._v(\" \"),t(\"template\",{slot:\"popover\"},[this._t(\"default\")],2)],2)}),[],!1,null,null,null);\"function\"==typeof l.a&&l()(g);t.a=g.exports},,,function(A,t){A.exports=require(\"core-js/modules/es.symbol.js\")},function(A,t){A.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(A,t,e){\"use strict\";e(15),e(25),e(6),e(26);t.a=function(A){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,A||5)}},,function(A,t){A.exports=require(\"core-js/modules/es.array.concat.js\")},,,function(A,t){A.exports=require(\"core-js/modules/es.symbol.description.js\")},,,function(A,t){A.exports=require(\"core-js/modules/es.array.slice.js\")},,,,,function(A,t){A.exports=require(\"core-js/modules/es.symbol.iterator.js\")},function(A,t,e){\"use strict\";e.r(t);var n=e(28);\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=n.a},,,function(A,t,e){\"use strict\";e(35),e(14),e(101);var n=e(5),o=e.n(n);t.a=function(A,t,e){if(void 0!==A)for(var n=A.length-1;n>=0;n--){var i=A[n],a=!i.componentOptions&&i.tag&&-1===t.indexOf(i.tag),r=!!i.componentOptions&&\"string\"==typeof i.componentOptions.tag,s=r&&-1===t.indexOf(i.componentOptions.tag);(a||!r||s)&&((a||s)&&o.a.util.warn(\"\".concat(a?i.tag:i.componentOptions.tag,\" is not allowed inside the \").concat(e.$options.name,\" component\"),e),A.splice(n,1))}}},function(A,t){A.exports=require(\"core-js/modules/es.array.filter.js\")},function(A,t){A.exports=require(\"core-js/modules/es.array.from.js\")},,,,,,,,,,,,,,,function(A,t,e){\"use strict\";var n=e(0),o=e.n(n),i=e(1),a=e.n(i),r=e(4),s=e.n(r),c=e(8),l=e(9),g=e(10),u=e(11),d=a()(o.a),m=s()(c.a),C=s()(l.a),p=s()(g.a),f=s()(u.a);d.push([A.i,'@font-face{font-family:\"iconfont-vue-9737fff\";src:url('+m+\");src:url(\"+m+') format(\"embedded-opentype\"),url('+C+') format(\"woff\"),url('+p+') format(\"truetype\"),url('+f+') format(\"svg\")}.icon[data-v-54ba527a]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-left[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right-double[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.breadcrumb[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.checkmark[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.close[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.confirm[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.info[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.menu[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.more[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.pause[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.play[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.triangle-s[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-away[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-dnd[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-invisible[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-online[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.action-item[data-v-54ba527a]{position:relative;display:inline-block}.action-item--single[data-v-54ba527a]:hover,.action-item--single[data-v-54ba527a]:focus,.action-item--single[data-v-54ba527a]:active,.action-item__menutoggle[data-v-54ba527a]:hover,.action-item__menutoggle[data-v-54ba527a]:focus,.action-item__menutoggle[data-v-54ba527a]:active{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item__menutoggle[data-v-54ba527a]:disabled,.action-item--single[data-v-54ba527a]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-54ba527a]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-54ba527a],.action-item__menutoggle[data-v-54ba527a]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:14px;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item__menutoggle[data-v-54ba527a]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle[data-v-54ba527a] span{width:16px;height:16px;line-height:16px}.action-item__menutoggle[data-v-54ba527a]:before{content:\\'\\'}.action-item__menutoggle--default-icon[data-v-54ba527a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.action-item__menutoggle--default-icon[data-v-54ba527a]::before{font-size:16px}.action-item__menutoggle--with-title[data-v-54ba527a]{position:relative;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item__menutoggle--with-title[data-v-54ba527a]:before{position:absolute;top:14px;left:14px}.action-item__menutoggle--primary[data-v-54ba527a]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-54ba527a],.action-item__menutoggle--primary[data-v-54ba527a]:hover,.action-item__menutoggle--primary[data-v-54ba527a]:focus,.action-item__menutoggle--primary[data-v-54ba527a]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-54ba527a]{opacity:.7}.action-item--single[data-v-54ba527a]:hover,.action-item--single[data-v-54ba527a]:focus,.action-item--single[data-v-54ba527a]:active{opacity:1}.action-item--single>[hidden][data-v-54ba527a]{display:none}.ie .action-item__menu[data-v-54ba527a],.ie .action-item__menu .action-item__menu_arrow[data-v-54ba527a],.edge .action-item__menu[data-v-54ba527a],.edge .action-item__menu .action-item__menu_arrow[data-v-54ba527a]{border:1px solid var(--color-border)}\\n',\"\",{version:3,sources:[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Actions.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,8BA1FG,iBC6nBZ,CACX,oBACA,CAAA,sRASC,SAAA,CAAY,uCCvnBE,CAAA,kGD+nBd,qBACA,CAAA,yEAGmB,SAAA,CAAA,uCCvnBK,CAAA,gFD8nBxB,qBACA,CAAA,UAAY,CAAA,cACL,CAAA,WACP,CAAS,QACT,CAAA,YACA,CAAA,cClpBY,CAAA,WDopBJ,CAAA,kBAER,CAAA,4BACA,CAAA,0CACA,YAAA,CAAA,kBAMA,CAAA,sBACA,CAAA,UAAe,CAAE,gBCrpBF,CAAE,gBDupBJ,CAAI,+CANjB,UAUA,CAAA,WACC,CAAK,gBC1qBI,CAAI,iDD+pBd,UAAY,CAAA,+DAkBX,kCD7sBF,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,gEC4nBD,cAAc,CAAA,sDAIb,iBAAA,CAGW,iBACF,CAAQ,kBC/rBA,CDisBlB,SAAA,CAAA,yCAEkB,CAAA,6CAEA,CAAA,+BAClB,CAAA,iBAAkC,CAAM,6DARxC,iBAAY,CAWJ,QACP,CAAQ,SAAU,CAClB,mDAEA,SAAA,CAAA,+BAKM,CAAA,WAAA,CAAA,6CAEW,CAAA,kPAJlB,0CASQ,CAAA,8DACW,CAAA,sCAClB,UAAA,CAAA,qIAIF,SAAA,CAAA,+CAAA,YAQI,CAAA,sNASc,oCACA\",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\\'__iconfont__data\\'), $__iconfont__data, ()), (\\n\\t\"iconfont-vue-9737fff\": (\\n\\t\\t\"arrow-left-double\": \"\\\\ea01\",\\n\\t\\t\"arrow-left\": \"\\\\ea02\",\\n\\t\\t\"arrow-right-double\": \"\\\\ea03\",\\n\\t\\t\"arrow-right\": \"\\\\ea04\",\\n\\t\\t\"breadcrumb\": \"\\\\ea05\",\\n\\t\\t\"checkmark\": \"\\\\ea06\",\\n\\t\\t\"close\": \"\\\\ea07\",\\n\\t\\t\"confirm\": \"\\\\ea08\",\\n\\t\\t\"info\": \"\\\\ea09\",\\n\\t\\t\"menu\": \"\\\\ea0a\",\\n\\t\\t\"more\": \"\\\\ea0b\",\\n\\t\\t\"pause\": \"\\\\ea0c\",\\n\\t\\t\"play\": \"\\\\ea0d\",\\n\\t\\t\"triangle-s\": \"\\\\ea0e\",\\n\\t\\t\"user-status-away\": \"\\\\ea0f\",\\n\\t\\t\"user-status-dnd\": \"\\\\ea10\",\\n\\t\\t\"user-status-invisible\": \"\\\\ea11\",\\n\\t\\t\"user-status-online\": \"\\\\ea12\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: \\'icon\\' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be \\'icon-\\' it would result in .icon-star\\n$icon-prefix: \\'\\' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn \\'Undefined Iconfont Family!\\';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn \\'Undefined Iconfont Glyph!\\';\\n @return \\'\\';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont(\\'star\\') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \"iconfont-vue-9737fff\";\\n src: url(\\'../iconfont-vue-9737fff.eot\\'); /* IE9 Compat Modes */\\n src: url(\\'../iconfont-vue-9737fff.eot?#iefix\\') format(\\'embedded-opentype\\'), /* IE6-IE8 */\\n url(\\'../iconfont-vue-9737fff.woff\\') format(\\'woff\\'), /* Pretty Modern Browsers */\\n url(\\'../iconfont-vue-9737fff.ttf\\') format(\\'truetype\\'), /* Safari, Android, iOS */\\n url(\\'../iconfont-vue-9737fff.svg\\') format(\\'svg\\'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \"iconfont-vue-9737fff\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \"iconfont-vue-9737fff\";\\n content: iconfont-item(\"iconfont-vue-9737fff/#{$icon}\");\\n }\\n }\\n }\\n}\\n',\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg\\n\\t\\tbackground-color: $icon-focus-bg;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: $icon-margin;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t// image slot\\n\\t\\t/deep/ span {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tline-height: $icon-size;\\n\\t\\t}\\n\\n\\t\\t&:before {\\n\\t\\t\\tcontent: '';\\n\\t\\t}\\n\\n\\t\\t&--default-icon {\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tfont-size: $icon-size;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t&:before {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: $icon-margin;\\n\\t\\t\\t\\tleft: $icon-margin;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),t.a=d},function(A,t){},function(A,t){A.exports=require(\"core-js/modules/es.object.keys.js\")},,function(A,t){A.exports=require(\"core-js/modules/es.object.get-own-property-descriptor.js\")},function(A,t){A.exports=require(\"core-js/modules/es.object.get-own-property-descriptors.js\")},function(A,t,e){\"use strict\";e.r(t);var n=e(85);\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */t.default=n.a},,,,,,,,,,,,function(A,t,e){\"use strict\";e(22),e(51),e(69),e(31),e(71),e(27),e(72),e(38),e(6),e(46),e(16),e(17),e(18),e(52),e(41),e(14);var n=e(21),o=e(33),i=e(50),a=e(12),r=e(47);function s(A){return function(A){if(Array.isArray(A))return c(A)}(A)||function(A){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(A))return Array.from(A)}(A)||function(A,t){if(!A)return;if(\"string\"==typeof A)return c(A,t);var e=Object.prototype.toString.call(A).slice(8,-1);\"Object\"===e&&A.constructor&&(e=A.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(A);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return c(A,t)}(A)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function c(A,t){(null==t||t>A.length)&&(t=A.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=A[e];return n}function l(A,t){var e=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(A,t).enumerable}))),e.push.apply(e,n)}return e}function g(A){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?l(Object(e),!0).forEach((function(t){u(A,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(e)):l(Object(e)).forEach((function(t){Object.defineProperty(A,t,Object.getOwnPropertyDescriptor(e,t))}))}return A}function u(A,t,e){return t in A?Object.defineProperty(A,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):A[t]=e,A}var d=[\"ActionButton\",\"ActionCheckbox\",\"ActionInput\",\"ActionLink\",\"ActionRadio\",\"ActionRouter\",\"ActionSeparator\",\"ActionText\",\"ActionTextEditable\"],m={name:\"Actions\",directives:{tooltip:n.default},components:{Popover:r.default,VNodes:{functional:!0,render:function(A,t){return t.props.vnodes}}},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},defaultIcon:{type:String,default:\"action-item__menutoggle--default-icon\"},ariaLabel:{type:String,default:Object(a.b)(\"Actions\")},placement:{type:String,default:\"bottom\"},boundariesElement:{type:Element,default:function(){return document.querySelector(\"body\")}},container:{type:String,default:\"body\"},disabled:{type:Boolean,default:!1}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:\"menu-\"+Object(o.a)(),children:this.$children}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},firstActionVNode:function(){return this.actions[0]},firstAction:function(){return this.children[0]?this.children[0]:{}},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var A=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===A)return g(g({is:\"a\",href:this.firstAction.href,target:this.firstAction.target,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionRouter\"===A)return g(g({is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionButton\"===A)return g(g({is:\"button\",\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var A,t,e;return null===(A=this.firstActionVNode)||void 0===A||null===(t=A.componentOptions)||void 0===t||null===(e=t.listeners)||void 0===e?void 0:e.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionIconSlot:function(){var A,t;return null===(A=this.firstAction)||void 0===A||null===(t=A.$slots)||void 0===t?void 0:t.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+\" \"+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(A){A!==this.opened&&(this.opened=A)}},beforeMount:function(){this.initActions(),Object(i.a)(this.$slots.default,d,this)},beforeUpdate:function(){this.initActions(),Object(i.a)(this.$slots.default,d,this)},methods:{openMenu:function(A){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(A){this.opened&&(this.opened=!1,this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(A){var t=this;this.$nextTick((function(){t.focusFirstAction(A)}))},onMouseFocusAction:function(A){if(document.activeElement!==A.target){var t=A.target.closest(\"li\");if(t){var e=t.querySelector(\".focusable\");if(e){var n=s(this.$refs.menu.querySelectorAll(\".focusable\")).indexOf(e);n>-1&&(this.focusIndex=n,this.focusAction())}}}},removeCurrentActive:function(){var A=this.$refs.menu.querySelector(\"li.active\");A&&A.classList.remove(\"active\")},focusAction:function(){var A=this.$refs.menu.querySelectorAll(\".focusable\")[this.focusIndex];if(A){this.removeCurrentActive();var t=A.closest(\"li.action\");A.focus(),t&&t.classList.add(\"active\")}},focusPreviousAction:function(A){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(A),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(A){if(this.opened){var t=this.$refs.menu.querySelectorAll(\".focusable\").length-1;this.focusIndex===t?this.closeMenu():(this.preventIfEvent(A),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(A){this.opened&&(this.preventIfEvent(A),this.focusIndex=0,this.focusAction())},focusLastAction:function(A){this.opened&&(this.preventIfEvent(A),this.focusIndex=this.$el.querySelectorAll(\".focusable\").length-1,this.focusAction())},preventIfEvent:function(A){A&&(A.preventDefault(),A.stopPropagation())},execFirstAction:function(A){this.firstActionEvent&&this.firstActionEvent(A)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(A){return!!A&&!!A.componentOptions}))},onFocus:function(A){this.$emit(\"focus\",A)},onBlur:function(A){this.$emit(\"blur\",A)}}},C=e(2),p=e.n(C),f=e(67),h={insert:\"head\",singleton:!1},B=(p()(f.a,h),f.a.locals,e(3)),y=e(68),b=e.n(y),M=Object(B.a)(m,(function(){var A,t,e=this,n=e.$createElement,o=e._self._c||n;return e.isValidSingleAction&&!e.forceMenu?o(\"element\",e._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:e.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:(A={},A[e.firstAction.icon]=e.firstAction.icon,A[e.firstActionClass]=e.firstActionClass,A),attrs:{rel:\"noreferrer noopener\",disabled:e.disabled},on:e._d({focus:e.onFocus,blur:e.onBlur},[e.firstActionEventBinding,e.execFirstAction])},\"element\",e.firstActionBinding,!1),[o(\"VNodes\",{attrs:{vnodes:e.firstActionIconSlot}}),e._v(\" \"),o(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[e._t(\"default\")],2)],1):o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.hasMultipleActions||e.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":e.opened}},[o(\"Popover\",{attrs:{delay:0,\"handle-resize\":!0,open:e.opened,placement:e.placement,\"boundaries-element\":e.boundariesElement,container:e.container},on:{\"update:open\":function(A){e.opened=A},show:e.openMenu,\"after-show\":e.onOpen,hide:e.closeMenu}},[o(\"button\",{ref:\"menuButton\",staticClass:\"icon action-item__menutoggle\",class:(t={},t[e.defaultIcon]=!e.iconSlotIsPopulated,t[\"action-item__menutoggle--with-title\"]=e.menuTitle,t[\"action-item__menutoggle--primary\"]=e.primary,t),attrs:{slot:\"trigger\",disabled:e.disabled,\"aria-label\":e.ariaLabel,\"aria-haspopup\":\"true\",\"aria-controls\":e.randomId,\"test-attr\":\"1\",\"aria-expanded\":e.opened?\"true\":\"false\"},on:{focus:e.onFocus,blur:e.onBlur},slot:\"trigger\"},[e._t(\"icon\"),e._v(\"\\n\\t\\t\\t\"+e._s(e.menuTitle)+\"\\n\\t\\t\")],2),e._v(\" \"),o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.opened,expression:\"opened\"}],ref:\"menu\",class:{open:e.opened},attrs:{tabindex:\"-1\"},on:{keydown:[function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"up\",38,A.key,[\"Up\",\"ArrowUp\"])||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusPreviousAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"down\",40,A.key,[\"Down\",\"ArrowDown\"])||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusNextAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"tab\",9,A.key,\"Tab\")||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusNextAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"tab\",9,A.key,\"Tab\")?null:A.shiftKey?A.ctrlKey||A.altKey||A.metaKey?null:e.focusPreviousAction(A):null},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"page-up\",void 0,A.key,void 0)||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusFirstAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"page-down\",void 0,A.key,void 0)||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:e.focusLastAction(A)},function(A){return!A.type.indexOf(\"key\")&&e._k(A.keyCode,\"esc\",27,A.key,[\"Esc\",\"Escape\"])||A.ctrlKey||A.shiftKey||A.altKey||A.metaKey?null:(A.preventDefault(),e.closeMenu(A))}],mousemove:e.onMouseFocusAction}},[o(\"ul\",{attrs:{id:e.randomId,tabindex:\"-1\"}},[e.opened?[e._t(\"default\")]:e._e()],2)])])],1)}),[],!1,null,\"54ba527a\",null);\"function\"==typeof b.a&&b()(M);t.a=M.exports},,,,,,,,,,,,,,,,function(A,t){A.exports=require(\"core-js/modules/es.array.splice.js\")}])}));\n//# sourceMappingURL=Actions.js.map","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","function getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n var trident = ua.indexOf('Trident/');\n\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n var edge = ua.indexOf('Edge/');\n\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n } // other browser\n\n\n return -1;\n}\n\n//\nvar isIE;\n\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\n\nvar script = {\n name: 'ResizeObserver',\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n initCompat();\n this.$nextTick(function () {\n _this._w = _this.$el.offsetWidth;\n _this._h = _this.$el.offsetHeight;\n\n if (_this.emitOnMount) {\n _this.emitSize();\n }\n });\n var object = document.createElement('object');\n this._resizeObject = object;\n object.setAttribute('aria-hidden', 'true');\n object.setAttribute('tabindex', -1);\n object.onload = this.addResizeHandlers;\n object.type = 'text/html';\n\n if (isIE) {\n this.$el.appendChild(object);\n }\n\n object.data = 'about:blank';\n\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify: function compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize: function emitSize() {\n this.$emit('notify', {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers: function addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\n this.compareAndNotify();\n },\n removeResizeHandlers: function removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n }\n\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"resize-observer\",\n attrs: {\n tabindex: \"-1\"\n }\n });\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = \"data-v-8859cc6c\";\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction install(Vue) {\n // eslint-disable-next-line vue/component-definition-name-casing\n Vue.component('resize-observer', __vue_component__);\n Vue.component('ResizeObserver', __vue_component__);\n}\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.1\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { __vue_component__ as ResizeObserver, install };\n//# sourceMappingURL=vue-resize.esm.js.map\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionButton\",[],n):\"object\"==typeof exports?exports[\"Components/ActionButton\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionButton\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=110)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var e=[],o=!0,i=!1,r=void 0;try{for(var a,s=t[Symbol.iterator]();!(o=(a=s.next()).done)&&(e.push(a.value),!n||e.length!==n);o=!0);}catch(t){i=!0,r=t}finally{try{o||null==s.return||s.return()}finally{if(i)throw r}}return e}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),a=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),s=\"/*# \".concat(a,\" */\"),c=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(c).concat([s]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var r=0;r<this.length;r++){var a=this[r][0];null!=a&&(i[a]=!0)}for(var s=0;s<t.length;s++){var c=[].concat(t[s]);o&&i[c[0]]||(e&&(c[2]?c[2]=\"\".concat(e,\" and \").concat(c[2]):c[2]=e),n.push(c))}},n}},102:function(t,n,e){\"use strict\";var o={name:\"ActionButton\",mixins:[e(49).a],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},i=e(2),r=e.n(i),a=e(94),s={insert:\"head\",singleton:!1},c=(r()(a.a,s),a.a.locals,e(3)),l=e(95),u=e.n(l),d=Object(c.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"button\",{staticClass:\"action-button\",class:{focusable:t.isFocusable},attrs:{\"aria-label\":t.ariaLabel},on:{click:t.onClick}},[e(\"span\",{staticClass:\"action-button__icon\",class:[t.isIconUrl?\"action-button__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}},[t._t(\"icon\")],2),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-button__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-button__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"42b28436\",null);\"function\"==typeof u.a&&u()(d);n.a=d.exports},110:function(t,n,e){\"use strict\";e.r(n);var o=e(102);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=o.a},14:function(t,n){t.exports=require(\"core-js/modules/es.function.name.js\")},16:function(t,n){t.exports=require(\"core-js/modules/es.array.iterator.js\")},17:function(t,n){t.exports=require(\"core-js/modules/es.string.iterator.js\")},18:function(t,n){t.exports=require(\"core-js/modules/web.dom-collections.iterator.js\")},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),a=[];function s(t){for(var n=-1,e=0;e<a.length;e++)if(a[e].identifier===t){n=e;break}return n}function c(t,n){for(var e={},o=[],i=0;i<t.length;i++){var r=t[i],c=n.base?r[0]+n.base:r[0],l=e[c]||0,u=\"\".concat(c,\" \").concat(l);e[c]=l+1;var d=s(u),p={css:r[1],media:r[2],sourceMap:r[3]};-1!==d?(a[d].references++,a[d].updater(p)):a.push({identifier:u,updater:A(p,n),references:1}),o.push(u)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var a=r(t.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(n)}return n}var u,d=(u=[],function(t,n){return u[t]=n,u.filter(Boolean).join(\"\\n\")});function p(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=d(n,i);else{var r=document.createTextNode(i),a=t.childNodes;a[n]&&t.removeChild(a[n]),a.length?t.insertBefore(r,a[n]):t.appendChild(r)}}function f(t,n,e){var o=e.css,i=e.media,r=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),r&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,b=0;function A(t,n){var e,o,i;if(n.singleton){var r=b++;e=h||(h=l(n)),o=p.bind(null,e,r,!1),i=p.bind(null,e,r,!0)}else e=l(n),o=f.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=c(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=s(e[o]);a[i].references--}for(var r=c(t,n),l=0;l<e.length;l++){var u=s(e[l]);0===a[u].references&&(a[u].updater(),a.splice(u,1))}e=r}}}},22:function(t,n){t.exports=require(\"core-js/modules/es.string.trim.js\")},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,r,a,s){var c,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),r&&(l._scopeId=\"data-v-\"+r),a?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,n){return c.call(n),u(t,n)}}else{var d=l.beforeCreate;l.beforeCreate=d?[].concat(d,c):[c]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},39:function(t,n,e){\"use strict\";e(22),e(14);var o=e(5),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},40:function(t,n){t.exports=require(\"core-js/modules/web.url.js\")},49:function(t,n,e){\"use strict\";e(16),e(6),e(17),e(18),e(40);var o=e(39),i=(e(14),function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}});n.a={mixins:[o.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var n=i(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},5:function(t,n){t.exports=require(\"vue\")},6:function(t,n){t.exports=require(\"core-js/modules/es.object.to-string.js\")},94:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),r=e(1),a=e.n(r)()(i.a);a.push([t.i,\"li.active[data-v-42b28436]{background-color:var(--color-background-hover)}.action--disabled[data-v-42b28436]{pointer-events:none;opacity:.5}.action--disabled[data-v-42b28436]:hover,.action--disabled[data-v-42b28436]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-42b28436]{opacity:1 !important}.action-button[data-v-42b28436]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-42b28436]:hover,.action-button[data-v-42b28436]:focus{opacity:1}.action-button>span[data-v-42b28436]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-42b28436]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button .material-design-icon[data-v-42b28436]{width:44px;height:44px;opacity:1}.action-button .material-design-icon .material-design-icon__svg[data-v-42b28436]{vertical-align:middle}.action-button p[data-v-42b28436]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-42b28436]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-42b28436]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAwBC,2BAEE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDwB9C,cAAe,CACf,kBAAmB,CAEnB,UCjBiB,CDkBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC5CmB,CDsBpB,4EA0BE,SC7Ba,CDGf,qCA8BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UCzDkB,CD0DlB,WC1DkB,CD2DlB,SCxCa,CDyCb,+BAAwC,CACxC,oBCzDa,CD0Db,2BAA4B,CAxC9B,sDA4CE,UClEkB,CDmElB,WCnEkB,CDoElB,SCjDa,CDGf,iFAiDG,qBAAsB,CAjDzB,kCAuDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),n.a=a},95:function(t,n){}})}));\n//# sourceMappingURL=ActionButton.js.map","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"Components/Multiselect\",[],e):\"object\"==typeof exports?exports[\"Components/Multiselect\"]=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Multiselect\"]=e())}(window,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var a in t)n.d(i,a,function(e){return t[e]}.bind(null,a));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/dist/\",n(n.s=107)}([function(t,e,n){\"use strict\";function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],i=!0,a=!1,A=void 0;try{for(var o,r=t[Symbol.iterator]();!(i=(o=r.next()).done)&&(n.push(o.value),!e||n.length!==e);i=!0);}catch(t){a=!0,A=t}finally{try{i||null==r.return||r.return()}finally{if(a)throw A}}return n}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}t.exports=function(t){var e=i(t,4),n=e[1],a=e[3];if(\"function\"==typeof btoa){var A=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),o=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(A),r=\"/*# \".concat(o,\" */\"),s=a.sources.map((function(t){return\"/*# sourceURL=\".concat(a.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(s).concat([r]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,e,n){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,i){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var a={};if(i)for(var A=0;A<this.length;A++){var o=this[A][0];null!=o&&(a[o]=!0)}for(var r=0;r<t.length;r++){var s=[].concat(t[r]);i&&a[s[0]]||(n&&(s[2]?s[2]=\"\".concat(n,\" and \").concat(s[2]):s[2]=n),e.push(s))}},e}},function(t,e,n){\"use strict\";var i,a=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},A=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),o=[];function r(t){for(var e=-1,n=0;n<o.length;n++)if(o[n].identifier===t){e=n;break}return e}function s(t,e){for(var n={},i=[],a=0;a<t.length;a++){var A=t[a],s=e.base?A[0]+e.base:A[0],l=n[s]||0,c=\"\".concat(s,\" \").concat(l);n[s]=l+1;var u=r(c),d={css:A[1],media:A[2],sourceMap:A[3]};-1!==u?(o[u].references++,o[u].updater(d)):o.push({identifier:c,updater:f(d,e),references:1}),i.push(c)}return i}function l(t){var e=document.createElement(\"style\"),i=t.attributes||{};if(void 0===i.nonce){var a=n.nc;a&&(i.nonce=a)}if(Object.keys(i).forEach((function(t){e.setAttribute(t,i[t])})),\"function\"==typeof t.insert)t.insert(e);else{var o=A(t.insert||\"head\");if(!o)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");o.appendChild(e)}return e}var c,u=(c=[],function(t,e){return c[t]=e,c.filter(Boolean).join(\"\\n\")});function d(t,e,n,i){var a=n?\"\":i.media?\"@media \".concat(i.media,\" {\").concat(i.css,\"}\"):i.css;if(t.styleSheet)t.styleSheet.cssText=u(e,a);else{var A=document.createTextNode(a),o=t.childNodes;o[e]&&t.removeChild(o[e]),o.length?t.insertBefore(A,o[e]):t.appendChild(A)}}function g(t,e,n){var i=n.css,a=n.media,A=n.sourceMap;if(a?t.setAttribute(\"media\",a):t.removeAttribute(\"media\"),A&&\"undefined\"!=typeof btoa&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(A)))),\" */\")),t.styleSheet)t.styleSheet.cssText=i;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(i))}}var m=null,p=0;function f(t,e){var n,i,a;if(e.singleton){var A=p++;n=m||(m=l(e)),i=d.bind(null,n,A,!1),a=d.bind(null,n,A,!0)}else n=l(e),i=g.bind(null,n,e),a=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else a()}}t.exports=function(t,e){(e=e||{}).singleton||\"boolean\"==typeof e.singleton||(e.singleton=a());var n=s(t=t||[],e);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var i=0;i<n.length;i++){var a=r(n[i]);o[a].references--}for(var A=s(t,e),l=0;l<n.length;l++){var c=r(n[l]);0===o[c].references&&(o[c].updater(),o.splice(c,1))}n=A}}}},function(t,e,n){\"use strict\";function i(t,e,n,i,a,A,o,r){var s,l=\"function\"==typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),i&&(l.functional=!0),A&&(l._scopeId=\"data-v-\"+A),o?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},l._ssrRegister=s):a&&(s=r?function(){a.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:a),s)if(l.functional){l._injectStyles=s;var c=l.render;l.render=function(t,e){return s.call(e),c(t,e)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,s):[s]}return{exports:t,options:l}}n.d(e,\"a\",(function(){return i}))},function(t,e,n){\"use strict\";t.exports=function(t,e){return e||(e={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/[\"'() \\t\\n]/.test(t)||e.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,e){t.exports=require(\"vue\")},function(t,e){t.exports=require(\"core-js/modules/es.object.to-string.js\")},function(t,e){t.exports=require(\"v-tooltip\")},function(t,e,n){\"use strict\";e.a=\"data:application/vnd.ms-fontobject;base64,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\"},function(t,e,n){\"use strict\";e.a=\"data:font/woff;base64,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PAE55eh8gAAAAQAAAAEAAIjNr6tfDzz1AAsTiAAAAADc3UwkAAAAANyMcCX/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(t,e,n){\"use strict\";e.a=\"data:font/ttf;base64,AAEAAAAKAIAAAwAgT1MvMnTjj9EAAACsAAAAYGNtYXAADeu4AAABDAAAAUJnbHlmx0c5TAAAAlAAAAf8aGVhZCv7IFYAAApMAAAANmhoZWEm/ROFAAAKhAAAACRobXR4Z77//wAACqgAAAA0bG9jYQ28D2YAAArcAAAAKG1heHABIABXAAALBAAAACBuYW1lSUSXPQAACyQAAAKmcG9zdD9UvtcAAA3MAAABFgAEEsoBkAAFAAAMZQ2sAAACvAxlDawAAAlgAPUFCgAAAgAFAwAAAAAAAAAAAAAQAAAAAAAAAAAAAABQZkVkAEDqAeoSE4gAAAHCE4gAAAAAAAEAAAAAAAAAAAAAACAAAAAAAAMAAAADAAAAHAABAAAAAAA8AAMAAQAAABwABAAgAAAABAAEAAEAAOoS//8AAOoB//8WAAABAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAA6mD0MABQALAAAJAhEJBBEJAQ6m+oIFfvu6BEb6gvqCBX77ugRGD0L6gvqCATgERgRGATj6gvqCATgERgRGAAEAAAAADW4SUAAFAAAJAREJAREGGwdT93QIjAnE+K3+yAiLCIz+xwACAAAAAA/fD0MABQALAAAJAhEJBBEJAQTiBX76ggRG+7oFfgV/+oEERvu6BEYFfgV+/sj7uvu6/sgFfgV+/sj7uvu6AAEAAAAADqYSUAAFAAAJAREJARENbvitCIv3dQnEB1MBOfd093UBOAABAAAAAAY3E4gABQAAEwcJARcBlJQFcvqOlAWjE4hV9pH2kVUJxAAAAQAAAAARhw+DAAUAAAkFD8338/v7/kYFvwnHD4P38wQF/kf6QQnGAAEAAAAAERcRFwALAAAJCxEX/e36wPrA/e0FQPrAAhMFQAVAAhP6wASE/e0FQPrAAhMFQAVAAhP6wAVA/e36wAAB//8AABOTEuwAMwAAASIHDgEXFhcBISYHBgcGBwYUFxYXFhcWNyEBBgcGFxYXHgEXFhcWNzY3ATY3NicmJwEuAQpgZU9KRhASSAXX8eBNPjopJxQUFBQnKTo+TQ4g+ik3GhgDAxsZVjU3Oz46PzUH7TsVFRQVPPgTLHQS7Dk0rFlgR/oqARsYLiw5OHg4OSwuGBsC+ik1Pzs+Ojc2VhkaAwMYGTgH7DxRUE9SPAfsLTIAAAACAAAAAA6mElAAGABGAAABIgcOAQcGFBceARcWMjc+ATc2NCcuAScmASIHBgcGFBcWFxYzIREhIgcGBwYUFxYXFjchMjc2NzY0JyYnJiMhETQnJicmIwl2b2ZimCkrKymYYmbeZmKXKisrKpdiZvw2VkhHKSsrKUdIVgJx/Y9WSEcpKyspR0hWB1NVSEcpKyspR0hV/Y8rKUdJVRJQKyqXY2XfZWKYKSsrKZhiZd9lY5cqK/nlKylHSKtIRykr+eYrKUdJqklHKSsBKilHSapJRykrB1NVSEcpKwAAAwAAAAARFxEXAAMABwALAAABESERAREhEQERIRECcQ6m8VoOpvFaDqYRF/2PAnH55v2PAnH55f2PAnEAAwAAAAASngvnABgAMQBKAAABMhceARcWFAcOAQcGIicuAScmNDc+ATc2ITIXHgEXFhQHDgEHBiInLgEnJjQ3PgE3NiEyFx4BFxYUBw4BBwYiJy4BJyY0Nz4BNzYDDXBlYpgpKyspmGJl32ZilyorKyqXYmYHJm9mYpcqKysql2Jm3mZilyorKyqXYmYHJm9mYpcqKysql2Jm32VimCkrKymYYmUL5ysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKwAAAAACAAAAAA/fD98AAwAHAAABESERIREhEQOqBOICcQTiD9/zyww188sMNQAAAAEAAAAAERcRFwACAAAJAgJxDqbxWhEX+K34rQABAAAAAA6mDDUAAgAACQIE4gTiBOIMNfseBOAAAf/gAAATaRNpADEAAAEEBQQFBAMCAwIREBMSExIFBAUEISAlJCUkExITEhMGAAUEISAlJCcmJyYDAhEQExIACGz+mP6x/rr+7f7uxsprboB76eUBOQE8AXIBfgGWAXEBYQFWAS4BKuvsmZw4vP4p/vn+8/7q/r7+zv7Z/fu4u2NnUE4BJxNpLpeT6ef+1/7T/qv+n/6P/mr+gv6O/sT+x+XofIBraMXCAQ0BDgFDAUsBacz+2k5QZ2O7uPv9AScBMgFCASUBEwENAcsAAgAAAAATiBOIACQAQAAAASAFBAUEAwIDAhATEhMSBQQFBCAlJCUkExITEhADAgMCJSQlJAEhMhceARcWFAcOAQcGIyEiJy4BJyY0Nz4BNzYJxP5q/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofICAfOjl/sf+xP6O/oL6wQdTW1dUhCQmJiSEVFdb+K1cV1SEJCYmJIRUVxOIgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gPgRJiWEU1e4V1OEJSYmJYRTV7hXU4QlJgAAAAIAAAAAE4gTiAAkAD0AAAEgBQQFBAMCAwIQExITEgUEBQQgJSQlJBMSExIQAwIDAiUkJSQBIAUEABMSEAMCAAUEICUkAAMCEBMSACUkCcT+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6C/moBNwEXAQ8Bm3B0dHD+Zf7x/un9kv7p/vH+ZXB0dHABmwEPARcTiIB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofID8GHRw/mX+8f7p/ZL+6f7x/mVwdHRwAZsBDwEXAm4BFwEPAZtwdAAAAAIAAAAAE4gTiAADACgAAAEhESEBIAUEBQQDAgMCEBMSExIFBAUEICUkJSQTEhMSEAMCAwIlJCUkBdwH0PgwA+j+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6CBdwH0AXcgHzo5f7H/sT+jv6C/NT+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gAAAAQAAAAEAAIjNr6tfDzz1AAsTiAAAAADc3UwkAAAAANyMcCX/4AAAE5MTiAAAAAgAAgAAAAAAAAABAAATiAAAAAATiP/g//UTkwABAAAAAAAAAAAAAAAAAAAABwAAAAATiAAAE4gAABOIAAATiAAABjYAABOIAAAAAP//AAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAACIANgBYAGwAgACUALQBDgF8AZoCEAImAjQCQgKoAyIDpgP+AAEAAAATAEsAAwAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAAAQAMYAAQAAAAAAAQAUAAAAAQAAAAAAAgAHABQAAQAAAAAAAwAUABsAAQAAAAAABAAUAC8AAQAAAAAABQALAEMAAQAAAAAABgAUAE4AAQAAAAAACgArAGIAAQAAAAAACwATAI0AAwABBAkAAQAoAKAAAwABBAkAAgAOAMgAAwABBAkAAwAoANYAAwABBAkABAAoAP4AAwABBAkABQAWASYAAwABBAkABgAoATwAAwABBAkACgBWAWQAAwABBAkACwAmAbppY29uZm9udC12dWUtOTczN2ZmZlJlZ3VsYXJpY29uZm9udC12dWUtOTczN2ZmZmljb25mb250LXZ1ZS05NzM3ZmZmVmVyc2lvbiAxLjBpY29uZm9udC12dWUtOTczN2ZmZkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtADkANwAzADcAZgBmAGYAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AOQA3ADMANwBmAGYAZgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAATABMAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBExFhcnJvdy1sZWZ0LWRvdWJsZQphcnJvdy1sZWZ0EmFycm93LXJpZ2h0LWRvdWJsZQthcnJvdy1yaWdodApicmVhZGNydW1iCWNoZWNrbWFyawVjbG9zZQdjb25maXJtBGluZm8EbWVudQRtb3JlBXBhdXNlBHBsYXkKdHJpYW5nbGUtcxB1c2VyLXN0YXR1cy1hd2F5D3VzZXItc3RhdHVzLWRuZBV1c2VyLXN0YXR1cy1pbnZpc2libGUSdXNlci1zdGF0dXMtb25saW5lAAA=\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCIgPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWV0YWRhdGE+PC9tZXRhZGF0YT48ZGVmcz48Zm9udCBpZD0iaWNvbmZvbnQtdnVlLTk3MzdmZmYiIGhvcml6LWFkdi14PSI1MDAwIj48Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJpY29uZm9udC12dWUtOTczN2ZmZiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zdHJldGNoPSJub3JtYWwiIHVuaXRzLXBlci1lbT0iNTAwMCIgcGFub3NlLTE9IjIgMCA1IDMgMCAwIDAgMCAwIDAiIGFzY2VudD0iNTAwMCIgZGVzY2VudD0iMCIgeC1oZWlnaHQ9IjAiIGJib3g9Ii0zMiAwIDUwMTEgNTAwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iMCIgdW5kZXJsaW5lLXBvc2l0aW9uPSI1MCIgdW5pY29kZS1yYW5nZT0iVStlYTAxLWVhMTIiIC8+PG1pc3NpbmctZ2x5cGggaG9yaXotYWR2LXg9IjAiICAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1sZWZ0LWRvdWJsZSIgdW5pY29kZT0iJiN4ZWEwMTsiIGQ9Ik0zNzUwIDM5MDYgbC0xNDA2IC0xNDA2IGwxNDA2IC0xNDA2IGwwIDMxMiBsLTEwOTQgMTA5NCBsMTA5NCAxMDk0IGwwIDMxMiBaTTIzNDQgMzkwNiBsLTE0MDYgLTE0MDYgbDE0MDYgLTE0MDYgbDAgMzEyIGwtMTA5NCAxMDk0IGwxMDk0IDEwOTQgbDAgMzEyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImFycm93LWxlZnQiIHVuaWNvZGU9IiYjeGVhMDI7IiBkPSJNMTU2MyAyNTAwIGwxODc1IC0xODc1IGwwIC0zMTIgbC0yMTg4IDIxODcgbDIxODggMjE4OCBsMCAtMzEzIGwtMTg3NSAtMTg3NSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJhcnJvdy1yaWdodC1kb3VibGUiIHVuaWNvZGU9IiYjeGVhMDM7IiBkPSJNMTI1MCAxMDk0IGwxNDA2IDE0MDYgbC0xNDA2IDE0MDYgbDAgLTMxMiBsMTA5NCAtMTA5NCBsLTEwOTQgLTEwOTQgbDAgLTMxMiBaTTI2NTYgMTA5NCBsMTQwNyAxNDA2IGwtMTQwNyAxNDA2IGwwIC0zMTIgbDEwOTQgLTEwOTQgbC0xMDk0IC0xMDk0IGwwIC0zMTIgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYXJyb3ctcmlnaHQiIHVuaWNvZGU9IiYjeGVhMDQ7IiBkPSJNMzQzOCAyNTAwIGwtMTg3NSAxODc1IGwwIDMxMyBsMjE4NyAtMjE4OCBsLTIxODcgLTIxODcgbDAgMzEyIGwxODc1IDE4NzUgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iYnJlYWRjcnVtYiIgdW5pY29kZT0iJiN4ZWEwNTsiIGQ9Ik0xNDggNTAwMCBsLTE0OCAtODUgbDEzOTQgLTI0MTUgbC0xMzk0IC0yNDE1IGwxNDggLTg1IGwxNDQzIDI1MDAgbC0xNDQzIDI1MDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0iY2hlY2ttYXJrIiB1bmljb2RlPSImI3hlYTA2OyIgZD0iTTQwNDUgMzk3MSBsLTIwNjEgLTIwNjEgbC0xMDI5IDEwMjkgbC00NDIgLTQ0MSBsMTQ3MSAtMTQ3MSBsMjUwMyAyNTAyIGwtNDQyIDQ0MiBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJjbG9zZSIgdW5pY29kZT0iJiN4ZWEwNzsiIGQ9Ik00Mzc1IDExNTYgbC01MzEgLTUzMSBsLTEzNDQgMTM0NCBsLTEzNDQgLTEzNDQgbC01MzEgNTMxIGwxMzQ0IDEzNDQgbC0xMzQ0IDEzNDQgbDUzMSA1MzEgbDEzNDQgLTEzNDQgbDEzNDQgMTM0NCBsNTMxIC01MzEgbC0xMzQ0IC0xMzQ0IGwxMzQ0IC0xMzQ0IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9ImNvbmZpcm0iIHVuaWNvZGU9IiYjeGVhMDg7IiBkPSJNMjY1NiA0ODQ0IHEtMTAxIDAgLTE4MCAtNTcgcS03NCAtNTIgLTEwOSAtMTM4IHEtMzUgLTg2IC0xOSAtMTc1IHExOCAtOTYgOTAgLTE2NyBsMTQ5NSAtMTQ5NCBsLTM2MTYgMCBxLTc3IDEgLTEzOSAtMjYgcS01OCAtMjQgLTk5IC03MCBxLTM5IC00NCAtNTkgLTEwMSBxLTIwIC01NiAtMjAgLTExNiBxMCAtNjAgMjAgLTExNiBxMjAgLTU3IDU5IC0xMDEgcTQxIC00NiA5OSAtNzAgcTYyIC0yNyAxMzkgLTI1IGwzNjE2IDAgbC0xNDk1IC0xNDk1IHEtNTUgLTUzIC04MSAtMTE2IHEtMjQgLTU5IC0yMSAtMTIxIHEzIC01OCAzMCAtMTEzIHEyNSAtNTQgNjggLTk3IHE0MyAtNDMgOTYgLTY4IHE1NSAtMjYgMTE0IC0yOSBxNjIgLTMgMTIwIDIxIHE2MyAyNSAxMTYgODEgbDIwMjkgMjAyOCBxNTkgNjAgODAgMTQxIHEyMSA4MCAxIDE1OSBxLTIxIDgyIC04MSAxNDIgbC0yMDI5IDIwMjggcS00NCA0NSAtMTAyIDcwIHEtNTggMjUgLTEyMiAyNSBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJpbmZvIiB1bmljb2RlPSImI3hlYTA5OyIgZD0iTTI0MjIgNDY4OCBxLTExMSAwIC0yMTMgLTQzIHEtOTggLTQyIC0xNzQgLTExNy41IHEtNzYgLTc1LjUgLTExNyAtMTc0LjUgcS00MyAtMTAxIC00MyAtMjEyLjUgcTAgLTExMS41IDQzIC0yMTIuNSBxNDEgLTk4IDExNyAtMTc0IHE3NiAtNzYgMTc0IC0xMTcgcTEwMiAtNDMgMjEzIC00MyBxMTExIDAgMjEzIDQzIHE5OCA0MSAxNzMuNSAxMTcgcTc1LjUgNzYgMTE3LjUgMTc0IHE0MyAxMDEgNDMgMjEyLjUgcTAgMTExLjUgLTQzIDIxMi41IHEtNDIgOTkgLTExNy41IDE3NC41IHEtNzUuNSA3NS41IC0xNzMuNSAxMTcuNSBxLTEwMiA0MyAtMjEzIDQzIFpNMTU2MyAzMTI1IHEtODYgMCAtMTU4IC00MyBxLTcxIC00MSAtMTEyIC0xMTIgcS00MyAtNzIgLTQzIC0xNTcuNSBxMCAtODUuNSA0MyAtMTU3LjUgcTQxIC03MSAxMTIgLTExMiBxNzIgLTQzIDE1OCAtNDMgbDYyNSAwIGwwIC0xNTYyIGwtNjI1IDAgcS04NiAwIC0xNTggLTQzIHEtNzEgLTQxIC0xMTIgLTExMiBxLTQzIC03MyAtNDMgLTE1OCBxMCAtODUgNDMgLTE1OCBxNDEgLTcxIDExMiAtMTEyIHE3MiAtNDMgMTU4IC00MiBsMTg3NSAwIHE4NSAwIDE1NyA0MiBxNzEgNDEgMTEyIDExMiBxNDMgNzMgNDMgMTU4IHEwIDg1IC00MyAxNTggcS00MSA3MSAtMTEyIDExMiBxLTcyIDQzIC0xNTcgNDMgbC02MjUgMCBsMCAxODc1IHEwIDg1IC00MyAxNTcgcS00MSA3MSAtMTEyIDExMiBxLTczIDQzIC0xNTggNDMgbC05MzcgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtZW51IiB1bmljb2RlPSImI3hlYTBhOyIgZD0iTTYyNSA0Mzc1IGwwIC02MjUgbDM3NTAgMCBsMCA2MjUgbC0zNzUwIDAgWk02MjUgMjgxMyBsMCAtNjI1IGwzNzUwIDAgbDAgNjI1IGwtMzc1MCAwIFpNNjI1IDEyNTAgbDAgLTYyNSBsMzc1MCAwIGwwIDYyNSBsLTM3NTAgMCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJtb3JlIiB1bmljb2RlPSImI3hlYTBiOyIgZD0iTTc4MSAzMDQ3IHExMTIgMCAyMTMgLTQzIHE5OCAtNDIgMTc0IC0xMTcuNSBxNzYgLTc1LjUgMTE3IC0xNzMuNSBxNDMgLTEwMiA0MyAtMjEzIHEwIC0xMTEgLTQzIC0yMTMgcS00MSAtOTggLTExNyAtMTczLjUgcS03NiAtNzUuNSAtMTc0IC0xMTcuNSBxLTEwMSAtNDMgLTIxMi41IC00MyBxLTExMS41IDAgLTIxMy41IDQzIHEtOTggNDIgLTE3My41IDExNy41IHEtNzUuNSA3NS41IC0xMTcuNSAxNzMuNSBxLTQzIDEwMiAtNDMgMjEzIHEwIDExMSA0MyAyMTMgcTQyIDk4IDExNy41IDE3My41IHE3NS41IDc1LjUgMTczLjUgMTE3LjUgcTEwMiA0MyAyMTMgNDMgWk0yNTAwIDMwNDcgcTExMSAwIDIxMyAtNDMgcTk4IC00MiAxNzMuNSAtMTE3LjUgcTc1LjUgLTc1LjUgMTE3LjUgLTE3My41IHE0MyAtMTAyIDQzIC0yMTMgcTAgLTExMSAtNDMgLTIxMyBxLTQyIC05OCAtMTE3LjUgLTE3My41IHEtNzUuNSAtNzUuNSAtMTczLjUgLTExNy41IHEtMTAyIC00MyAtMjEzIC00MyBxLTExMSAwIC0yMTMgNDMgcS05OCA0MiAtMTczLjUgMTE3LjUgcS03NS41IDc1LjUgLTExNy41IDE3My41IHEtNDMgMTAyIC00MyAyMTMgcTAgMTExIDQzIDIxMyBxNDIgOTggMTE3LjUgMTczLjUgcTc1LjUgNzUuNSAxNzMuNSAxMTcuNSBxMTAyIDQzIDIxMyA0MyBaTTQyMTkgMzA0NyBxMTExIDAgMjEzIC00MyBxOTggLTQyIDE3My41IC0xMTcuNSBxNzUuNSAtNzUuNSAxMTcuNSAtMTczLjUgcTQzIC0xMDIgNDMgLTIxMyBxMCAtMTExIC00MyAtMjEzIHEtNDIgLTk4IC0xMTcuNSAtMTczLjUgcS03NS41IC03NS41IC0xNzMuNSAtMTE3LjUgcS0xMDIgLTQzIC0yMTMuNSAtNDMgcS0xMTEuNSAwIC0yMTIuNSA0MyBxLTk4IDQyIC0xNzQgMTE3LjUgcS03NiA3NS41IC0xMTcgMTczLjUgcS00MyAxMDIgLTQzIDIxMyBxMCAxMTEgNDMgMjEzIHE0MSA5OCAxMTcgMTczLjUgcTc2IDc1LjUgMTc0IDExNy41IHExMDEgNDMgMjEzIDQzIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InBhdXNlIiB1bmljb2RlPSImI3hlYTBjOyIgZD0iTTkzOCA0MDYzIGwwIC0zMTI1IGwxMjUwIDAgbDAgMzEyNSBsLTEyNTAgMCBaTTI4MTMgNDA2MyBsMCAtMzEyNSBsMTI1MCAwIGwwIDMxMjUgbC0xMjUwIDAgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0icGxheSIgdW5pY29kZT0iJiN4ZWEwZDsiIGQ9Ik02MjUgNDM3NSBsMzc1MCAtMTg3NSBsLTM3NTAgLTE4NzUgbDAgMzc1MCBaIiAvPjxnbHlwaCBnbHlwaC1uYW1lPSJ0cmlhbmdsZS1zIiB1bmljb2RlPSImI3hlYTBlOyIgZD0iTTEyNTAgMzEyNSBsMTI1MCAtMTI1MCBsMTI1MCAxMjQ4IGwtMjUwMCAyIFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWF3YXkiIHVuaWNvZGU9IiYjeGVhMGY7IiBkPSJNMjE1NiA0OTY5IHEtMzYwIC00NiAtNjk1IC0xOTcgcS0zMjYgLTE0NyAtNjAxIC0zODAgcS0yNzQgLTIzMSAtNDcyIC01MjggcS0yMDIgLTMwMSAtMzA5IC02NDIgcS0xMTAgLTM1MyAtMTEwIC03MjIgcTAgLTQwNiAxMjggLTc4OCBxMTIzIC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTM2OSAwIDcyMiAxMDcgcTM0MiAxMDQgNjQ0IDMwMSBxMjk4IDE5NCA1MzMgNDYzIHEyMzYgMjcwIDM4OSA1OTMgcTE1NiAzMzEgMjEyIDY5MiBxLTE4OCAtMjA0IC00MjMuNSAtMzUxIHEtMjM1LjUgLTE0NyAtNDk4LjUgLTIyNSBxLTI2OSAtODAgLTU0NyAtODAgcS0zMjIgMCAtNjI4IDEwMyBxLTI5NSA5OSAtNTQ4IDI4NiBxLTI1MSAxODQgLTQzNSA0MzUgcS0xODcgMjUzIC0yODYgNTQ4IHEtMTAzIDMwNiAtMTAzIDYyOCBxMCAyOTMgODAgNTY4IHE3OCAyNjkgMjI1LjUgNDk4LjUgcTE0Ny41IDIyOS41IDM1MC41IDQwMi41IFoiIC8+PGdseXBoIGdseXBoLW5hbWU9InVzZXItc3RhdHVzLWRuZCIgdW5pY29kZT0iJiN4ZWExMDsiIGQ9Ik0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFpNMTU2MyAyOTY5IGwxODc1IDAgcTkxIDAgMTc4IC0zOCBxODQgLTM3IDE1MCAtMTAzIHE2NiAtNjYgMTAyIC0xNDkgcTM4IC04NyAzOCAtMTc5IHEwIC05MiAtMzggLTE3OSBxLTM2IC04MyAtMTAyIC0xNDkgcS02NiAtNjYgLTE1MCAtMTAzIHEtODcgLTM4IC0xNzggLTM4IGwtMTg3NSAwIHEtOTIgMCAtMTc5IDM4IHEtODQgMzcgLTE1MCAxMDMgcS02NiA2NiAtMTAyIDE0OSBxLTM4IDg3IC0zOCAxNzkgcTAgOTIgMzggMTc5IHEzNiA4MyAxMDIgMTQ5IHE2NiA2NiAxNTAgMTAzIHE4NyAzOCAxNzkgMzggWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtaW52aXNpYmxlIiB1bmljb2RlPSImI3hlYTExOyIgZD0iTTI1MDAgNTAwMCBxLTQwNiAwIC03ODggLTEyOCBxLTM3MCAtMTI0IC02ODYgLTM1NiBxLTMxMyAtMjI5IC01NDIgLTU0MiBxLTIzMiAtMzE2IC0zNTYgLTY4NiBxLTEyOCAtMzgyIC0xMjggLTc4OCBxMCAtNDA2IDEyOCAtNzg4IHExMjQgLTM3MCAzNTYgLTY4NiBxMjI5IC0zMTMgNTQyIC01NDIgcTMxNiAtMjMyIDY4NiAtMzU2IHEzODIgLTEyOCA3ODggLTEyOCBxNDA2IDAgNzg4IDEyOCBxMzcwIDEyNCA2ODYgMzU2IHEzMTMgMjI5IDU0MiA1NDIgcTIzMiAzMTYgMzU2IDY4NiBxMTI4IDM4MiAxMjggNzg4IHEwIDQwNiAtMTI4IDc4OCBxLTEyNCAzNzAgLTM1NiA2ODYgcS0yMjkgMzEzIC01NDIgNTQyIHEtMzE2IDIzMiAtNjg2IDM1NiBxLTM4MiAxMjggLTc4OCAxMjggWk0yNTAwIDQwMDAgcTMxMSAwIDU5MCAtMTE2IHEyNzEgLTExMiA0NzYuNSAtMzE3LjUgcTIwNS41IC0yMDUuNSAzMTcuNSAtNDc2LjUgcTExNiAtMjc5IDExNiAtNTkwIHEwIC0zMTEgLTExNiAtNTkwIHEtMTEyIC0yNzEgLTMxNy41IC00NzYuNSBxLTIwNS41IC0yMDUuNSAtNDc2LjUgLTMxNy41IHEtMjc5IC0xMTYgLTU5MCAtMTE2IHEtMzExIDAgLTU5MCAxMTYgcS0yNzEgMTEyIC00NzYuNSAzMTcuNSBxLTIwNS41IDIwNS41IC0zMTcuNSA0NzYuNSBxLTExNiAyNzkgLTExNiA1OTAgcTAgMzExIDExNiA1OTAgcTExMiAyNzEgMzE3LjUgNDc2LjUgcTIwNS41IDIwNS41IDQ3Ni41IDMxNy41IHEyNzkgMTE2IDU5MCAxMTYgWiIgLz48Z2x5cGggZ2x5cGgtbmFtZT0idXNlci1zdGF0dXMtb25saW5lIiB1bmljb2RlPSImI3hlYTEyOyIgZD0iTTE1MDAgMTUwMCBsMjAwMCAwIGwwIDIwMDAgbC0yMDAwIDAgbDAgLTIwMDAgWk0yNTAwIDUwMDAgcS00MDYgMCAtNzg4IC0xMjggcS0zNzAgLTEyNCAtNjg2IC0zNTYgcS0zMTMgLTIyOSAtNTQyIC01NDIgcS0yMzIgLTMxNiAtMzU2IC02ODYgcS0xMjggLTM4MiAtMTI4IC03ODggcTAgLTQwNiAxMjggLTc4OCBxMTI0IC0zNzAgMzU2IC02ODYgcTIyOSAtMzEzIDU0MiAtNTQyIHEzMTYgLTIzMiA2ODYgLTM1NiBxMzgyIC0xMjggNzg4IC0xMjggcTQwNiAwIDc4OCAxMjggcTM3MCAxMjQgNjg2IDM1NiBxMzEzIDIyOSA1NDIgNTQyIHEyMzIgMzE2IDM1NiA2ODYgcTEyOCAzODIgMTI4IDc4OCBxMCA0MDYgLTEyOCA3ODggcS0xMjQgMzcwIC0zNTYgNjg2IHEtMjI5IDMxMyAtNTQyIDU0MiBxLTMxNiAyMzIgLTY4NiAzNTYgcS0zODIgMTI4IC03ODggMTI4IFoiIC8+PC9mb250PjwvZGVmcz48L3N2Zz4=\"},function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return r})),n.d(e,\"a\",(function(){return o}));n(27);var i=n(32),a=Object(i.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",Choose:\"Tria\",Close:\"Tanca\",Custom:\"Personalitzat\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",Choose:\"Zvolit\",Close:\"Zavřít\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",Choose:\"Auswählen\",Close:\"Schließen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",Choose:\"Auswählen\",Close:\"Schließen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",Choose:\"Escoller\",Close:\"Pechar\",Custom:\"Personalizado\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación de axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",Choose:\"Scegli\",Close:\"Chiudi\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",Choose:\"選択\",Close:\"閉じる\",Custom:\"カスタム\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",Choose:\"Kies\",Close:\"Sluiten\",Custom:\"Aangepast\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",Choose:\"Wybierz\",Close:\"Zamknij\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",Choose:\"Escolher\",Close:\"Fechar\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Choose:\"Выберите\",Close:\"Закрыть\",Next:\"Следующее\",\"No results\":\"Результаты отсуствуют\",\"Pause slideshow\":\"Приостановить показ слйдов\",Previous:\"Предыдущее\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Start slideshow\":\"Начать показ слайдов\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",Choose:\"Vybrať\",Close:\"Zatvoriť\",Custom:\"Zvyk\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",Choose:\"Välj\",Close:\"Stäng\",Custom:\"Anpassad\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",Choose:\"Seçin\",Close:\"Kapat\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};a.addTranslation(t.locale,{translations:{\"\":e}})}));var A=a.build(),o=A.ngettext.bind(A),r=A.gettext.bind(A)},function(t,e){t.exports=require(\"@nextcloud/router\")},function(t,e){t.exports=require(\"core-js/modules/es.function.name.js\")},function(t,e){t.exports=require(\"core-js/modules/es.regexp.exec.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.iterator.js\")},function(t,e){t.exports=require(\"core-js/modules/es.string.iterator.js\")},function(t,e){t.exports=require(\"core-js/modules/web.dom-collections.iterator.js\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./Popover.vue\"],names:[],mappings:\"AAgHA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){},function(t,e,n){\"use strict\";n.r(e);var i=n(7),a=n(2),A=n.n(a),o=n(23),r={insert:\"head\",singleton:!1};A()(o.a,r),o.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\ni.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"9737fff\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),i.VTooltip.options.defaultHtml=!1;e.default=i.VTooltip},function(t,e){t.exports=require(\"core-js/modules/es.string.trim.js\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".vue-tooltip[data-v-9737fff]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-9737fff][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-9737fff][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-9737fff][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-9737fff][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-9737fff] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-9737fff] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\"],names:[],mappings:\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){t.exports=require(\"core-js/modules/es.array.map.js\")},function(t,e){t.exports=require(\"core-js/modules/es.string.replace.js\")},function(t,e){t.exports=require(\"core-js/modules/es.regexp.to-string.js\")},function(t,e){t.exports=require(\"core-js/modules/web.dom-collections.for-each.js\")},function(t,e,n){\"use strict\";var i={name:\"Popover\",components:{VPopover:n(7).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},a=n(2),A=n.n(a),o=n(19),r={insert:\"head\",singleton:!1},s=(A()(o.a,r),o.a.locals,n(3)),l=n(20),c=n.n(l),u=Object(s.a)(i,(function(){var t=this.$createElement,e=this._self._c||t;return e(\"VPopover\",this._g(this._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},\"VPopover\",this.$attrs,!1),this.$listeners),[this._t(\"trigger\"),this._v(\" \"),e(\"template\",{slot:\"popover\"},[this._t(\"default\")],2)],2)}),[],!1,null,null,null);\"function\"==typeof c.a&&c()(u);e.a=u.exports},function(t,e){t.exports=require(\"@nextcloud/event-bus\")},function(t,e){t.exports=require(\"core-js/modules/es.number.constructor.js\")},function(t,e){t.exports=require(\"core-js/modules/es.symbol.js\")},function(t,e){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},,function(t,e){t.exports=require(\"@nextcloud/auth\")},function(t,e){t.exports=require(\"core-js/modules/es.array.concat.js\")},function(t,e,n){\"use strict\";n.r(e);var i=n(5),a=new(n.n(i).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});e.default={data:function(){return{isMobile:!1}},mounted:function(){a.$on(\"changed\",this.onIsMobileChanged),this.isMobile=a.isMobile},beforeDestroy:function(){a.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,e){t.exports=require(\"@nextcloud/axios\")},function(t,e){t.exports=require(\"core-js/modules/es.symbol.description.js\")},,function(t,e){t.exports=require(\"core-js/modules/web.url.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.slice.js\")},function(t,e){t.exports=require(\"v-click-outside\")},function(t,e){t.exports=require(\"striptags\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAsGC,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return i.default})),n.d(e,\"b\",(function(){return a.default})),n.d(e,\"c\",(function(){return A.default})),n.d(e,\"d\",(function(){return o.default})),n.d(e,\"e\",(function(){return g}));var i=n(75),a=n(76),A=n(36),o=n(60),r=(n(6),n(59),n(58),n(37)),s=n.n(r),l=n(13),c=n(82),u=n(34);function d(t,e,n,i,a,A,o){try{var r=t[A](o),s=r.value}catch(t){return void n(t)}r.done?e(s):Promise.resolve(s).then(i,a)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var g={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=regeneratorRuntime.mark((function e(){var i,a,A,o,r,d,g,m,p;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=Object(c.getCapabilities)(),Object.prototype.hasOwnProperty.call(i,\"user_status\")&&i.user_status.enabled){e.next=3;break}return e.abrupt(\"return\");case 3:if(Object(u.getCurrentUser)()){e.next=5;break}return e.abrupt(\"return\");case 5:return e.prev=5,e.next=8,s.a.get(Object(l.generateOcsUrl)(\"apps/user_status/api/v1\",2)+\"statuses/\".concat(encodeURIComponent(t)));case 8:a=e.sent,A=a.data,o=A.ocs.data,r=o.status,d=o.message,g=o.icon,n.userStatus.status=r,n.userStatus.message=d||\"\",n.userStatus.icon=g||\"\",n.hasStatus=!0,e.next=22;break;case 17:if(e.prev=17,e.t0=e.catch(5),404!==e.t0.response.status||0!==(null===(m=e.t0.response.data.ocs)||void 0===m||null===(p=m.data)||void 0===p?void 0:p.length)){e.next=21;break}return e.abrupt(\"return\");case 21:console.error(e.t0);case 22:case\"end\":return e.stop()}}),e,null,[[5,17]])})),function(){var t=this,n=arguments;return new Promise((function(i,a){var A=e.apply(t,n);function o(t){d(A,i,a,o,r,\"next\",t)}function r(t){d(A,i,a,o,r,\"throw\",t)}o(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,e){t.exports=require(\"core-js/modules/es.symbol.iterator.js\")},,function(t,e){t.exports=require(\"linkifyjs/string\")},,,function(t,e){t.exports=require(\"core-js/modules/es.array.filter.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.from.js\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\"\\nbutton.menuitem[data-v-febed9b6] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-febed9b6] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-febed9b6]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-febed9b6] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-febed9b6] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenuItem.vue\"],names:[],mappings:\";AAmLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),e.a=o},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\"li[data-v-febed9b6]{display:flex;flex:0 0 auto}li.hidden[data-v-febed9b6]{display:none}li>button[data-v-febed9b6],li>a[data-v-febed9b6],li>.menuitem[data-v-febed9b6]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-febed9b6],li>button span[class*=' icon-'][data-v-febed9b6],li>a span[class^='icon-'][data-v-febed9b6],li>a span[class*=' icon-'][data-v-febed9b6],li>.menuitem span[class^='icon-'][data-v-febed9b6],li>.menuitem span[class*=' icon-'][data-v-febed9b6]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-febed9b6]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-febed9b6],li>button[class*=' icon-'][data-v-febed9b6],li>a[class^='icon-'][data-v-febed9b6],li>a[class*=' icon-'][data-v-febed9b6],li>.menuitem[class^='icon-'][data-v-febed9b6],li>.menuitem[class*=' icon-'][data-v-febed9b6]{padding:0 14px 0 44px}li>button[data-v-febed9b6]:not(:disabled):hover,li>button[data-v-febed9b6]:not(:disabled):focus,li>button:not(:disabled).active[data-v-febed9b6],li>a[data-v-febed9b6]:not(:disabled):hover,li>a[data-v-febed9b6]:not(:disabled):focus,li>a:not(:disabled).active[data-v-febed9b6],li>.menuitem[data-v-febed9b6]:not(:disabled):hover,li>.menuitem[data-v-febed9b6]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-febed9b6]{opacity:1 !important}li>button.action[data-v-febed9b6],li>a.action[data-v-febed9b6],li>.menuitem.action[data-v-febed9b6]{padding:inherit !important}li>button>span[data-v-febed9b6],li>a>span[data-v-febed9b6],li>.menuitem>span[data-v-febed9b6]{cursor:pointer;white-space:nowrap}li>button>p[data-v-febed9b6],li>a>p[data-v-febed9b6],li>.menuitem>p[data-v-febed9b6]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-febed9b6],li>a>select[data-v-febed9b6],li>.menuitem>select[data-v-febed9b6]{margin:0;margin-left:6px}li>button[data-v-febed9b6]:not(:empty),li>a[data-v-febed9b6]:not(:empty),li>.menuitem[data-v-febed9b6]:not(:empty){padding-right:14px !important}li>button>img[data-v-febed9b6],li>a>img[data-v-febed9b6],li>.menuitem>img[data-v-febed9b6]{width:16px;padding:14px}li>button>input.radio+label[data-v-febed9b6],li>button>input.checkbox+label[data-v-febed9b6],li>a>input.radio+label[data-v-febed9b6],li>a>input.checkbox+label[data-v-febed9b6],li>.menuitem>input.radio+label[data-v-febed9b6],li>.menuitem>input.checkbox+label[data-v-febed9b6]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-febed9b6]::before,li>a>input.checkbox+label[data-v-febed9b6]::before,li>.menuitem>input.checkbox+label[data-v-febed9b6]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-febed9b6]::before,li>a>input.radio+label[data-v-febed9b6]::before,li>.menuitem>input.radio+label[data-v-febed9b6]::before{margin:-2px 12px 0}li>button>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-febed9b6]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-febed9b6],li>a form[data-v-febed9b6],li>.menuitem form[data-v-febed9b6]{display:flex;flex:1 1 auto}li>button form[data-v-febed9b6]:not(:first-child),li>a form[data-v-febed9b6]:not(:first-child),li>.menuitem form[data-v-febed9b6]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-febed9b6],li>button>span[style*='display:none']+form[data-v-febed9b6],li>a>span.hidden+form[data-v-febed9b6],li>a>span[style*='display:none']+form[data-v-febed9b6],li>.menuitem>span.hidden+form[data-v-febed9b6],li>.menuitem>span[style*='display:none']+form[data-v-febed9b6]{margin-left:0}li>button input[data-v-febed9b6],li>a input[data-v-febed9b6],li>.menuitem input[data-v-febed9b6]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-febed9b6]:not(:first-child),li>a input[data-v-febed9b6]:not(:first-child),li>.menuitem input[data-v-febed9b6]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-febed9b6]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-febed9b6],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-febed9b6]{margin-bottom:12px}li>button[data-v-febed9b6]{padding:0}li>button span[data-v-febed9b6]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AA4MA,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBC/LmB,CDgMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC3LiB,CDiKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCnNa,CD+KhB,+RA2CG,wBC9NkB,CDmLrB,iqCAoDK,gBCvOgB,CDmLrB,iQA2DG,qBC9OkB,CDmLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCvRa,CDwRb,YCpR6C,CD2KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cChUkB,CDiUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC7Ua\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\"ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AA0DA,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){},function(t,e){t.exports=require(\"core-js/modules/es.array.join.js\")},function(t,e){t.exports=require(\"regenerator-runtime/runtime.js\")},function(t,e){t.exports=require(\"core-js/modules/es.promise.js\")},function(t,e,n){\"use strict\";n.r(e),n.d(e,\"USERID_REGEX\",(function(){return C})),n.d(e,\"USERID_REGEX_WITH_SPACE\",(function(){return v}));n(90),n(15),n(26),n(91),n(24),n(79),n(25),n(57),n(63);var i=n(62),a=n.n(i),A=n(48),o=n.n(A),r=n(43),s=n.n(r),l=n(5),c=n.n(l),u=n(13),d={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,e){return Object(u.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}},g=n(2),m=n.n(g),p=n(44),f={insert:\"head\",singleton:!1},h=(m()(p.a,f),p.a.locals,n(3)),b=Object(h.a)(d,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[n(\"span\",{staticClass:\"mention-bubble__wrapper\"},[n(\"span\",{staticClass:\"mention-bubble__content\"},[n(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,C=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),v=new RegExp(\"\".concat(\"(?:^|\\\\s)\",'(@\"[a-zA-Z0-9 _.@\\\\-\\']+\")(').concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");e.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return a()(t).split(C).map((function(t){return t.split(v)})).flat().map((function(t){if(!t.startsWith(\"@\"))return o()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var n=t.replace(/[@\"]/gi,\"\");return\" \"+e.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var e=t.replace(/<br>/gim,\"\\n\");return e=(e=(e=e.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),e=s()(e,\"<div>\"),e=s()(e)},genSelectTemplate:function(t){var e=this.userData[t];return e?this.renderComponentHtml(e,b).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,e){var n=new(c.a.extend(e))({propsData:t}),i=document.createElement(\"div\"),a=document.createElement(\"div\");i.style.display=\"none\",i.appendChild(a),document.body.appendChild(i),n.$mount(a);var A=i.innerHTML;return n.$destroy(),i.remove(),A}}}},function(t,e,n){\"use strict\";var i=n(12);e.a={methods:{n:i.a,t:i.b}}},function(t,e){t.exports=require(\"escape-html\")},function(t,e){t.exports=require(\"core-js/modules/es.string.starts-with.js\")},function(t,e,n){\"use strict\";n(35);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nfunction i(t,e,n){this.r=t,this.g=e,this.b=n}function a(t,e,n){var a=[];a.push(e);for(var A=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),o=1;o<t;o++){var r=parseInt(e.r+A[0]*o,10),s=parseInt(e.g+A[1]*o,10),l=parseInt(e.b+A[2]*o,10);a.push(new i(r,s,l))}return a}e.a=function(t){t||(t=6);var e=new i(182,70,157),n=new i(221,203,85),A=new i(0,130,201),o=a(t,e,n),r=a(t,n,A),s=a(t,A,e);return o.concat(r).concat(s)}},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A),r=n(4),s=n.n(r),l=n(8),c=n(9),u=n(10),d=n(11),g=o()(a.a),m=s()(l.a),p=s()(c.a),f=s()(u.a),h=s()(d.a);g.push([t.i,'@font-face{font-family:\"iconfont-vue-9737fff\";src:url('+m+\");src:url(\"+m+') format(\"embedded-opentype\"),url('+p+') format(\"woff\"),url('+f+') format(\"truetype\"),url('+h+') format(\"svg\")}.icon[data-v-5baa2f3a]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-left[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right-double[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.arrow-right[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.breadcrumb[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.checkmark[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.close[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.confirm[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.info[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.menu[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.more[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.pause[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.play[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.triangle-s[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-away[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-dnd[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-invisible[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.icon.user-status-online[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";content:\"\"}.avatardiv[data-v-5baa2f3a]{position:relative;display:inline-block}.avatardiv--unknown[data-v-5baa2f3a]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-5baa2f3a]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-5baa2f3a]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-5baa2f3a]{cursor:pointer}.avatardiv--with-menu[data-v-5baa2f3a] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]{display:flex;cursor:pointer;opacity:0;background:none;font-size:18px;align-items:center;justify-content:center}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv--with-menu .icon-more[data-v-5baa2f3a]::before{display:block}.avatardiv--with-menu:focus .icon-more[data-v-5baa2f3a],.avatardiv--with-menu:hover .icon-more[data-v-5baa2f3a]{opacity:1}.avatardiv--with-menu:focus img[data-v-5baa2f3a],.avatardiv--with-menu:hover img[data-v-5baa2f3a]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-5baa2f3a],.avatardiv--with-menu img[data-v-5baa2f3a]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-5baa2f3a]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-5baa2f3a]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__status[data-v-5baa2f3a]{position:absolute;top:22px;left:22px;width:10px;height:10px;border:1px solid rgba(255,255,255,0.5);background-clip:content-box}.avatardiv .avatardiv__status--positive[data-v-5baa2f3a]{border-radius:50%;background-color:var(--color-success)}.avatardiv .avatardiv__status--negative[data-v-5baa2f3a]{background-color:var(--color-error)}.avatardiv .avatardiv__status--neutral[data-v-5baa2f3a]{border:none;background-color:transparent !important}.avatardiv .avatardiv__status--neutral svg[data-v-5baa2f3a]{position:absolute;top:-3px;left:-2px}.avatardiv .avatardiv__status--neutral svg path[data-v-5baa2f3a]{fill:#aaa}.avatardiv .avatardiv__user-status[data-v-5baa2f3a]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-5baa2f3a]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-5baa2f3a]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-5baa2f3a]{color:#49b382}.avatardiv .avatardiv__user-status--online[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--dnd[data-v-5baa2f3a]{background-color:#ffffff;color:#ed484c}.avatardiv .avatardiv__user-status--dnd[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--away[data-v-5baa2f3a]{color:#f4a331}.avatardiv .avatardiv__user-status--away[data-v-5baa2f3a]:before{font-family:\"iconfont-vue-9737fff\";font-style:normal;font-weight:400;content:\"\"}.avatardiv .avatardiv__user-status--icon[data-v-5baa2f3a]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-5baa2f3a]{position:relative;display:inline-block}.avatar-class-icon[data-v-5baa2f3a]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n',\"\",{version:3,sources:[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,4BACb,iBC2eE,CACT,oBACA,CAAA,qCAEA,iBAAU,CACT,8CACkB,CAAA,qDAGZ,gCAEN,CAAA,yCAKoB,CAAA,sEAPd,gCAKL,CAAA,uCACA,cAAA,CAAA,iDAMD,iBAAiB,CAChB,KAAA,CAAA,MAAU,CAAA,kDAHX,YAOA,CAAA,cACU,CAAA,SACH,CAAE,eACD,CAAE,cACG,CAAA,kBAEZ,CAAA,sBACA,CAAA,yDAPD,kCDlnBD,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,0DC+hBF,aAAU,CAAA,gHAPV,SAuBC,CAAA,kGAvBD,WAAW,CAAA,6FAAX,yCAgCqB,CAAA,qCAnDvB,iBAuDG,CAAQ,KACT,CAAA,MAAU,CAAA,aAEV,CAAA,UACA,CAAA,iBACO,CAAI,kBACO,CAClB,kCACO,CAAA,gCAAA,UA/DT,CAAA,WAoEE,CAAA,gBACQ,CAAA,+CAKT,iBAAA,CAAkB,QACjB,CAAQ,SAAU,CAClB,UACA,CAAA,WACA,CAAA,sCAEkB,CAAA,2BAClB,CAAA,yDACC,iBAAA,CAAU,qCAEQ,CAAA,yDAElB,mCACgB,CAAE,wDAElB,WAAA,CAAA,uCAEkB,CAAA,4DAFlB,iBAGA,CAAG,QACF,CAAQ,SAAU,CAClB,iEALD,SAAS,CAGT,oDAWF,iBAAA,CAAuB,UACZ,CAAA,WACV,CAAA,WACA,CAAA,UACA,CAAA,gBACO,CAAA,kCAEI,CAAA,6CACO,CAAA,6CACA,CAAA,iBAAA,CAA4B,gEAT/C,0CAagB,CAAA,8CACI,CAAA,iEAdpB,uCAiBgB,CAAA,2CACI,CAAA,4DAGlB,aAAA,CAAA,mEAAA,kCDptBF,CAAA,iBAAA,CAAsB,eAkFP,CAAA,WACZ,CAAA,yDCqoBD,wBAEA,CAAA,aAAkB,CAAA,gEAFlB,kCDxtBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC0oBD,aAAA,CAAA,iEAAA,kCD7tBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC8oBD,WAAA,CAAA,4BAEA,CAAA,iDA3IO,iBA+IT,CAAA,oBACW,CAAQ,oCACT,iBACT,CAAA,+CAKiB,CAAA,WAAA\",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\\'__iconfont__data\\'), $__iconfont__data, ()), (\\n\\t\"iconfont-vue-9737fff\": (\\n\\t\\t\"arrow-left-double\": \"\\\\ea01\",\\n\\t\\t\"arrow-left\": \"\\\\ea02\",\\n\\t\\t\"arrow-right-double\": \"\\\\ea03\",\\n\\t\\t\"arrow-right\": \"\\\\ea04\",\\n\\t\\t\"breadcrumb\": \"\\\\ea05\",\\n\\t\\t\"checkmark\": \"\\\\ea06\",\\n\\t\\t\"close\": \"\\\\ea07\",\\n\\t\\t\"confirm\": \"\\\\ea08\",\\n\\t\\t\"info\": \"\\\\ea09\",\\n\\t\\t\"menu\": \"\\\\ea0a\",\\n\\t\\t\"more\": \"\\\\ea0b\",\\n\\t\\t\"pause\": \"\\\\ea0c\",\\n\\t\\t\"play\": \"\\\\ea0d\",\\n\\t\\t\"triangle-s\": \"\\\\ea0e\",\\n\\t\\t\"user-status-away\": \"\\\\ea0f\",\\n\\t\\t\"user-status-dnd\": \"\\\\ea10\",\\n\\t\\t\"user-status-invisible\": \"\\\\ea11\",\\n\\t\\t\"user-status-online\": \"\\\\ea12\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: \\'icon\\' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be \\'icon-\\' it would result in .icon-star\\n$icon-prefix: \\'\\' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn \\'Undefined Iconfont Family!\\';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn \\'Undefined Iconfont Glyph!\\';\\n @return \\'\\';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont(\\'star\\') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \"iconfont-vue-9737fff\";\\n src: url(\\'../iconfont-vue-9737fff.eot\\'); /* IE9 Compat Modes */\\n src: url(\\'../iconfont-vue-9737fff.eot?#iefix\\') format(\\'embedded-opentype\\'), /* IE6-IE8 */\\n url(\\'../iconfont-vue-9737fff.woff\\') format(\\'woff\\'), /* Pretty Modern Browsers */\\n url(\\'../iconfont-vue-9737fff.ttf\\') format(\\'truetype\\'), /* Safari, Android, iOS */\\n url(\\'../iconfont-vue-9737fff.svg\\') format(\\'svg\\'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \"iconfont-vue-9737fff\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \"iconfont-vue-9737fff\";\\n content: iconfont-item(\"iconfont-vue-9737fff/#{$icon}\");\\n }\\n }\\n }\\n}\\n',\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\tbackground: none;\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__status {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 22px;\\n\\t\\tleft: 22px;\\n\\t\\twidth: 10px;\\n\\t\\theight: 10px;\\n\\t\\tborder: 1px solid rgba(255, 255, 255, .5);\\n\\t\\tbackground-clip: content-box;\\n\\t\\t&--positive {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t\\tbackground-color: var(--color-success);\\n\\t\\t}\\n\\t\\t&--negative {\\n\\t\\t\\tbackground-color: var(--color-error);\\n\\t\\t}\\n\\t\\t&--neutral {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent !important;\\n\\t\\t\\tsvg {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: -3px;\\n\\t\\t\\t\\tleft: -2px;\\n\\t\\t\\t\\tpath {\\n\\t\\t\\t\\t\\tfill: #aaa;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\t@include iconfont('user-status-online');\\n\\t\\t\\tcolor: #49b382;\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\t@include iconfont('user-status-dnd');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t\\tcolor: #ed484c;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\t@include iconfont('user-status-away');\\n\\t\\t\\tcolor: #f4a331;\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=g},function(t,e){},,,function(t,e){t.exports=require(\"core-js/modules/es.object.keys.js\")},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t,e){for(var n=[],i=0,a=t.toLowerCase().indexOf(e.toLowerCase(),i),A=0;a>-1&&A<t.length;)i=a+e.length,n.push({start:a,end:i}),a=t.toLowerCase().indexOf(e.toLowerCase(),a+1),A++;return n}},function(t,e){t.exports=require(\"core-js/modules/es.object.get-own-property-descriptor.js\")},function(t,e){t.exports=require(\"core-js/modules/es.object.get-own-property-descriptors.js\")},,function(t,e,n){\"use strict\";n.r(e);n(15),n(98),n(93),n(24),n(69),n(31),n(51),n(71),n(27),n(72);var i=n(70);function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function A(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?a(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var r={name:\"Highlight\",props:{text:{type:String,default:\"\"},search:{type:String,default:\"\"},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,e=[];return this.search||0!==this.highlight.length?(e=this.highlight.length>0?this.highlight:Object(i.a)(this.text,this.search),e.reduce((function(e,n){return n.start<t.text.length&&n.end>0&&e.push({start:n.start<0?0:n.start,end:n.end>t.text.length?t.text.length:n.end}),e}),[])):e},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var t=[],e=0,n=0;e<this.text.length;){var i=this.ranges[n];i.start!==e?(t.push({start:e,end:i.start,highlight:!1,text:this.text.substr(e,i.start-e)}),e=i.start):(t.push(A(A({},i),{},{highlight:!0,text:this.text.substr(i.start,i.end-i.start)})),n++,e=i.end,n>=this.ranges.length&&e<this.text.length&&(t.push({start:e,end:this.text.length,highlight:!1,text:this.text.substr(e,this.text.length-e)}),e=this.text.length))}return t}},render:function(t){return this.ranges.length?t(\"span\",{},this.chunks.map((function(e){return e.highlight?t(\"strong\",{},e.text):e.text}))):t(\"span\",{},this.text)}},s=n(3),l=n(78),c=n.n(l),u=Object(s.a)(r,void 0,void 0,!1,null,null,null);\"function\"==typeof c.a&&c()(u);var d=u.exports;\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=d},function(t,e,n){\"use strict\";n.r(e);n(41),n(6),n(14),n(52),n(17),n(31),n(38),n(46),n(16),n(18);function i(t,e){var n;if(\"undefined\"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if(\"string\"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t))||e&&t&&\"number\"==typeof t.length){n&&(t=n);var i=0,A=function(){};return{s:A,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:A}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,r=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return r=t.done,t},e:function(t){s=!0,o=t},f:function(){try{r||null==n.return||n.return()}finally{if(s)throw o}}}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var e=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===e.length||!this.hasNodeOrAnyParentClass(t.target,e)},hasNodeOrAnyParentClass:function(t,e){var n,a=i(e);try{for(a.s();!(n=a.n()).done;){var A,o=n.value;if(null!=t&&null!==(A=t.classList)&&void 0!==A&&A.contains(o))return!0}}catch(t){a.e(t)}finally{a.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,e)}}}},function(t,e,n){\"use strict\";n.r(e),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,e,n){\"use strict\";n.r(e);n(6),n(26),n(16),n(17),n(18),n(40);var i={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},a=n(2),A=n.n(a),o=n(53),r={insert:\"head\",singleton:!1},s=(A()(o.a,r),o.a.locals,n(54)),l={insert:\"head\",singleton:!1},c=(A()(s.a,l),s.a.locals,n(3)),u={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(c.a)(i,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?n(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?n(\"img\",{attrs:{src:t.item.icon}}):n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?n(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?n(\"form\",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action(e)}}},[n(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,i=e.target,a=!!i.checked;if(Array.isArray(n)){var A=t._i(n,null);i.checked?A<0&&t.$set(t.item,\"model\",n.concat([null])):A>-1&&t.$set(t.item,\"model\",n.slice(0,A).concat(n.slice(A+1)))}else t.$set(t.item,\"model\",a)},t.item.action]}}):\"radio\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,\"model\",null)},t.item.action]}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,\"model\",e.target.value)}}}),t._v(\" \"),n(\"label\",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?n(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"febed9b6\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},d=n(55),g={insert:\"head\",singleton:!1},m=(A()(d.a,g),d.a.locals,n(56)),p=n.n(m),f=Object(c.a)(u,(function(){var t=this.$createElement,e=this._self._c||t;return e(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,n){return e(\"PopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof p.a&&p()(f);var h=f.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=h},function(t,e){},function(t,e){t.exports=require(\"core-js/modules/es.string.split.js\")},function(t,e,n){\"use strict\";n.r(e);n(58),n(30),n(89),n(103),n(104),n(35),n(24),n(57),n(6),n(59);var i=n(86),a=n(42),A=n(77),o=n(34),r=n(29),s=n(37),l=n.n(s),c=n(13),u=n(21),d=n(84),g=n(45),m=n(28);function p(t,e,n,i,a,A,o){try{var r=t[A](o),s=r.value}catch(t){return void n(t)}r.done?e(s):Promise.resolve(s).then(i,a)}function f(t){return function(){var e=this,n=arguments;return new Promise((function(i,a){var A=t.apply(e,n);function o(t){p(A,i,a,o,r,\"next\",t)}function r(t){p(A,i,a,o,r,\"throw\",t)}o(void 0)}))}}var h=Object(i.getBuilder)(\"nextcloud\").persist().build();function b(t){var e=h.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof e?Boolean(e):null}function C(t,e){t&&h.setItem(\"user-has-avatar.\"+t,e)}var v={name:\"Avatar\",directives:{tooltip:u.default,ClickOutside:a.directive},components:{Popover:m.a,PopoverMenu:A.default},mixins:[g.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},status:{type:String,default:null,validator:function(t){switch(t){case\"positive\":case\"negative\":case\"neutral\":return!0}return!1}},statusColor:{type:[Number,String],default:null,validator:function(t){return/^([a-f0-9]{3}){1,2}$/i.test(t)}},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(o.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={width:this.size+\"px\",height:this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var e=Object(d.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+e.r+\", \"+e.g+\", \"+e.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(\" \");\"\"===e?t=\"?\":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,i=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(e),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(i):i}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(r.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(r.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return f(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.hasMenu){e.next=2;break}return e.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){e.next=5;break}return e.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return e.stop()}}),e)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return f(regeneratorRuntime.mark((function e(){var n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.contactsMenuLoading=!0,e.prev=1,n=encodeURIComponent(t.user),e.next=5,l.a.post(Object(c.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:i=e.sent,a=i.data,t.contactsMenuActions=a.topAction?[a.topAction].concat(a.actions):a.actions,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return e.stop()}}),e,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),e=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,e)}},avatarUrlGenerator:function(t,e){var n,i=\"/avatar/{user}/{size}\";this.isGuest&&(i=\"/avatar/guest/{user}/{size}\");var a=Object(c.generateUrl)(i,{user:t,size:e});return t===(null===(n=Object(o.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(a+=\"?v=\"+oc_userconfig.avatar.version),a},updateImageIfValid:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=b(this.user);if(this.isUserDefined&&\"boolean\"==typeof i)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===i&&(this.userDoesNotExist=!0));var a=new Image;a.onload=function(){e.avatarUrlLoaded=t,n&&(e.avatarSrcSetLoaded=n),e.isAvatarLoaded=!0,C(e.user,!0)},a.onerror=function(){console.debug(\"Invalid avatar url\",t),e.avatarUrlLoaded=null,e.avatarSrcSetLoaded=null,e.userDoesNotExist=!0,e.isAvatarLoaded=!1,C(e.user,!1)},n&&(a.srcset=n),a.src=t}}},B=n(2),y=n.n(B),x=n(65),w={insert:\"head\",singleton:!1},M=(y()(x.a,w),x.a.locals,n(3)),I=n(66),E=n.n(I),k=Object(M.a)(v,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?n(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?n(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?n(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState}},[n(\"PopoverMenu\",{attrs:{menu:t.menu}}),t._v(\" \"),n(\"template\",{slot:\"trigger\"},[n(\"div\",{class:t.contactsMenuLoading?\"icon-loading\":\"icon-more\",style:{width:t.size+\"px\",height:t.size+\"px\"}})])],2):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?n(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?n(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t.status?n(\"div\",{staticClass:\"avatardiv__status\",class:\"avatardiv__status--\"+t.status,style:{backgroundColor:\"#\"+t.statusColor}},[\"neutral\"===t.status?n(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"12\",height:\"11\",viewBox:\"0 0 3.175 2.91\"}},[n(\"path\",{style:{fill:\"#\"+t.statusColor},attrs:{d:\"M3.21 3.043H.494l.679-1.177.68-1.176.678 1.176z\",stroke:\"#fff\",\"stroke-width\":\".265\",\"stroke-linecap\":\"square\"}})]):t._e()]):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?n(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"5baa2f3a\",null);\"function\"==typeof E.a&&E()(k);var S=k.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=S},function(t,e){t.exports=require(\"md5\")},function(t,e){t.exports=require(\"@nextcloud/capabilities\")},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"9737fff\"),\"\")}))}},function(t,e,n){\"use strict\";n.r(e);n(15),n(92),n(25);var i=n(81),a=n.n(i),A=n(64),o=function(t){var e=t.toLowerCase();null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=a()(e)),e=e.replace(/[^0-9a-f]/g,\"\");return Object(A.a)(6)[function(t,e){for(var n=0,i=[],a=0;a<t.length;a++)i.push(parseInt(t.charAt(a),16)%16);for(var A in i)n+=i[A];return parseInt(parseInt(n,10)%e,10)}(e,18)]};e.default=o},,function(t,e){t.exports=require(\"@nextcloud/browser-storage\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\",\"\",{version:3,sources:[\"webpack://./ListItemIcon.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAwOA,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){},function(t,e){t.exports=require(\"core-js/modules/es.array.includes.js\")},function(t,e){t.exports=require(\"core-js/modules/es.regexp.constructor.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.flat.js\")},function(t,e){t.exports=require(\"core-js/modules/es.string.match.js\")},function(t,e){t.exports=require(\"core-js/modules/es.array.reduce.js\")},,,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\\n\",\"\",{version:3,sources:[\"webpack://./EllipsisedOption.vue\"],names:[],mappings:\"AA6HA,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e){},function(t,e){t.exports=require(\"core-js/modules/es.string.search.js\")},function(t,e,n){\"use strict\";n.r(e);n(30),n(22);var i=n(80),a=n(74),A=n(45),o={name:\"ListItemIcon\",components:{Avatar:i.default,Highlight:a.default},mixins:[A.e],props:{title:{type:String,required:!0},subtitle:{type:String,default:\"\"},icon:{type:String,default:\"\"},search:{type:String,default:\"\"},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return\"\"!==this.icon},hasSlot:function(){return!!this.$slots.default},isValidSubtitle:function(){var t,e;return\"\"!==(null===(t=this.subtitle)||void 0===t||null===(e=t.trim)||void 0===e?void 0:e.call(t))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var t=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*t+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},r=n(2),s=n.n(r),l=n(87),c={insert:\"head\",singleton:!1},u=(s()(l.a,c),l.a.locals,n(3)),d=n(88),g=n.n(d),m=Object(u.a)(o,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",t._g({staticClass:\"option\",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[n(\"Avatar\",t._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":t.displayName||t.title,\"is-no-user\":t.isNoUser,size:t.avatarSize}},\"Avatar\",t.$attrs,!1)),t._v(\" \"),n(\"div\",{staticClass:\"option__details\"},[n(\"Highlight\",{staticClass:\"option__lineone\",attrs:{text:t.title,search:t.search}}),t._v(\" \"),t.isValidSubtitle&&t.isSizeBigEnough?n(\"Highlight\",{staticClass:\"option__linetwo\",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?n(\"span\",[n(\"span\",[t._v(t._s(t.userStatus.icon))]),t._v(\" \"),n(\"span\",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(\" \"),t._t(\"default\"),t._v(\" \"),t.hasIcon&&!t.hasSlot?n(\"span\",{staticClass:\"icon option__icon\",class:t.icon}):t._e()],2)}),[],!1,null,\"28d338d4\",null);\"function\"==typeof g.a&&g()(m);var p=m.exports;\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=p},function(t,e,n){\"use strict\";n(30),n(24),n(57),n(41),n(31),n(38),n(6),n(46),n(16),n(17),n(18);var i=n(108),a=n.n(i),A=(n(14),n(15),n(79),n(98),n(74)),o=n(70),r={name:\"EllipsisedOption\",components:{Highlight:A.default},props:{option:{type:[String,Object],required:!0,default:\"\"},label:{type:String,default:\"\"},search:{type:String,default:\"\"},name:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.substr(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.substr(this.split):\"\"},highlight1:function(){return this.search?Object(o.a)(this.name,this.search):[]},highlight2:function(){var t=this;return this.highlight1.map((function(e){return{start:e.start-t.split,end:e.end-t.split}}))}}},s=n(2),l=n.n(s),c=n(96),u={insert:\"head\",singleton:!1},d=(l()(c.a,u),c.a.locals,n(3)),g=Object(d.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"name-parts\",attrs:{title:t.name}},[n(\"Highlight\",{staticClass:\"name-parts__first\",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(\" \"),t.part2?n(\"Highlight\",{staticClass:\"name-parts__last\",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,\"f855c4b8\",null).exports,m=n(61),p=n(99),f=n(21);function h(t){return(h=\"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})(t)}var b={name:\"Multiselect\",components:{EllipsisedOption:g,ListItemIcon:p.default,VueMultiselect:a.a},directives:{tooltip:f.default},mixins:[m.a],inheritAttrs:!1,props:{value:{default:function(){return[]}},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(t){return t>0}}},data:function(){return{elWidth:0}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==h(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(t){this.$emit(\"update:value\",t),this.$emit(\"change\",t)}}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(t){var e;return String(null===(e=this.$refs.VueMultiselect)||void 0===e?void 0:e.getOptionLabel(t))},formatLimitTitle:function(t){var e=this;if(Array.isArray(t)&&t.length>0){var n=t;return\"object\"===h(t[0])&&(n=t.map((function(t){return t[e.label]}))),n.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},C=n(97),v=n.n(C),B=Object(d.a)(b,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"VueMultiselect\",t._g(t._b({ref:\"VueMultiselect\",class:[{\"icon-loading-small\":t.loading},t.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:t.options,limit:t.maxOptions,\"close-on-select\":!t.multiple,multiple:t.multiple,label:t.label,\"track-by\":t.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:t._u([{key:\"option\",fn:function(e){return[t.userSelect&&!t.$scopedSlots.option?n(\"ListItemIcon\",t._b({attrs:{title:e.option[t.label],search:e.search}},\"ListItemIcon\",e.option,!1)):t.$scopedSlots.option?t._t(\"option\",null,null,e):n(\"EllipsisedOption\",{attrs:{name:t.getOptionLabel(e.option),option:e.option,search:e.search,label:t.label}})]}},t.multiple?{key:\"limit\",fn:function(){return[n(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.formatLimitTitle(t.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(e){return[t._t(n,null,null,e)]}}}))],null,!0),model:{value:t.localValue,callback:function(e){t.localValue=e},expression:\"localValue\"}},\"VueMultiselect\",t.$attrs,!1),t.$listeners),[t._v(\" \"),t._v(\" \"),t._v(\" \"),n(\"span\",{attrs:{slot:\"noResult\"},slot:\"noResult\"},[t._v(t._s(t.t(\"No results\")))])])}),[],!1,null,null,null);\"function\"==typeof v.a&&v()(B);e.a=B.exports},,,function(t,e){t.exports=require(\"core-js/modules/es.string.from-code-point.js\")},function(t,e){t.exports=require(\"core-js/modules/es.string.code-point-at.js\")},,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),A=n(1),o=n.n(A)()(a.a);o.push([t.i,\".multiselect[data-v-9737fff]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-9737fff]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-9737fff].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-9737fff].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-9737fff].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-9737fff].multiselect--disabled,.multiselect[data-v-9737fff].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-9737fff].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-9737fff] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:1px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin-bottom:3px}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__single,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__single,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__single *,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-9737fff] .multiselect__tags .multiselect__strong,.multiselect[data-v-9737fff] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-9737fff] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-9737fff] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-9737fff] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-9737fff] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-9737fff] .multiselect__content-wrapper li,.multiselect[data-v-9737fff] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-9737fff] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-9737fff].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-9737fff].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-9737fff].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-9737fff].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-9737fff].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-9737fff]:hover .multiselect__placeholder,.multiselect[data-v-9737fff] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\\n\",\"\",{version:3,sources:[\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAIA,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,iBAAkB,CAvGtB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B\",sourcesContent:[\"$scope_version:\\\"9737fff\\\"; @import 'variables';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t&.icon-loading-small::after {\\n\\t\\tleft: 100%;\\n\\t\\tmargin-left: -24px;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: 3px;\\n\\t\\tmin-height: 34px;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 1px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin-bottom: 3px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* let's leave it on top of tags but hide it */\\n\\t\\t\\theight: 100% !important;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 6px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=o},function(t,e,n){\"use strict\";n.r(e);var i=n(83),a=n(100),A=n(2),o=n.n(A),r=n(106),s={insert:\"head\",singleton:!1};o()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nObject(i.a)(a.a);e.default=a.a},function(t,e){t.exports=require(\"vue-multiselect\")}])}));\n//# sourceMappingURL=Multiselect.js.map","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"Components/Multiselect\",[],e):\"object\"==typeof exports?exports[\"Components/Multiselect\"]=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Multiselect\"]=e())}(window,(function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var a=e[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var a in t)n.d(i,a,function(e){return t[e]}.bind(null,a));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/dist/\",n(n.s=68)}([function(t,e,n){\"use strict\";function i(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==n)return;var i,a,o=[],r=!0,s=!1;try{for(n=n.call(t);!(r=(i=n.next()).done)&&(o.push(i.value),!e||o.length!==e);r=!0);}catch(t){s=!0,a=t}finally{try{r||null==n.return||n.return()}finally{if(s)throw a}}return o}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}t.exports=function(t){var e=i(t,4),n=e[1],a=e[3];if(!a)return n;if(\"function\"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(o),s=\"/*# \".concat(r,\" */\"),l=a.sources.map((function(t){return\"/*# sourceURL=\".concat(a.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(l).concat([s]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,e,n){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,i){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var a={};if(i)for(var o=0;o<this.length;o++){var r=this[o][0];null!=r&&(a[r]=!0)}for(var s=0;s<t.length;s++){var l=[].concat(t[s]);i&&a[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),e.push(l))}},e}},function(t,e,n){\"use strict\";var i,a=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},o=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),r=[];function s(t){for(var e=-1,n=0;n<r.length;n++)if(r[n].identifier===t){e=n;break}return e}function l(t,e){for(var n={},i=[],a=0;a<t.length;a++){var o=t[a],l=e.base?o[0]+e.base:o[0],c=n[l]||0,u=\"\".concat(l,\" \").concat(c);n[l]=c+1;var d=s(u),p={css:o[1],media:o[2],sourceMap:o[3]};-1!==d?(r[d].references++,r[d].updater(p)):r.push({identifier:u,updater:A(p,e),references:1}),i.push(u)}return i}function c(t){var e=document.createElement(\"style\"),i=t.attributes||{};if(void 0===i.nonce){var a=n.nc;a&&(i.nonce=a)}if(Object.keys(i).forEach((function(t){e.setAttribute(t,i[t])})),\"function\"==typeof t.insert)t.insert(e);else{var r=o(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(e)}return e}var u,d=(u=[],function(t,e){return u[t]=e,u.filter(Boolean).join(\"\\n\")});function p(t,e,n,i){var a=n?\"\":i.media?\"@media \".concat(i.media,\" {\").concat(i.css,\"}\"):i.css;if(t.styleSheet)t.styleSheet.cssText=d(e,a);else{var o=document.createTextNode(a),r=t.childNodes;r[e]&&t.removeChild(r[e]),r.length?t.insertBefore(o,r[e]):t.appendChild(o)}}function m(t,e,n){var i=n.css,a=n.media,o=n.sourceMap;if(a?t.setAttribute(\"media\",a):t.removeAttribute(\"media\"),o&&\"undefined\"!=typeof btoa&&(i+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),t.styleSheet)t.styleSheet.cssText=i;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(i))}}var g=null,h=0;function A(t,e){var n,i,a;if(e.singleton){var o=h++;n=g||(g=c(e)),i=p.bind(null,n,o,!1),a=p.bind(null,n,o,!0)}else n=c(e),i=m.bind(null,n,e),a=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else a()}}t.exports=function(t,e){(e=e||{}).singleton||\"boolean\"==typeof e.singleton||(e.singleton=a());var n=l(t=t||[],e);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var i=0;i<n.length;i++){var a=s(n[i]);r[a].references--}for(var o=l(t,e),c=0;c<n.length;c++){var u=s(n[c]);0===r[u].references&&(r[u].updater(),r.splice(u,1))}n=o}}}},function(t,e,n){\"use strict\";function i(t,e,n,i,a,o,r,s){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),a&&a.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):a&&(l=s?function(){a.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(t,e){return l.call(e),u(t,e)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:t,options:c}}n.d(e,\"a\",(function(){return i}))},function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return s})),n.d(e,\"a\",(function(){return r}));var i=n(13),a=Object(i.getGettextBuilder)().detectLocale();[{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Write message, @ to mention someone …\":\"Pište zprávu, pokud chcete někoho zmínit, použijte @ …\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a timezone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen-Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search timezone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Write message, @ to mention someone …\":\"Nachricht schreiben, @ um jemanden zu erwähnen ...\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",Custom:\"Προσαρμογή\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",Choose:\"Elegir\",Close:\"Cerrar\",Custom:\"Personalizado\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Choose:\"Aukeratu\",Close:\"Itxi\",Next:\"Hurrengoa\",\"No results\":\"Emaitzarik ez\",\"Pause slideshow\":\"Pausatu diaporama\",Previous:\"Aurrekoa\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Start slideshow\":\"Hasi diaporama\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",Choose:\"Valitse\",Close:\"Sulje\",Custom:\"Mukautettu\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",\"Message limit of {count} characters reached\":\"Viestin maksimimerkkimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt ja & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",Choose:\"Choisir\",Close:\"Fermer\",Custom:\"Personnalisé\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",Choose:\"Válassszon\",Close:\"Bezárás\",Custom:\"Egyéni\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"笑顔と気持ち\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを書く、@ で通知します。\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",Choose:\"Velg\",Close:\"Lukk\",Custom:\"Selvvalgt\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",\"Message limit of {count} characters reached\":\"Berichtlengte van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Write message, @ to mention someone …\":\"Schrijf een bericht, @ om iemand te noemen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Nawigacja ustawień\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Write message, @ to mention someone …\":\"Napisz wiadomość, aby wspomnieć o kimś użyj @…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Write message, @ to mention someone …\":\"Escreva mensagem, @ para mencionar alguém ...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",Choose:\"Izbor\",Close:\"Zapri\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Unable to search the group\":\"Ni mogoče iskati po skuspini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Write message, @ to mention someone …\":\"Skicka meddelande, skriv @ för att omnämna någon ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Write message, @ to mention someone …\":\"İletiyi yazın. Birini anmak için @ kullanın …\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",Choose:\"选择\",Close:\"关闭\",Custom:\"自定义\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Unable to search the group\":\"无法搜索分组\",\"Write message, @ to mention someone …\":\"输入消息,输入 @ 来提醒某人\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};a.addTranslation(t.locale,{translations:{\"\":e}})}));var o=a.build(),r=o.ngettext.bind(o),s=o.gettext.bind(o)},function(t,e){t.exports=require(\"v-tooltip\")},function(t,e){t.exports=require(\"vue\")},function(t,e){t.exports=require(\"@nextcloud/router\")},function(t,e,n){\"use strict\";t.exports=function(t,e){return e||(e={}),\"string\"!=typeof(t=t&&t.__esModule?t.default:t)?t:(/^['\"].*['\"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/[\"'() \\t\\n]/.test(t)||e.needQuotes?'\"'.concat(t.replace(/\"/g,'\\\\\"').replace(/\\n/g,\"\\\\n\"),'\"'):t)}},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},function(t,e,n){\"use strict\";n.r(e);var i=n(5),a=n(2),o=n.n(a),r=n(12),s={insert:\"head\",singleton:!1};o()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\ni.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"357763c\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),i.VTooltip.options.defaultHtml=!1,i.VTooltip.options.defaultDelay={show:500,hide:200};e.default=i.VTooltip},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-357763c]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-357763c][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-357763c][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-357763c][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-357763c][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-357763c] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-357763c] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(t,e,n){\"use strict\";var i={name:\"Popover\",components:{VPopover:n(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},a=n(2),o=n.n(a),r=n(9),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(3)),c=n(10),u=n.n(c),d=Object(l.a)(i,(function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"VPopover\",t._g(t._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:t._u([{key:\"popover\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof u.a&&u()(d);e.a=d.exports},function(t,e){t.exports=require(\"vue-material-design-icons/DotsHorizontal\")},function(t,e){t.exports=require(\"@nextcloud/event-bus\")},,function(t,e){t.exports=require(\"@nextcloud/auth\")},,function(t,e,n){\"use strict\";n.r(e);var i=n(6),a=new(n.n(i).a)({data:function(){return{isMobile:!1}},watch:{isMobile:function(t){this.$emit(\"changed\",t)}},created:function(){window.addEventListener(\"resize\",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener(\"resize\",this.handleWindowResize)},methods:{handleWindowResize:function(){this.isMobile=document.documentElement.clientWidth<1024}}});e.default={data:function(){return{isMobile:!1}},mounted:function(){a.$on(\"changed\",this.onIsMobileChanged),this.isMobile=a.isMobile},beforeDestroy:function(){a.$off(\"changed\",this.onIsMobileChanged)},methods:{onIsMobileChanged:function(t){this.isMobile=t}}}},function(t,e){t.exports=require(\"@nextcloud/axios\")},function(t,e,n){\"use strict\";var i=n(4);e.a={methods:{n:i.a,t:i.b}}},,function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return i.default})),n.d(e,\"b\",(function(){return a.default})),n.d(e,\"c\",(function(){return o.default})),n.d(e,\"d\",(function(){return r.default})),n.d(e,\"e\",(function(){return m}));var i=n(47),a=n(48),o=n(20),r=n(39),s=n(21),l=n.n(s),c=n(7),u=n(57),d=n(18);function p(t,e,n,i,a,o,r){try{var s=t[o](r),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,a)}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */var m={data:function(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{fetchUserStatus:function(t){var e,n=this;return(e=regeneratorRuntime.mark((function e(){var i,a,o,r,s,p,m,g,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt(\"return\");case 2:if(i=Object(u.getCapabilities)(),Object.prototype.hasOwnProperty.call(i,\"user_status\")&&i.user_status.enabled){e.next=5;break}return e.abrupt(\"return\");case 5:if(Object(d.getCurrentUser)()){e.next=7;break}return e.abrupt(\"return\");case 7:return e.prev=7,e.next=10,l.a.get(Object(c.generateOcsUrl)(\"apps/user_status/api/v1/statuses/{userId}\",{userId:t}));case 10:a=e.sent,o=a.data,r=o.ocs.data,s=r.status,p=r.message,m=r.icon,n.userStatus.status=s,n.userStatus.message=p||\"\",n.userStatus.icon=m||\"\",n.hasStatus=!0,e.next=24;break;case 19:if(e.prev=19,e.t0=e.catch(7),404!==e.t0.response.status||0!==(null===(g=e.t0.response.data.ocs)||void 0===g||null===(h=g.data)||void 0===h?void 0:h.length)){e.next=23;break}return e.abrupt(\"return\");case 23:console.error(e.t0);case 24:case\"end\":return e.stop()}}),e,null,[[7,19]])})),function(){var t=this,n=arguments;return new Promise((function(i,a){var o=e.apply(t,n);function r(t){p(o,i,a,r,s,\"next\",t)}function s(t){p(o,i,a,r,s,\"throw\",t)}r(void 0)}))})()}}};\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */},function(t,e){t.exports=require(\"striptags\")},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-724f9d58]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.mention-bubble--primary .mention-bubble__content[data-v-724f9d58]{color:var(--color-primary-text);background-color:var(--color-primary-element)}.mention-bubble__wrapper[data-v-724f9d58]{max-width:150px;height:18px;vertical-align:text-bottom;display:inline-flex;align-items:center}.mention-bubble__content[data-v-724f9d58]{display:inline-flex;overflow:hidden;align-items:center;max-width:100%;height:20px;-webkit-user-select:none;user-select:none;padding-right:6px;padding-left:2px;border-radius:10px;background-color:var(--color-background-dark)}.mention-bubble__icon[data-v-724f9d58]{position:relative;width:16px;height:16px;border-radius:8px;background-color:var(--color-background-darker);background-repeat:no-repeat;background-position:center;background-size:12px}.mention-bubble__icon--with-avatar[data-v-724f9d58]{color:inherit;background-size:cover}.mention-bubble__title[data-v-724f9d58]{overflow:hidden;margin-left:2px;white-space:nowrap;text-overflow:ellipsis}.mention-bubble__title[data-v-724f9d58]::before{content:attr(title)}.mention-bubble__select[data-v-724f9d58]{position:absolute;z-index:-1;left:-1000px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./MentionBubble.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC8FvB,mEACC,+BAAgC,CAChC,6CAA8C,CAC9C,0CAGA,eAXsB,CAatB,WAAwC,CACxC,0BAA2B,CAC3B,mBAAoB,CACpB,kBAAmB,CACnB,0CAGA,mBAAoB,CACpB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,WAzBkB,CA0BlB,wBAAyB,CACzB,gBAAiB,CACjB,iBAAkC,CAClC,gBA3BkB,CA4BlB,kBAAiC,CACjC,6CAA8C,CAC9C,uCAGA,iBAAkB,CAClB,UAjCuD,CAkCvD,WAlCuD,CAmCvD,iBAAsC,CACtC,+CAAgD,CAChD,2BAA4B,CAC5B,0BAA2B,CAC3B,oBAA0D,CAE1D,oDACC,aAAc,CACd,qBAAsB,CACtB,wCAID,eAAgB,CAChB,eAlDkB,CAmDlB,kBAAmB,CACnB,sBAAuB,CAJvB,gDAOC,mBAAoB,CACpB,yCAKD,iBAAkB,CAClB,UAAW,CACX,YAAa\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$bubble-height: 20px;\\n$bubble-max-width: 150px;\\n$bubble-padding: 2px;\\n$bubble-avatar-size: $bubble-height - 2 * $bubble-padding;\\n\\n.mention-bubble {\\n\\t&--primary &__content {\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbackground-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tmax-width: $bubble-max-width;\\n\\t\\t// Align with text\\n\\t\\theight: $bubble-height - $bubble-padding;\\n\\t\\tvertical-align: text-bottom;\\n\\t\\tdisplay: inline-flex;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__content {\\n\\t\\tdisplay: inline-flex;\\n\\t\\toverflow: hidden;\\n\\t\\talign-items: center;\\n\\t\\tmax-width: 100%;\\n\\t\\theight: $bubble-height ;\\n\\t\\t-webkit-user-select: none;\\n\\t\\tuser-select: none;\\n\\t\\tpadding-right: $bubble-padding * 3;\\n\\t\\tpadding-left: $bubble-padding;\\n\\t\\tborder-radius: $bubble-height / 2;\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tposition: relative;\\n\\t\\twidth: $bubble-avatar-size;\\n\\t\\theight: $bubble-avatar-size;\\n\\t\\tborder-radius: $bubble-avatar-size / 2;\\n\\t\\tbackground-color: var(--color-background-darker);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: $bubble-avatar-size - 2 * $bubble-padding;\\n\\n\\t\\t&--with-avatar {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t}\\n\\n\\t&__title {\\n\\t\\toverflow: hidden;\\n\\t\\tmargin-left: $bubble-padding;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Put label in ::before so it is not selectable\\n\\t\\t&::before {\\n\\t\\t\\tcontent: attr(title);\\n\\t\\t}\\n\\t}\\n\\n\\t// Hide the mention id so it is selectable\\n\\t&__select {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: -1;\\n\\t\\tleft: -1000px;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},,function(t,e){t.exports=require(\"v-click-outside\")},,,function(t,e){t.exports=require(\"linkifyjs/string\")},,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\"\\nbutton.menuitem[data-v-54983729] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-54983729] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-54983729]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-54983729] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-54983729] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\",\"\",{version:3,sources:[\"webpack://./src/components/PopoverMenu/PopoverMenuItem.vue\"],names:[],mappings:\";AAoLA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",sourcesContent:['\\x3c!--\\n - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @author John Molakvoæ <skjnldsv@protonmail.com>\\n -\\n - @license GNU AGPL version 3 or any later version\\n -\\n - This program is free software: you can redistribute it and/or modify\\n - it under the terms of the GNU Affero General Public License as\\n - published by the Free Software Foundation, either version 3 of the\\n - License, or (at your option) any later version.\\n -\\n - This program is distributed in the hope that it will be useful,\\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n - GNU Affero General Public License for more details.\\n -\\n - You should have received a copy of the GNU Affero General Public License\\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n -\\n --\\x3e\\n\\n<template>\\n\\t<li class=\"popover__menuitem\">\\n\\t\\t\\x3c!-- If item.href is set, a link will be directly used --\\x3e\\n\\t\\t<a v-if=\"item.href\"\\n\\t\\t\\t:href=\"(item.href) ? item.href : \\'#\\' \"\\n\\t\\t\\t:target=\"(item.target) ? item.target : \\'\\' \"\\n\\t\\t\\t:download=\"item.download\"\\n\\t\\t\\tclass=\"focusable\"\\n\\t\\t\\trel=\"noreferrer noopener\"\\n\\t\\t\\t@click=\"action\">\\n\\t\\t\\t<span v-if=\"!iconIsUrl\" :class=\"item.icon\" />\\n\\t\\t\\t<img v-else :src=\"item.icon\">\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</a>\\n\\n\\t\\t\\x3c!-- If item.input is set instead, an put will be used --\\x3e\\n\\t\\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t\\x3c!-- does not show if input is checkbox --\\x3e\\n\\t\\t\\t<span v-if=\"item.input !== \\'checkbox\\'\" :class=\"item.icon\" />\\n\\n\\t\\t\\t\\x3c!-- only shows if input is text --\\x3e\\n\\t\\t\\t<form v-if=\"item.input === \\'text\\'\"\\n\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t@submit.prevent=\"item.action\">\\n\\t\\t\\t\\t<input :type=\"item.input\"\\n\\t\\t\\t\\t\\t:value=\"item.value\"\\n\\t\\t\\t\\t\\t:placeholder=\"item.text\"\\n\\t\\t\\t\\t\\trequired>\\n\\t\\t\\t\\t<input type=\"submit\" value=\"\" class=\"icon-confirm\">\\n\\t\\t\\t</form>\\n\\n\\t\\t\\t\\x3c!-- checkbox --\\x3e\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t\\x3c!-- eslint-disable-next-line --\\x3e\\n\\t\\t\\t\\t<input :id=\"key\" v-model=\"item.model\"\\n\\t\\t\\t\\t\\t:type=\"item.input\"\\n\\t\\t\\t\\t\\t:class=\"item.input\"\\n\\t\\t\\t\\t\\t@change=\"item.action\">\\n\\t\\t\\t\\t<label :for=\"key\" @click.stop.prevent=\"item.action\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</label>\\n\\t\\t\\t</template>\\n\\t\\t</span>\\n\\n\\t\\t\\x3c!-- If item.action is set instead, a button will be used --\\x3e\\n\\t\\t<button v-else-if=\"item.action\"\\n\\t\\t\\tclass=\"menuitem focusable\"\\n\\t\\t\\t:class=\"{active: item.active}\"\\n\\t\\t\\t:disabled=\"item.disabled\"\\n\\t\\t\\ttype=\"button\"\\n\\t\\t\\t@click.stop.prevent=\"item.action\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</button>\\n\\n\\t\\t\\x3c!-- If item.longtext is set AND the item does not have an action --\\x3e\\n\\t\\t<span v-else class=\"menuitem\" :class=\"{active: item.active}\">\\n\\t\\t\\t<span :class=\"item.icon\" />\\n\\t\\t\\t<p v-if=\"item.text && item.longtext\">\\n\\t\\t\\t\\t<strong class=\"menuitem-text\">\\n\\t\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t\\t</strong><br>\\n\\t\\t\\t\\t<span class=\"menuitem-text-detail\">\\n\\t\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t\\t</span>\\n\\t\\t\\t</p>\\n\\t\\t\\t<span v-else-if=\"item.text\">\\n\\t\\t\\t\\t{{ item.text }}\\n\\t\\t\\t</span>\\n\\t\\t\\t<p v-else-if=\"item.longtext\">\\n\\t\\t\\t\\t{{ item.longtext }}\\n\\t\\t\\t</p>\\n\\t\\t</span>\\n\\t</li>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: \\'PopoverMenuItem\\',\\n\\tprops: {\\n\\t\\titem: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t\\tdefault: () => {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tkey: \\'nextcloud-link\\',\\n\\t\\t\\t\\t\\thref: \\'https://nextcloud.com\\',\\n\\t\\t\\t\\t\\ticon: \\'icon-links\\',\\n\\t\\t\\t\\t\\ttext: \\'Nextcloud\\',\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\t// check the input types\\n\\t\\t\\t// TODO: add more validation of types\\n\\t\\t\\tvalidator: item => {\\n\\t\\t\\t\\t// TODO: support radio\\n\\t\\t\\t\\tif (item.input) {\\n\\t\\t\\t\\t\\treturn [\\'text\\', \\'checkbox\\'].indexOf(item.input) !== -1\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t},\\n\\t\\t},\\n\\t},\\n\\tcomputed: {\\n\\t\\t// random key for inputs binding if not provided\\n\\t\\tkey() {\\n\\t\\t\\treturn this.item.key\\n\\t\\t\\t\\t? this.item.key\\n\\t\\t\\t\\t: Math.round(Math.random() * 16 * 1000000).toString(16)\\n\\t\\t},\\n\\t\\ticonIsUrl() {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t// eslint-disable-next-line no-new\\n\\t\\t\\t\\tnew URL(this.item.icon)\\n\\t\\t\\t\\treturn true\\n\\t\\t\\t} catch (_) {\\n\\t\\t\\t\\treturn false\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\t// allow us to use both link and an action on `a`\\n\\t\\t// we still need to make sure item.action exists\\n\\t\\taction(event) {\\n\\t\\t\\tif (this.item.action) {\\n\\t\\t\\t\\tthis.item.action(event)\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n}\\n<\\/script>\\n\\n<style scoped>\\n\\tbutton.menuitem {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\tbutton.menuitem * {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\tbutton.menuitem:disabled {\\n\\t\\topacity: 0.5 !important;\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\tbutton.menuitem:disabled * {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.menuitem.active {\\n\\t\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\t\\tborder-radius: 0;\\n\\t}\\n</style>\\n\\n<style lang=\"scss\" scoped>\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'],\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^=\\'icon-\\'],\\n\\t\\tspan[class*=\\' icon-\\'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^=\\'icon-\\']):not([class*=\\'icon-\\']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^=\\'icon-\\'],\\n\\t\\t&[class*=\\' icon-\\'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*=\\'display:none\\'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*=\\'display:none\\']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n</style>\\n'],sourceRoot:\"\"}]),e.a=r},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-54983729]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li[data-v-54983729]{display:flex;flex:0 0 auto}li.hidden[data-v-54983729]{display:none}li>button[data-v-54983729],li>a[data-v-54983729],li>.menuitem[data-v-54983729]{cursor:pointer;line-height:44px;border:0;border-radius:0;background-color:transparent;display:flex;align-items:flex-start;height:auto;margin:0;padding:0;font-weight:normal;box-shadow:none;width:100%;color:var(--color-main-text);white-space:nowrap;opacity:.7}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-54983729],li>button span[class*=' icon-'][data-v-54983729],li>a span[class^='icon-'][data-v-54983729],li>a span[class*=' icon-'][data-v-54983729],li>.menuitem span[class^='icon-'][data-v-54983729],li>.menuitem span[class*=' icon-'][data-v-54983729]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-54983729]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-54983729],li>button[class*=' icon-'][data-v-54983729],li>a[class^='icon-'][data-v-54983729],li>a[class*=' icon-'][data-v-54983729],li>.menuitem[class^='icon-'][data-v-54983729],li>.menuitem[class*=' icon-'][data-v-54983729]{padding:0 14px 0 44px}li>button[data-v-54983729]:not(:disabled):hover,li>button[data-v-54983729]:not(:disabled):focus,li>button:not(:disabled).active[data-v-54983729],li>a[data-v-54983729]:not(:disabled):hover,li>a[data-v-54983729]:not(:disabled):focus,li>a:not(:disabled).active[data-v-54983729],li>.menuitem[data-v-54983729]:not(:disabled):hover,li>.menuitem[data-v-54983729]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-54983729]{opacity:1 !important}li>button.action[data-v-54983729],li>a.action[data-v-54983729],li>.menuitem.action[data-v-54983729]{padding:inherit !important}li>button>span[data-v-54983729],li>a>span[data-v-54983729],li>.menuitem>span[data-v-54983729]{cursor:pointer;white-space:nowrap}li>button>p[data-v-54983729],li>a>p[data-v-54983729],li>.menuitem>p[data-v-54983729]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-54983729],li>a>select[data-v-54983729],li>.menuitem>select[data-v-54983729]{margin:0;margin-left:6px}li>button[data-v-54983729]:not(:empty),li>a[data-v-54983729]:not(:empty),li>.menuitem[data-v-54983729]:not(:empty){padding-right:14px !important}li>button>img[data-v-54983729],li>a>img[data-v-54983729],li>.menuitem>img[data-v-54983729]{width:16px;padding:14px}li>button>input.radio+label[data-v-54983729],li>button>input.checkbox+label[data-v-54983729],li>a>input.radio+label[data-v-54983729],li>a>input.checkbox+label[data-v-54983729],li>.menuitem>input.radio+label[data-v-54983729],li>.menuitem>input.checkbox+label[data-v-54983729]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-54983729]::before,li>a>input.checkbox+label[data-v-54983729]::before,li>.menuitem>input.checkbox+label[data-v-54983729]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-54983729]::before,li>a>input.radio+label[data-v-54983729]::before,li>.menuitem>input.radio+label[data-v-54983729]::before{margin:-2px 12px 0}li>button>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-54983729]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-54983729],li>a form[data-v-54983729],li>.menuitem form[data-v-54983729]{display:flex;flex:1 1 auto}li>button form[data-v-54983729]:not(:first-child),li>a form[data-v-54983729]:not(:first-child),li>.menuitem form[data-v-54983729]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-54983729],li>button>span[style*='display:none']+form[data-v-54983729],li>a>span.hidden+form[data-v-54983729],li>a>span[style*='display:none']+form[data-v-54983729],li>.menuitem>span.hidden+form[data-v-54983729],li>.menuitem>span[style*='display:none']+form[data-v-54983729]{margin-left:0}li>button input[data-v-54983729],li>a input[data-v-54983729],li>.menuitem input[data-v-54983729]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-54983729]:not(:first-child),li>a input[data-v-54983729]:not(:first-child),li>.menuitem input[data-v-54983729]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-54983729]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-54983729],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-54983729]{margin-bottom:12px}li>button[data-v-54983729]{padding:0}li>button span[data-v-54983729]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqMxB,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBChMmB,CDiMnB,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,YAAa,CACb,sBAAuB,CACvB,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBAAmB,CACnB,eAAgB,CAChB,UAAW,CACX,4BAA6B,CAC7B,kBAAmB,CACnB,UC5LiB,CDkKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBCpNa,CDgLhB,+RA2CG,wBC/NkB,CDoLrB,iqCAoDK,gBCxOgB,CDoLrB,iQA2DG,qBC/OkB,CDoLrB,6aAiEG,oBAAiC,CAjEpC,oGAsEG,0BAA2B,CAtE9B,8FA0EG,cAAe,CACf,kBAAmB,CA3EtB,qFAgFG,WAAY,CACZ,iBAAkB,CAClB,aAAc,CACd,kBAAmB,CAGnB,eAAgB,CAChB,sBAAuB,CAvF1B,oGA4FG,QAAS,CACT,eAAgB,CA7FnB,mHAkGG,6BAAsC,CAlGzC,2FAwGG,UCxRa,CDyRb,YCrR6C,CD4KhD,mRA+GG,oBAAqB,CACrB,UAAW,CAhHd,sKAmHG,kBAAmB,CAnHtB,6JAsHG,kBAAmB,CAtHtB,4QAyHG,WAAY,CAzHf,8FA8HG,YAAa,CACb,aAAc,CA/HjB,oJAmII,eAAgB,CAnIpB,oTAyIG,aAAc,CAzIjB,iGA6IG,cCjUkB,CDkUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC9Ua\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nli {\\n\\tdisplay: flex;\\n\\tflex: 0 0 auto;\\n\\n\\t&.hidden {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t> button,\\n\\t> a,\\n\\t> .menuitem {\\n\\t\\tcursor: pointer;\\n\\t\\tline-height: $clickable-area;\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tfont-weight: normal;\\n\\t\\tbox-shadow: none;\\n\\t\\twidth: 100%;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\twhite-space: nowrap;\\n\\t\\topacity: $opacity_normal;\\n\\n\\t\\t// TODO split into individual components for readability\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'],\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tmin-width: 0; /* Overwrite icons*/\\n\\t\\t\\tmin-height: 0;\\n\\t\\t\\tbackground-position: #{$icon-margin} center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t}\\n\\n\\t\\tspan[class^='icon-'],\\n\\t\\tspan[class*=' icon-'] {\\n\\t\\t\\t/* Keep padding to define the width to\\n\\t\\t\\t\\tassure correct position of a possible text */\\n\\t\\t\\tpadding: #{$clickable-area / 2} 0 #{$clickable-area / 2} $clickable-area;\\n\\t\\t}\\n\\n\\t\\t// If no icons set, force left margin to align\\n\\t\\t&:not([class^='icon-']):not([class*='icon-']) {\\n\\t\\t\\t> span,\\n\\t\\t\\t> input,\\n\\t\\t\\t> form {\\n\\t\\t\\t\\t&:not([class^='icon-']):not([class*='icon-']):first-child {\\n\\t\\t\\t\\t\\tmargin-left: $clickable-area;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&[class^='icon-'],\\n\\t\\t&[class*=' icon-'] {\\n\\t\\t\\tpadding: 0 $icon-margin 0 $clickable-area;\\n\\t\\t}\\n\\n\\t\\t&:not(:disabled):hover,\\n\\t\\t&:not(:disabled):focus,\\n\\t\\t&:not(:disabled).active {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t}\\n\\n\\t\\t/* prevent .action class to break the design */\\n\\t\\t&.action {\\n\\t\\t\\tpadding: inherit !important;\\n\\t\\t}\\n\\n\\t\\t> span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\t> p {\\n\\t\\t\\twidth: 150px;\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t\\tpadding: 8px 0;\\n\\t\\t\\twhite-space: normal;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t// TODO: do we really supports it?\\n\\t\\t> select {\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tmargin-left: 6px;\\n\\t\\t}\\n\\n\\t\\t/* Add padding if contains icon+text */\\n\\t\\t&:not(:empty) {\\n\\t\\t\\tpadding-right: $icon-margin !important;\\n\\t\\t}\\n\\n\\t\\t/* DEPRECATED! old img in popover fallback\\n\\t\\t\\t* TODO: to remove */\\n\\t\\t> img {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\tpadding: $icon-margin;\\n\\t\\t}\\n\\n\\t\\t/* checkbox/radio fixes */\\n\\t\\t> input.radio + label,\\n\\t\\t> input.checkbox + label {\\n\\t\\t\\tpadding: 0 !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t> input.checkbox + label::before {\\n\\t\\t\\tmargin: -2px 13px 0;\\n\\t\\t}\\n\\t\\t> input.radio + label::before {\\n\\t\\t\\tmargin: -2px 12px 0;\\n\\t\\t}\\n\\t\\t> input:not([type=radio]):not([type=checkbox]):not([type=image]) {\\n\\t\\t\\twidth: 150px;\\n\\t\\t}\\n\\n\\t\\t// Forms & text inputs\\n\\t\\tform {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t/* put a small space between text and form\\n\\t\\t\\t\\tif there is an element before */\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* no margin if hidden span before */\\n\\t\\t> span.hidden + form,\\n\\t\\t> span[style*='display:none'] + form {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\t\\t/* Inputs inside popover supports text, submit & reset */\\n\\t\\tinput {\\n\\t\\t\\tmin-width: $clickable-area;\\n\\t\\t\\tmax-height: #{$clickable-area - 4px}; /* twice the element margin-y */\\n\\t\\t\\tmargin: 2px 0;\\n\\t\\t\\tflex: 1 1 auto;\\n\\t\\t\\t// space between inline inputs\\n\\t\\t\\t&:not(:first-child) {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// TODO: do that in js, should be cleaner\\n\\t/* css hack, only first not hidden */\\n\\t&:not(.hidden):not([style*='display:none']) {\\n\\t\\t&:first-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-top: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t&:last-of-type {\\n\\t\\t\\t> button, > a, > .menuitem {\\n\\t\\t\\t\\t> form, > input {\\n\\t\\t\\t\\t\\tmargin-bottom: $icon-margin - 2px; // minus the input margin\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t> button {\\n\\t\\tpadding: 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-4dae360a]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}ul[data-v-4dae360a]{display:flex;flex-direction:column}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./PopoverMenu.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCkDxB,oBACC,YAAa,CACb,qBAAsB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nul {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t,e){for(var n=[],i=0,a=t.toLowerCase().indexOf(e.toLowerCase(),i),o=0;a>-1&&o<t.length;)i=a+e.length,n.push({start:a,end:i}),a=t.toLowerCase().indexOf(e.toLowerCase(),a+1),o++;return n}},function(t,e,n){\"use strict\";n.r(e),n.d(e,\"USERID_REGEX\",(function(){return b})),n.d(e,\"USERID_REGEX_WITH_SPACE\",(function(){return C}));var i=n(43),a=n.n(i),o=n(31),r=n.n(o),s=n(25),l=n.n(s),c=n(6),u=n.n(c),d=n(7),p={name:\"MentionBubble\",props:{id:{type:String,required:!0},label:{type:String,required:!0},icon:{type:String,required:!0},source:{type:String,required:!0},primary:{type:Boolean,default:!1}},computed:{avatarUrl:function(){return this.id&&\"users\"===this.source?this.getAvatarUrl(this.id,44):null},mentionText:function(){return-1===this.id.indexOf(\" \")?\"@\".concat(this.id):'@\"'.concat(this.id,'\"')}},methods:{getAvatarUrl:function(t,e){return Object(d.generateUrl)(\"/avatar/{user}/{size}\",{user:t,size:e})}}},m=n(2),g=n.n(m),h=n(26),A={insert:\"head\",singleton:!1},v=(g()(h.a,A),h.a.locals,n(3)),f=Object(v.a)(p,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",{staticClass:\"mention-bubble\",class:{\"mention-bubble--primary\":t.primary},attrs:{contenteditable:\"false\"}},[n(\"span\",{staticClass:\"mention-bubble__wrapper\"},[n(\"span\",{staticClass:\"mention-bubble__content\"},[n(\"span\",{staticClass:\"mention-bubble__icon\",class:[t.icon,\"mention-bubble__icon--\"+(t.avatarUrl?\"with-avatar\":\"\")],style:t.avatarUrl?{backgroundImage:\"url(\"+t.avatarUrl+\")\"}:null}),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__title\",attrs:{role:\"heading\",title:t.label}})]),t._v(\" \"),n(\"span\",{staticClass:\"mention-bubble__select\",attrs:{role:\"none\"}},[t._v(t._s(t.mentionText))])])])}),[],!1,null,\"724f9d58\",null).exports,b=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@[a-zA-Z0-9_.@\\\\-']+)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\"),C=new RegExp(\"\".concat(\"(?:^|\\\\s)\",\"(@&quot;[a-zA-Z0-9 _.@\\\\-']+&quot;)(\").concat(\"(?:[^a-z]|$)\",\")\"),\"gi\");e.default={props:{userData:{type:Object,default:function(){return{}}}},methods:{renderContent:function(t){var e=this;return a()(t).split(b).map((function(t){return t.split(C)})).flat().map((function(t){if(!t.startsWith(\"@\"))return r()(t,{defaultProtocol:\"https\",target:\"_blank\",className:\"external\",attributes:{rel:\"noopener noreferrer\"}});var n=t.replace(/@|&quot;/gi,\"\");return\" \"+e.genSelectTemplate(n)})).join(\"\").replace(/\\n/gim,\"<br>\").replace(/&amp;/gim,\"&\")},parseContent:function(t){var e=t.replace(/<br>/gim,\"\\n\");return e=(e=(e=e.replace(/&nbsp;/gim,\" \")).replace(/&amp;/gim,\"&\")).replace(/<\\/div>/gim,\"\\n\"),e=l()(e,\"<div>\"),e=l()(e)},genSelectTemplate:function(t){var e=this.userData[t];return e?this.renderComponentHtml(e,f).replace(/[\\n\\t]/gim,\"\"):-1===t.indexOf(\" \")?\"@\".concat(t):'@\"'.concat(t,'\"')},renderComponentHtml:function(t,e){var n=new(u.a.extend(e))({propsData:t}),i=document.createElement(\"div\"),a=document.createElement(\"div\");i.style.display=\"none\",i.appendChild(a),document.body.appendChild(i),n.$mount(a);var o=i.innerHTML;return n.$destroy(),i.remove(),o}}}},function(t,e,n){\"use strict\";n.r(e);var i=n(38);function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?a(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var s={name:\"Highlight\",props:{text:{type:String,default:\"\"},search:{type:String,default:\"\"},highlight:{type:Array,default:function(){return[]}}},computed:{ranges:function(){var t=this,e=[];return this.search||0!==this.highlight.length?(e=this.highlight.length>0?this.highlight:Object(i.a)(this.text,this.search),e.reduce((function(e,n){return n.start<t.text.length&&n.end>0&&e.push({start:n.start<0?0:n.start,end:n.end>t.text.length?t.text.length:n.end}),e}),[])):e},chunks:function(){if(0===this.ranges.length)return[{start:0,end:this.text.length,highlight:!1,text:this.text}];for(var t=[],e=0,n=0;e<this.text.length;){var i=this.ranges[n];i.start!==e?(t.push({start:e,end:i.start,highlight:!1,text:this.text.substr(e,i.start-e)}),e=i.start):(t.push(o(o({},i),{},{highlight:!0,text:this.text.substr(i.start,i.end-i.start)})),n++,e=i.end,n>=this.ranges.length&&e<this.text.length&&(t.push({start:e,end:this.text.length,highlight:!1,text:this.text.substr(e,this.text.length-e)}),e=this.text.length))}return t}},render:function(t){return this.ranges.length?t(\"span\",{},this.chunks.map((function(e){return e.highlight?t(\"strong\",{},e.text):e.text}))):t(\"span\",{},this.text)}},l=n(3),c=n(45),u=n.n(c),d=Object(l.a)(s,void 0,void 0,!1,null,null,null);\"function\"==typeof u.a&&u()(d);var p=d.exports;\n/**\n * @copyright Copyright (c) 2020 Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @author Raimund Schlüßler <raimund.schluessler@mailbox.org>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=p},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o),s=n(8),l=n.n(s),c=n(50),u=n(51),d=n(52),p=r()(a.a),m=l()(c.a),g=l()(u.a),h=l()(d.a);p.push([t.i,\".material-design-icon[data-v-583ead48]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.avatardiv[data-v-583ead48]{position:relative;display:inline-block;width:var(--size);height:var(--size)}.avatardiv--unknown[data-v-583ead48]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#fff !important;box-shadow:0 0 5px rgba(0,0,0,0.05) inset}body.theme--dark .avatardiv[data-v-583ead48]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-583ead48]{cursor:pointer}.avatardiv--with-menu[data-v-583ead48] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu .icon-loading[data-v-583ead48]{display:flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);cursor:pointer;background:none}.avatardiv--with-menu .icon-more[data-v-583ead48]{opacity:0}.avatardiv--with-menu:focus .icon-more[data-v-583ead48],.avatardiv--with-menu:hover .icon-more[data-v-583ead48]{opacity:1}.avatardiv--with-menu:focus img[data-v-583ead48],.avatardiv--with-menu:hover img[data-v-583ead48]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-583ead48],.avatardiv--with-menu img[data-v-583ead48]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-583ead48]{position:absolute;top:0;left:0;display:block;width:100%;text-align:center;font-weight:normal;color:var(--color-main-background)}.avatardiv img[data-v-583ead48]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__user-status[data-v-583ead48]{position:absolute;right:-4px;bottom:-4px;height:18px;width:18px;line-height:15px;font-size:var(--default-font-size);border:2px solid var(--color-main-background);background-color:var(--color-main-background);background-repeat:no-repeat;background-size:16px;background-position:center;border-radius:50%}.acli:hover .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-583ead48]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-583ead48]{background-image:url(\"+m+\")}.avatardiv .avatardiv__user-status--dnd[data-v-583ead48]{background-image:url(\"+g+\");background-color:#ffffff}.avatardiv .avatardiv__user-status--away[data-v-583ead48]{background-image:url(\"+h+\")}.avatardiv .avatardiv__user-status--icon[data-v-583ead48]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-583ead48]{position:relative;display:inline-block}.avatar-class-icon[data-v-583ead48]{border-radius:50%;background-color:var(--color-background-darker);height:100%}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Avatar.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0kBxB,4BACC,iBAAkB,CAClB,oBAAqB,CACrB,iBAAkB,CAClB,kBAAmB,CAEnB,qCACC,iBAAkB,CAClB,8CAA+C,CARjD,qDAaE,gCAAiC,CAKjC,yCAA6C,CAJ7C,sEAEC,gCAAiC,CACjC,uCAKD,cAAe,CADf,iDAGC,iBAAkB,CAClB,KAAM,CACN,MAAO,CALR,uGAQC,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CAClB,kBAAmB,CACnB,cAAe,CACf,eAAgB,CAdjB,kDAiBC,SAAU,CAjBX,gHAsBE,SAAU,CAtBZ,kGAyBE,WAAY,CAzBd,6FA8BC,yCAA0C,CAnD7C,qCAwDE,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,aAAc,CACd,UAAW,CACX,iBAAkB,CAClB,kBAAmB,CACnB,kCAAmC,CA/DrC,gCAoEE,UAAW,CACX,WAAY,CAEZ,gBAAiB,CAvEnB,oDA2EE,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,UAAW,CACX,gBAAiB,CACjB,kCAAmC,CACnC,6CAA8C,CAC9C,6CAA8C,CAC9C,2BAA4B,CAC5B,oBAAqB,CACrB,0BAA2B,CAC3B,iBAAkB,CAElB,gEACC,0CAA2C,CAC3C,8CAA+C,CAC/C,iEAEA,uCAAwC,CACxC,2CAA4C,CA/F/C,4DAmGG,wDAAyE,CAnG5E,yDAsGG,wDAAsE,CACtE,wBAAyB,CAvG5B,0DA0GG,wDAAuE,CA1G1E,0DA6GG,WAAY,CACZ,4BAA6B,CA9GhC,iDAmHE,iBAAkB,CAClB,oBAAqB,CACrB,oCAID,iBAAkB,CAClB,+CAAgD,CAChD,WAAY\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatardiv {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\twidth: var(--size);\\n\\theight: var(--size);\\n\\n\\t&--unknown {\\n\\t\\tposition: relative;\\n\\t\\tbackground-color: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t&:not(&--unknown) {\\n\\t\\t// White background for avatars with transparency\\n\\t\\tbackground-color: #fff !important;\\n\\t\\tbody.theme--dark & {\\n\\t\\t\\t// And black background in dark mode, as it shines through on hover of the menu\\n\\t\\t\\tbackground-color: #000 !important;\\n\\t\\t}\\n\\t\\tbox-shadow: 0 0 5px rgba(0, 0, 0, 0.05) inset;\\n\\t}\\n\\n\\t&--with-menu {\\n\\t\\tcursor: pointer;\\n\\t\\t::v-deep .trigger {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.icon-more, .icon-loading {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\twidth: var(--size);\\n\\t\\t\\theight: var(--size);\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t\\t.icon-more {\\n\\t\\t\\topacity: 0;\\n\\t\\t}\\n\\t\\t&:focus,\\n\\t\\t&:hover {\\n\\t\\t\\t.icon-more {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t\\timg {\\n\\t\\t\\t\\topacity: 0.3;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.icon-more,\\n\\t\\timg {\\n\\t\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\t}\\n\\t}\\n\\n\\t> .unknown {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\tdisplay: block;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: normal;\\n\\t\\tcolor: var(--color-main-background);\\n\\t}\\n\\n\\timg {\\n\\t\\t// Cover entire area\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\t// Keep ratio\\n\\t\\tobject-fit: cover;\\n\\t}\\n\\n\\t.avatardiv__user-status {\\n\\t\\tposition: absolute;\\n\\t\\tright: -4px;\\n\\t\\tbottom: -4px;\\n\\t\\theight: 18px;\\n\\t\\twidth: 18px;\\n\\t\\tline-height: 15px;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-size: 16px;\\n\\t\\tbackground-position: center;\\n\\t\\tborder-radius: 50%;\\n\\n\\t\\t.acli:hover & {\\n\\t\\t\\tborder-color: var(--color-background-hover);\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t\\t.acli.active & {\\n\\t\\t\\tborder-color: var(--color-primary-light);\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t}\\n\\n\\t\\t&--online{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-online.svg');\\n\\t\\t}\\n\\t\\t&--dnd{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-dnd.svg');\\n\\t\\t\\tbackground-color: #ffffff;\\n\\t\\t}\\n\\t\\t&--away{\\n\\t\\t\\tbackground-image: url('../../assets/status-icons/user-status-away.svg');\\n\\t\\t}\\n\\t\\t&--icon {\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t.popovermenu-wrapper {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: inline-block;\\n\\t}\\n}\\n\\n.avatar-class-icon {\\n\\tborder-radius: 50%;\\n\\tbackground-color: var(--color-background-darker);\\n\\theight: 100%;\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=p},function(t,e){},function(t,e){t.exports=require(\"escape-html\")},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */function i(t,e,n){this.r=t,this.g=e,this.b=n}function a(t,e,n){var a=[];a.push(e);for(var o=function(t,e){var n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}(t,[e,n]),r=1;r<t;r++){var s=parseInt(e.r+o[0]*r,10),l=parseInt(e.g+o[1]*r,10),c=parseInt(e.b+o[2]*r,10);a.push(new i(s,l,c))}return a}e.a=function(t){t||(t=6);var e=new i(182,70,157),n=new i(221,203,85),o=new i(0,130,201),r=a(t,e,n),s=a(t,n,o),l=a(t,o,e);return r.concat(s).concat(l)}},function(t,e){},,function(t,e,n){\"use strict\";function i(t,e){var n=\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if(\"string\"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(t,e)}(t))||e&&t&&\"number\"==typeof t.length){n&&(t=n);var i=0,o=function(){};return{s:o,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){l=!0,r=t},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw r}}}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n<e;n++)i[n]=t[n];return i}\n/**\n * @copyright Copyright (c) 2020 Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.r(e),e.default={props:{excludeClickOutsideClasses:{type:String|Array,default:function(){return[]}}},methods:{clickOutsideMiddleware:function(t){var e=Array.isArray(this.excludeClickOutsideClasses)?this.excludeClickOutsideClasses:[this.excludeClickOutsideClasses];return 0===e.length||!this.hasNodeOrAnyParentClass(t.target,e)},hasNodeOrAnyParentClass:function(t,e){var n,a=i(e);try{for(a.s();!(n=a.n()).done;){var o,r=n.value;if(null!=t&&null!==(o=t.classList)&&void 0!==o&&o.contains(r))return!0}}catch(t){a.e(t)}finally{a.f()}return!!t.parentElement&&this.hasNodeOrAnyParentClass(t.parentElement,e)}}}},function(t,e,n){\"use strict\";n.r(e),\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default={data:function(){return{isFullscreen:this._isFullscreen()}},beforeMount:function(){window.addEventListener(\"resize\",this._onResize)},beforeDestroy:function(){window.removeEventListener(\"resize\",this._onResize)},methods:{_onResize:function(){this.isFullscreen=this._isFullscreen()},_isFullscreen:function(){return window.outerHeight===screen.height}}}},function(t,e){t.exports=require(\"@nextcloud/browser-storage\")},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTTQuOCAxMS4yaDYuNFY0LjhINC44djYuNHpNOCAwQzMuNiAwIDAgMy42IDAgOHMzLjYgOCA4IDggOC0zLjYgOC04LTMuNi04LTgtOHoiIGZpbGw9IiM0OWIzODIiLz48L3N2Zz4K\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZD0iTS00LTRoMjR2MjRILTRWLTR6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTggMEMzLjYgMCAwIDMuNiAwIDhzMy42IDggOCA4IDgtMy42IDgtOC0zLjYtOC04LTh6IiBmaWxsPSIjZWQ0ODRjIi8+PHBhdGggZD0iTTUgNi41aDZjLjggMCAxLjUuNyAxLjUgMS41cy0uNyAxLjUtMS41IDEuNUg1Yy0uOCAwLTEuNS0uNy0xLjUtMS41UzQuMiA2LjUgNSA2LjV6IiBmaWxsPSIjZmRmZmZmIi8+PC9zdmc+Cg==\"},function(t,e,n){\"use strict\";e.a=\"data:image/svg+xml;base64,PCEtLSBUaGlzIGljb24gaXMgcGFydCBvZiBNYXRlcmlhbCBVSSBJY29ucy4gQ29weXJpZ2h0IDIwMjAgR29vZ2xlIEluYy4sIEFwYWNoZS0yLjAgTGljZW5zZSAtLT4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS00LTRoMjR2MjRILTR6Ii8+PHBhdGggZD0iTTYuOS4xQzMgLjYtLjEgNC0uMSA4YzAgNC40IDMuNiA4IDggOCA0IDAgNy40LTMgOC02LjktMS4yIDEuMy0yLjkgMi4xLTQuNyAyLjEtMy41IDAtNi40LTIuOS02LjQtNi40IDAtMS45LjgtMy42IDIuMS00Ljd6IiBmaWxsPSIjZjRhMzMxIi8+PC9zdmc+Cg==\"},,function(t,e,n){\"use strict\";n.r(e);var i={name:\"PopoverMenuItem\",props:{item:{type:Object,required:!0,default:function(){return{key:\"nextcloud-link\",href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}},validator:function(t){return!t.input||-1!==[\"text\",\"checkbox\"].indexOf(t.input)}}},computed:{key:function(){return this.item.key?this.item.key:Math.round(16*Math.random()*1e6).toString(16)},iconIsUrl:function(){try{return new URL(this.item.icon),!0}catch(t){return!1}}},methods:{action:function(t){this.item.action&&this.item.action(t)}}},a=n(2),o=n.n(a),r=n(33),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(34)),c={insert:\"head\",singleton:!1},u=(o()(l.a,c),l.a.locals,n(3)),d={name:\"PopoverMenu\",components:{PopoverMenuItem:Object(u.a)(i,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"popover__menuitem\"},[t.item.href?n(\"a\",{staticClass:\"focusable\",attrs:{href:t.item.href?t.item.href:\"#\",target:t.item.target?t.item.target:\"\",download:t.item.download,rel:\"noreferrer noopener\"},on:{click:t.action}},[t.iconIsUrl?n(\"img\",{attrs:{src:t.item.icon}}):n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):t.item.input?n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[\"checkbox\"!==t.item.input?n(\"span\",{class:t.item.icon}):t._e(),t._v(\" \"),\"text\"===t.item.input?n(\"form\",{class:t.item.input,on:{submit:function(e){return e.preventDefault(),t.item.action(e)}}},[n(\"input\",{attrs:{type:t.item.input,placeholder:t.item.text,required:\"\"},domProps:{value:t.item.value}}),t._v(\" \"),n(\"input\",{staticClass:\"icon-confirm\",attrs:{type:\"submit\",value:\"\"}})]):[\"checkbox\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"checkbox\"},domProps:{checked:Array.isArray(t.item.model)?t._i(t.item.model,null)>-1:t.item.model},on:{change:[function(e){var n=t.item.model,i=e.target,a=!!i.checked;if(Array.isArray(n)){var o=t._i(n,null);i.checked?o<0&&t.$set(t.item,\"model\",n.concat([null])):o>-1&&t.$set(t.item,\"model\",n.slice(0,o).concat(n.slice(o+1)))}else t.$set(t.item,\"model\",a)},t.item.action]}}):\"radio\"===t.item.input?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:\"radio\"},domProps:{checked:t._q(t.item.model,null)},on:{change:[function(e){return t.$set(t.item,\"model\",null)},t.item.action]}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:t.item.model,expression:\"item.model\"}],class:t.item.input,attrs:{id:t.key,type:t.item.input},domProps:{value:t.item.model},on:{change:t.item.action,input:function(e){e.target.composing||t.$set(t.item,\"model\",e.target.value)}}}),t._v(\" \"),n(\"label\",{attrs:{for:t.key},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")])]],2):t.item.action?n(\"button\",{staticClass:\"menuitem focusable\",class:{active:t.item.active},attrs:{disabled:t.item.disabled,type:\"button\"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),t.item.action(e)}}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()]):n(\"span\",{staticClass:\"menuitem\",class:{active:t.item.active}},[n(\"span\",{class:t.item.icon}),t._v(\" \"),t.item.text&&t.item.longtext?n(\"p\",[n(\"strong\",{staticClass:\"menuitem-text\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\\t\")]),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"menuitem-text-detail\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\\t\")])]):t.item.text?n(\"span\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.text)+\"\\n\\t\\t\")]):t.item.longtext?n(\"p\",[t._v(\"\\n\\t\\t\\t\"+t._s(t.item.longtext)+\"\\n\\t\\t\")]):t._e()])])}),[],!1,null,\"54983729\",null).exports},props:{menu:{type:Array,default:function(){return[{href:\"https://nextcloud.com\",icon:\"icon-links\",text:\"Nextcloud\"}]},required:!0}}},p=n(35),m={insert:\"head\",singleton:!1},g=(o()(p.a,m),p.a.locals,n(36)),h=n.n(g),A=Object(u.a)(d,(function(){var t=this.$createElement,e=this._self._c||t;return e(\"ul\",{staticClass:\"popover__menu\"},this._l(this.menu,(function(t,n){return e(\"PopoverMenuItem\",{key:n,attrs:{item:t}})})),1)}),[],!1,null,\"4dae360a\",null);\"function\"==typeof h.a&&h()(A);var v=A.exports;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=v},function(t,e,n){\"use strict\";n.r(e);var i=n(15),a=n.n(i),o=n(28),r=n(7),s=n(49),l=n(18),c=n(16),u=n(21),d=n.n(u),p=n(54),m=n(11),g=n(58),h=n(24),A=n(4),v=n(14);function f(t,e,n,i,a,o,r){try{var s=t[o](r),l=s.value}catch(t){return void n(t)}s.done?e(l):Promise.resolve(l).then(i,a)}function b(t){return function(){var e=this,n=arguments;return new Promise((function(i,a){var o=t.apply(e,n);function r(t){f(o,i,a,r,s,\"next\",t)}function s(t){f(o,i,a,r,s,\"throw\",t)}r(void 0)}))}}var C=Object(s.getBuilder)(\"nextcloud\").persist().build();function y(t){var e=C.getItem(\"user-has-avatar.\"+t);return\"string\"==typeof e?Boolean(e):null}function B(t,e){t&&C.setItem(\"user-has-avatar.\"+t,e)}var x={name:\"Avatar\",directives:{tooltip:m.default,ClickOutside:o.directive},components:{DotsHorizontal:a.a,Popover:v.a,PopoverMenu:p.default},mixins:[h.e],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuPosition:{type:String,default:\"center\"},menuContainer:{type:String,default:\"body\"},ariaLabel:{type:String,default:null}},data:function(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel:function(){return null!==this.ariaLabel?this.ariaLabel:Object(A.b)(\"Avatar of {displayName}\",{displayName:this.displayName||this.userId})},canDisplayUserStatus:function(){return this.showUserStatus&&this.hasStatus&&[\"online\",\"away\",\"dnd\"].includes(this.userStatus.status)},showUserStatusIconOnAvatar:function(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&\"dnd\"!==this.userStatus.status&&this.userStatus.icon},getUserIdentifier:function(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:\"\"},isUserDefined:function(){return void 0!==this.user},isDisplayNameDefined:function(){return void 0!==this.displayName},isUrlDefined:function(){return void 0!==this.url},hasMenu:function(){var t;return!this.disableMenu&&(this.isMenuLoaded?this.menu.length>0:!(this.user===(null===(t=Object(l.getCurrentUser)())||void 0===t?void 0:t.uid)||this.userDoesNotExist||this.url))},shouldShowPlaceholder:function(){return this.allowPlaceholder&&this.userDoesNotExist},avatarStyle:function(){var t={\"--size\":this.size+\"px\",lineHeight:this.size+\"px\",fontSize:Math.round(.55*this.size)+\"px\"};if(!this.iconClass&&!this.avatarSrcSetLoaded){var e=Object(g.default)(this.getUserIdentifier);t.backgroundColor=\"rgb(\"+e.r+\", \"+e.g+\", \"+e.b+\")\"}return t},tooltip:function(){return!this.disableTooltip&&(this.tooltipMessage?this.tooltipMessage:this.displayName)},initials:function(){var t;if(this.shouldShowPlaceholder){var e=this.getUserIdentifier,n=e.indexOf(\" \");\"\"===e?t=\"?\":(t=String.fromCodePoint(e.codePointAt(0)),-1!==n&&(t=t.concat(String.fromCodePoint(e.codePointAt(n+1)))))}return t.toUpperCase()},menu:function(){var t,e,n,i=this.contactsMenuActions.map((function(t){return{href:t.hyperlink,icon:t.icon,longtext:t.title}}));return this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)?[{href:\"#\",icon:\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>\".concat((t=this.userStatus.icon,e=document.createTextNode(t),n=document.createElement(\"p\"),n.appendChild(e),n.innerHTML),\"</text></svg>\"),text:\"\".concat(this.userStatus.message)}].concat(i):i}},watch:{url:function(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user:function(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted:function(){this.loadAvatarUrl(),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||\"\",this.userStatus.message=this.preloadedUserStatus.message||\"\",this.userStatus.icon=this.preloadedUserStatus.icon||\"\",this.hasStatus=null!==this.preloadedUserStatus.status):this.fetchUserStatus(this.user),Object(c.subscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated))},beforeDestroyed:function(){this.showUserStatus&&this.user&&!this.isNoUser&&Object(c.unsubscribe)(\"user_status:status.updated\",this.handleUserStatusUpdated)},methods:{handlePopoverAfterShow:function(){var t=this.$refs.popoverMenu.$el.getElementsByTagName(\"a\");t.length&&t[0].focus()},handlePopoverAfterHide:function(){this.$refs.main.focus()},handleUserStatusUpdated:function(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},toggleMenu:function(){var t=this;return b(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.hasMenu){e.next=2;break}return e.abrupt(\"return\");case 2:if(t.contactsMenuOpenState){e.next=5;break}return e.next=5,t.fetchContactsMenu();case 5:t.contactsMenuOpenState=!t.contactsMenuOpenState;case 6:case\"end\":return e.stop()}}),e)})))()},closeMenu:function(){this.contactsMenuOpenState=!1},fetchContactsMenu:function(){var t=this;return b(regeneratorRuntime.mark((function e(){var n,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.contactsMenuLoading=!0,e.prev=1,n=encodeURIComponent(t.user),e.next=5,d.a.post(Object(r.generateUrl)(\"contactsmenu/findOne\"),\"shareType=0&shareWith=\".concat(n));case 5:i=e.sent,a=i.data,t.contactsMenuActions=a.topAction?[a.topAction].concat(a.actions):a.actions,e.next=13;break;case 10:e.prev=10,e.t0=e.catch(1),t.contactsMenuOpenState=!1;case 13:t.contactsMenuLoading=!1,t.isMenuLoaded=!0;case 15:case\"end\":return e.stop()}}),e,null,[[1,10]])})))()},loadAvatarUrl:function(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser))return this.isAvatarLoaded=!0,void(this.userDoesNotExist=!0);if(this.isUrlDefined)this.updateImageIfValid(this.url);else{var t=this.avatarUrlGenerator(this.user,this.size),e=[t+\" 1x\",this.avatarUrlGenerator(this.user,2*this.size)+\" 2x\",this.avatarUrlGenerator(this.user,4*this.size)+\" 4x\"].join(\", \");this.updateImageIfValid(t,e)}},avatarUrlGenerator:function(t,e){var n,i=\"/avatar/{user}/{size}\";this.isGuest&&(i=\"/avatar/guest/{user}/{size}\");var a=Object(r.generateUrl)(i,{user:t,size:e});return t===(null===(n=Object(l.getCurrentUser)())||void 0===n?void 0:n.uid)&&\"undefined\"!=typeof oc_userconfig&&(a+=\"?v=\"+oc_userconfig.avatar.version),a},updateImageIfValid:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=y(this.user);if(this.isUserDefined&&\"boolean\"==typeof i)return this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,n&&(this.avatarSrcSetLoaded=n),void(!1===i&&(this.userDoesNotExist=!0));var a=new Image;a.onload=function(){e.avatarUrlLoaded=t,n&&(e.avatarSrcSetLoaded=n),e.isAvatarLoaded=!0,B(e.user,!0)},a.onerror=function(){console.debug(\"Invalid avatar url\",t),e.avatarUrlLoaded=null,e.avatarSrcSetLoaded=null,e.userDoesNotExist=!0,e.isAvatarLoaded=!1,B(e.user,!1)},n&&(a.srcset=n),a.src=t}}},k=n(2),w=n.n(k),S=n(41),_={insert:\"head\",singleton:!1},j=(w()(S.a,_),S.a.locals,n(3)),N=n(42),P=n.n(N),E=Object(j.a)(x,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",t._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:t.tooltip,expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:t.closeMenu,expression:\"closeMenu\"}],ref:\"main\",staticClass:\"avatardiv popovermenu-wrapper\",class:{\"avatardiv--unknown\":t.userDoesNotExist,\"avatardiv--with-menu\":t.hasMenu},style:t.avatarStyle,attrs:{tabindex:t.disableMenu?\"-1\":\"0\",\"aria-label\":t.avatarAriaLabel,role:t.disableMenu?\"\":\"button\"},on:{keydown:function(e){return!e.type.indexOf(\"key\")&&t._k(e.keyCode,\"enter\",13,e.key,\"Enter\")?null:t.toggleMenu(e)}}},t.disableMenu?{}:{click:t.toggleMenu}),[t.iconClass?n(\"div\",{staticClass:\"avatar-class-icon\",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?n(\"img\",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:\"\"}}):t._e(),t._v(\" \"),t.hasMenu?n(\"Popover\",{attrs:{placement:\"auto\",container:t.menuContainer,open:t.contactsMenuOpenState},on:{\"after-show\":t.handlePopoverAfterShow,\"after-hide\":t.handlePopoverAfterHide},scopedSlots:t._u([{key:\"trigger\",fn:function(){return[t.contactsMenuLoading?n(\"div\",{staticClass:\"icon-loading\"}):n(\"DotsHorizontal\",{staticClass:\"icon-more\",attrs:{size:24,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,3277751148)},[n(\"PopoverMenu\",{ref:\"popoverMenu\",attrs:{menu:t.menu}})],1):t._e(),t._v(\" \"),t.showUserStatusIconOnAvatar?n(\"div\",{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[t._v(\"\\n\\t\\t\"+t._s(t.userStatus.icon)+\"\\n\\t\")]):t.canDisplayUserStatus?n(\"div\",{staticClass:\"avatardiv__user-status\",class:\"avatardiv__user-status--\"+t.userStatus.status}):t._e(),t._v(\" \"),t.userDoesNotExist&&!t.iconClass?n(\"div\",{staticClass:\"unknown\"},[t._v(\"\\n\\t\\t\"+t._s(t.initials)+\"\\n\\t\")]):t._e()],1)}),[],!1,null,\"583ead48\",null);\"function\"==typeof P.a&&P()(E);var z=E.exports;\n/**\n * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=z},function(t,e){t.exports=require(\"md5\")},function(t,e){t.exports=require(\"@nextcloud/capabilities\")},function(t,e,n){\"use strict\";n.r(e);var i=n(56),a=n.n(i),o=n(44),r=function(t){var e=t.toLowerCase();null===e.match(/^([0-9a-f]{4}-?){8}$/)&&(e=a()(e)),e=e.replace(/[^0-9a-f]/g,\"\");return Object(o.a)(6)[function(t,e){for(var n=0,i=[],a=0;a<t.length;a++)i.push(parseInt(t.charAt(a),16)%16);for(var o in i)n+=i[o];return parseInt(parseInt(n,10)%e,10)}(e,18)]};e.default=r},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"357763c\"),\"\")}))}},function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-28d338d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.option[data-v-28d338d4]{display:flex;align-items:center;width:100%;height:var(--height)}.option__avatar[data-v-28d338d4]{margin-right:var(--margin)}.option__details[data-v-28d338d4]{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.option__lineone[data-v-28d338d4]{color:var(--color-text-light)}.option__linetwo[data-v-28d338d4]{opacity:.7}.option__lineone[data-v-28d338d4],.option__linetwo[data-v-28d338d4]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.1em}.option__lineone strong[data-v-28d338d4],.option__linetwo strong[data-v-28d338d4]{font-weight:bold}.option__icon[data-v-28d338d4]{flex:0 0 44px;width:44px;height:44px;opacity:.5;background-position:center;background-size:16px}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./ListItemIcon.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCgOxB,yBACC,YAAa,CACb,kBAAmB,CACnB,UAAW,CACX,oBAAqB,CAErB,iCACC,0BAA2B,CAC3B,kCAGA,YAAa,CACb,QAAS,CACT,qBAAsB,CACtB,sBAAuB,CACvB,WAAY,CACZ,kCAGA,6BAA8B,CAC9B,kCAEA,UCnNiB,CDoNjB,oEAGA,eAAgB,CAChB,kBAAmB,CACnB,sBAAuB,CACvB,iBAAkB,CALlB,kFAOC,gBAAiB,CACjB,+BAID,aCnPmB,CDoPnB,UCpPmB,CDqPnB,WCrPmB,CDsPnB,UCrOmB,CDsOnB,0BAA2B,CAC3B,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.option {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n\\theight: var(--height);\\n\\n\\t&__avatar {\\n\\t\\tmargin-right: var(--margin);\\n\\t}\\n\\n\\t&__details {\\n\\t\\tdisplay: flex;\\n\\t\\tflex: 1 1;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\tmin-width: 0;\\n\\t}\\n\\n\\t&__lineone {\\n\\t\\tcolor: var(--color-text-light);\\n\\t}\\n\\t&__linetwo {\\n\\t\\topacity: $opacity_normal;\\n\\t}\\n\\t&__lineone,\\n\\t&__linetwo {\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tline-height: 1.1em;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\tbackground-position: center;\\n\\t\\tbackground-size: 16px;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon[data-v-f855c4b8]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.name-parts[data-v-f855c4b8]{display:flex;max-width:100%}.name-parts__first[data-v-f855c4b8]{overflow:hidden;text-overflow:ellipsis}.name-parts__first[data-v-f855c4b8],.name-parts__last[data-v-f855c4b8]{white-space:pre}.name-parts__first strong[data-v-f855c4b8],.name-parts__last strong[data-v-f855c4b8]{font-weight:bold}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./EllipsisedOption.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCqHxB,6BACC,YAAa,CACb,cAAe,CACf,oCACC,eAAgB,CAChB,sBAAuB,CACvB,uEAIA,eAAgB,CAHhB,qFAKC,gBAAiB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.name-parts {\\n\\tdisplay: flex;\\n\\tmax-width: 100%;\\n\\t&__first {\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\t&__first,\\n\\t&__last {\\n\\t\\t// prevent whitespace from being trimmed\\n\\t\\twhite-space: pre;\\n\\t\\tstrong {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},function(t,e,n){\"use strict\";var i=n(71),a=n.n(i),o=n(40),r=n(38),s={name:\"EllipsisedOption\",components:{Highlight:o.default},props:{option:{type:[String,Object],required:!0,default:\"\"},label:{type:String,default:\"\"},search:{type:String,default:\"\"},name:{type:String,default:\"\"}},computed:{needsTruncate:function(){return this.name&&this.name.length>=10},split:function(){return this.name.length-Math.min(Math.floor(this.name.length/2),10)},part1:function(){return this.needsTruncate?this.name.substr(0,this.split):this.name},part2:function(){return this.needsTruncate?this.name.substr(this.split):\"\"},highlight1:function(){return this.search?Object(r.a)(this.name,this.search):[]},highlight2:function(){var t=this;return this.highlight1.map((function(e){return{start:e.start-t.split,end:e.end-t.split}}))}}},l=n(2),c=n.n(l),u=n(64),d={insert:\"head\",singleton:!1},p=(c()(u.a,d),u.a.locals,n(3)),m=Object(p.a)(s,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"name-parts\",attrs:{title:t.name}},[n(\"Highlight\",{staticClass:\"name-parts__first\",attrs:{text:t.part1,search:t.search,highlight:t.highlight1}}),t._v(\" \"),t.part2?n(\"Highlight\",{staticClass:\"name-parts__last\",attrs:{text:t.part2,search:t.search,highlight:t.highlight2}}):t._e()],1)}),[],!1,null,\"f855c4b8\",null).exports,g=n(22),h=n(67),A=n(11);function v(t){return(v=\"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})(t)}var f={name:\"Multiselect\",components:{EllipsisedOption:m,ListItemIcon:h.default,VueMultiselect:a.a},directives:{tooltip:A.default},mixins:[g.a],inheritAttrs:!1,props:{value:{default:function(){return[]}},multiple:{type:Boolean,default:!1},limit:{type:Number,default:99999},label:{type:String,default:\"\"},trackBy:{type:String,default:\"\"},options:{type:Array,required:!0},userSelect:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},autoLimit:{type:Boolean,default:!0},tagWidth:{type:Number,default:150,validator:function(t){return t>0}}},data:function(){return{elWidth:0}},computed:{maxOptions:function(){if(this.autoLimit&&this.elWidth>0&&0!==this.tagWidth){var t=Math.floor(this.elWidth/this.tagWidth);return t>0?t:1}return this.limit?this.limit:9999},limitString:function(){return\"+\".concat(this.value.length-this.maxOptions)},localValue:{get:function(){return this.trackBy&&this.options&&\"object\"!==v(this.value)&&this.options[this.value]?this.options[this.value]:this.value},set:function(t){this.$emit(\"update:value\",t),this.$emit(\"change\",t)}}},watch:{value:function(){this.updateWidth()}},mounted:function(){this.updateWidth(),window.addEventListener(\"resize\",this.updateWidth)},beforeDestroy:function(){window.removeEventListener(\"resize\",this.updateWidth)},methods:{getOptionLabel:function(t){var e;return String(null===(e=this.$refs.VueMultiselect)||void 0===e?void 0:e.getOptionLabel(t))},formatLimitTitle:function(t){var e=this;if(Array.isArray(t)&&t.length>0){var n=t;return\"object\"===v(t[0])&&(n=t.map((function(t){return t[e.label]}))),n.slice(this.maxOptions).join(\", \")}return\"\"},updateWidth:function(){this.$el&&this.$el.querySelector(\".multiselect__tags-wrap\")&&(this.elWidth=this.$el.querySelector(\".multiselect__tags-wrap\").offsetWidth-10)}}},b=n(65),C=n.n(b),y=Object(p.a)(f,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"VueMultiselect\",t._g(t._b({ref:\"VueMultiselect\",class:[{\"icon-loading-small\":t.loading},t.multiple?\"multiselect--multiple\":\"multiselect--single\"],attrs:{options:t.options,limit:t.maxOptions,\"close-on-select\":!t.multiple,multiple:t.multiple,label:t.label,\"track-by\":t.trackBy,\"tag-placeholder\":\"create\"},scopedSlots:t._u([{key:\"option\",fn:function(e){return[t.userSelect&&!t.$scopedSlots.option?n(\"ListItemIcon\",t._b({attrs:{title:e.option[t.label],search:e.search}},\"ListItemIcon\",e.option,!1)):t.$scopedSlots.option?t._t(\"option\",null,null,e):n(\"EllipsisedOption\",{attrs:{name:t.getOptionLabel(e.option),option:e.option,search:e.search,label:t.label}})]}},t.multiple?{key:\"limit\",fn:function(){return[n(\"span\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.formatLimitTitle(t.value),expression:\"formatLimitTitle(value)\",modifiers:{auto:!0}}],staticClass:\"multiselect__limit\"},[t._v(\"\\n\\t\\t\\t\"+t._s(t.limitString)+\"\\n\\t\\t\")])]},proxy:!0}:null,t._l(t.$scopedSlots,(function(e,n){return{key:n,fn:function(e){return[t._t(n,null,null,e)]}}})),{key:\"noResult\",fn:function(){return[n(\"span\",[t._v(t._s(t.t(\"No results\")))])]},proxy:!0}],null,!0),model:{value:t.localValue,callback:function(e){t.localValue=e},expression:\"localValue\"}},\"VueMultiselect\",t.$attrs,!1),t.$listeners))}),[],!1,null,null,null);\"function\"==typeof C.a&&C()(y);e.a=y.exports},function(t,e,n){\"use strict\";n.r(e);var i=n(55),a=n(40),o=n(24),r={name:\"ListItemIcon\",components:{Avatar:i.default,Highlight:a.default},mixins:[o.e],props:{title:{type:String,required:!0},subtitle:{type:String,default:\"\"},icon:{type:String,default:\"\"},search:{type:String,default:\"\"},avatarSize:{type:Number,default:32},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},data:function(){return{margin:8}},computed:{hasIcon:function(){return\"\"!==this.icon},hasSlot:function(){return!!this.$slots.default},isValidSubtitle:function(){var t,e;return\"\"!==(null===(t=this.subtitle)||void 0===t||null===(e=t.trim)||void 0===e?void 0:e.call(t))},isSizeBigEnough:function(){return this.avatarSize>=32},cssVars:function(){var t=this.noMargin?0:this.margin;return{\"--height\":this.avatarSize+2*t+\"px\",\"--margin\":this.margin+\"px\"}}},beforeMount:function(){this.isNoUser||this.subtitle||this.fetchUserStatus(this.user)}},s=n(2),l=n.n(s),c=n(60),u={insert:\"head\",singleton:!1},d=(l()(c.a,u),c.a.locals,n(3)),p=n(61),m=n.n(p),g=Object(d.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"span\",t._g({staticClass:\"option\",style:t.cssVars,attrs:{id:t.id}},t.$listeners),[n(\"Avatar\",t._b({staticClass:\"option__avatar\",attrs:{\"disable-menu\":!0,\"disable-tooltip\":!0,\"display-name\":t.displayName||t.title,\"is-no-user\":t.isNoUser,size:t.avatarSize}},\"Avatar\",t.$attrs,!1)),t._v(\" \"),n(\"div\",{staticClass:\"option__details\"},[n(\"Highlight\",{staticClass:\"option__lineone\",attrs:{text:t.title,search:t.search}}),t._v(\" \"),t.isValidSubtitle&&t.isSizeBigEnough?n(\"Highlight\",{staticClass:\"option__linetwo\",attrs:{text:t.subtitle,search:t.search}}):t.hasStatus?n(\"span\",[n(\"span\",[t._v(t._s(t.userStatus.icon))]),t._v(\" \"),n(\"span\",[t._v(t._s(t.userStatus.message))])]):t._e()],1),t._v(\" \"),t._t(\"default\"),t._v(\" \"),t.hasIcon&&!t.hasSlot?n(\"span\",{staticClass:\"icon option__icon\",class:t.icon}):t._e()],2)}),[],!1,null,\"28d338d4\",null);\"function\"==typeof m.a&&m()(g);var h=g.exports;\n/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=h},function(t,e,n){\"use strict\";n.r(e);var i=n(59),a=n(66),o=n(2),r=n.n(o),s=n(70),l={insert:\"head\",singleton:!1};r()(s.a,l),s.a.locals;\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nObject(i.a)(a.a);e.default=a.a},,function(t,e,n){\"use strict\";var i=n(0),a=n.n(i),o=n(1),r=n.n(o)()(a.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.multiselect[data-v-357763c]{margin:0;padding:0 !important;display:inline-block;min-width:160px;position:relative;background-color:var(--color-main-background)}.multiselect[data-v-357763c]:not(.multiselect--active) .multiselect__single{width:100%;z-index:2 !important}.multiselect[data-v-357763c].multiselect--active input.multiselect__input{opacity:1 !important;cursor:text !important;border-radius:var(--border-radius) var(--border-radius) 0 0;display:block !important}.multiselect[data-v-357763c].multiselect--active .multiselect__limit{display:none}.multiselect[data-v-357763c].multiselect--active.multiselect--above input.multiselect__input{border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-357763c].multiselect--disabled,.multiselect[data-v-357763c].multiselect--disabled .multiselect__single{background-color:var(--color-background-dark) !important}.multiselect[data-v-357763c].icon-loading-small::after{left:100%;margin-left:-24px}.multiselect[data-v-357763c] .multiselect__tags{display:flex;flex-wrap:nowrap;overflow:hidden;border:1px solid var(--color-border-dark);cursor:pointer;position:relative;border-radius:3px;min-height:34px;height:100%}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap{align-items:center;display:inline-flex;overflow:hidden;max-width:100%;position:relative;padding:3px 5px;flex:1 1;flex-wrap:nowrap}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input{opacity:1 !important;display:block !important}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input+span:not(.multiselect__single){display:none}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag{line-height:20px;padding:3px 5px;background-image:none;color:var(--color-main-text);border:1px solid var(--color-border-dark);display:inline-flex;align-items:center;border-radius:3px;min-width:0;max-width:fit-content;max-width:-moz-fit-content;margin:2px 1px}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child{flex:0 1 auto}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child){margin-right:5px}.multiselect[data-v-357763c] .multiselect__tags .multiselect__tags-wrap .multiselect__tag>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multiselect[data-v-357763c] .multiselect__tags .multiselect__single,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder{padding:7px 6px;flex:0 0 100%;z-index:1;background-color:var(--color-main-background);line-height:18px;color:var(--color-text-lighter);display:flex;align-items:center}.multiselect[data-v-357763c] .multiselect__tags .multiselect__single,.multiselect[data-v-357763c] .multiselect__tags .multiselect__single *,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder,.multiselect[data-v-357763c] .multiselect__tags .multiselect__placeholder *{cursor:pointer}.multiselect[data-v-357763c] .multiselect__tags .multiselect__strong,.multiselect[data-v-357763c] .multiselect__tags .multiselect__limit{line-height:20px;color:var(--color-text-lighter);display:inline-flex;align-items:center;opacity:.7;margin-right:5px;z-index:5}.multiselect[data-v-357763c] .multiselect__tags input.multiselect__input{width:100% !important;position:relative !important;margin:0;opacity:0;height:100% !important;border:none;cursor:pointer;padding:7px 6px !important;display:none}.multiselect[data-v-357763c] .multiselect__content-wrapper{position:absolute;width:100%;margin-top:-1px;border:1px solid var(--color-border-dark);background:var(--color-main-background);z-index:50;max-height:250px;overflow-y:auto;border-radius:0 0 var(--border-radius) var(--border-radius)}.multiselect[data-v-357763c] .multiselect__content-wrapper .multiselect__content{width:100%;padding:0}.multiselect[data-v-357763c] .multiselect__content-wrapper li{position:relative;display:flex;align-items:center;background-color:transparent}.multiselect[data-v-357763c] .multiselect__content-wrapper li,.multiselect[data-v-357763c] .multiselect__content-wrapper li span{cursor:pointer}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;height:auto;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;align-items:center;background-color:transparent;color:var(--color-text-lighter);width:100%}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span::before{content:' ';background-repeat:no-repeat;background-position:center;min-width:16px;min-height:16px;display:block;opacity:.5;margin-right:5px;visibility:hidden}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--disabled{background-color:var(--color-background-dark);opacity:.5}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--highlight{color:var(--color-main-text);background-color:var(--color-background-dark)}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{opacity:.3}.multiselect[data-v-357763c] .multiselect__content-wrapper li>span.multiselect__option--selected::before,.multiselect[data-v-357763c] .multiselect__content-wrapper li>span:not(.multiselect__option--disabled):hover::before{visibility:visible}.multiselect[data-v-357763c].multiselect--above .multiselect__content-wrapper{bottom:100%;margin-bottom:-1px}.multiselect[data-v-357763c].multiselect--multiple .multiselect__tags{flex-wrap:wrap}.multiselect[data-v-357763c].multiselect--multiple .multiselect__content-wrapper li>span::before{background-image:var(--icon-checkmark-000)}.multiselect[data-v-357763c].multiselect--multiple .multiselect__content-wrapper li>span[data-select='create']::before{background-image:var(--icon-add-000);visibility:visible}.multiselect[data-v-357763c].multiselect--single .multiselect__content-wrapper li>span::before{display:none}.multiselect[data-v-357763c]:hover .multiselect__placeholder,.multiselect[data-v-357763c] input.multiselect__input .multiselect__placeholder{color:var(--color-main-text)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCJxB,6BACC,QAAS,CACT,oBAAqB,CACrB,oBAAqB,CAErB,eAAgB,CAChB,iBAAkB,CAClB,6CAA8C,CAP/C,4EAWE,UAAW,CACX,oBAAqB,CAZvB,0EAoBG,oBAAiC,CACjC,sBAAuB,CAEvB,2DAA4D,CAC5D,wBAAyB,CAxB5B,qEA6BG,YAAa,CA7BhB,6FAoCG,2DAA4D,CApC/D,2HA2CE,wDAAyD,CA3C3D,uDAgDE,SAAU,CACV,iBAAkB,CAjDpB,gDAwDE,YAAa,CACb,gBAAiB,CACjB,eAAgB,CAChB,yCAA0C,CAC1C,cAAe,CACf,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,WAAY,CAhEd,wEAoEG,kBAAmB,CACnB,mBAAoB,CACpB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,eAlBkB,CAmBlB,QAAS,CACT,gBAAiB,CA3EpB,yGA+EI,oBAAiC,CACjC,wBAAyB,CAhF7B,wIAqFK,YAAa,CArFlB,0FA0FI,gBAAiB,CACjB,eAAgB,CAChB,qBAAsB,CACtB,4BAA6B,CAC7B,yCAA0C,CAC1C,mBAAoB,CACpB,kBAAmB,CACnB,iBAAkB,CAGlB,WAAY,CACZ,qBAAsB,CACtB,0BAA2B,CAC3B,cAAe,CAvGnB,qGA2GK,aAAc,CA3GnB,2GA8GK,gBAvDgB,CAvDrB,+FAmHK,kBAAmB,CACnB,sBAAuB,CACvB,eAAgB,CArHrB,+IA8HG,eAAgB,CAChB,aAAc,CACd,SAAU,CACV,6CAA8C,CAC9C,gBAAiB,CACjB,+BAAgC,CAEhC,YAAa,CACb,kBAAmB,CAtItB,kSA0II,cAAe,CA1InB,yIAgJG,gBAAiB,CACjB,+BAAgC,CAChC,mBAAoB,CACpB,kBAAmB,CACnB,UC7GgB,CD8GhB,gBA9FkB,CAgGlB,SAAU,CAvJb,yEA2JG,qBAAsB,CACtB,4BAA6B,CAC7B,QAAS,CACT,SAAU,CAEV,sBAAuB,CACvB,WAAY,CAGZ,cAAe,CAEf,0BAA2B,CAC3B,YAAa,CAvKhB,2DA6KE,iBAAkB,CAClB,UAAW,CACX,eAAgB,CAChB,yCAA0C,CAC1C,uCAAwC,CACxC,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAChB,2DAA4D,CArL9D,iFAuLG,UAAW,CACX,SAAU,CAxLb,8DA2LG,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,4BAA6B,CA9LhC,iIAiMI,cAAe,CAjMnB,mEAoMI,WAAY,CACZ,kBAAmB,CACnB,eAAgB,CAChB,sBAAuB,CACvB,QAAS,CACT,WAAY,CACZ,cAAe,CACf,0BAA2B,CAC3B,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,mBAAoB,CACpB,kBAAmB,CACnB,4BAA6B,CAC7B,+BAAgC,CAChC,UAAW,CApNf,2EAuNK,WAAY,CACZ,2BAA4B,CAC5B,0BAA2B,CAC3B,cAAe,CACf,eAAgB,CAChB,aAAc,CACd,UCvLgB,CDwLhB,gBAAiB,CACjB,iBAAkB,CA/NvB,iGAkOK,6CAA8C,CAC9C,UC7LgB,CDtCrB,kGAsOK,4BAA6B,CAC7B,6CAA8C,CAvOnD,qHA0OK,UAAW,CA1OhB,8NA+OM,kBAAmB,CA/OzB,8EAuPE,WAAY,CACZ,kBAAmB,CAxPrB,sEA+PG,cAAe,CA/PlB,iGAoQI,0CAA2C,CApQ/C,uHA2QK,oCAAqC,CACrC,kBAAmB,CA5QxB,+FAoRE,YAAa,CApRf,6IA2RG,4BAA6B\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n// scoping is not working inside the Multiselect.vue component\\n// as the nested properties are not inside it\\n// Therefore we need to use an external scoping\\n.multiselect[data-v-#{$scope_version}] {\\n\\tmargin: 0;\\n\\tpadding: 0 !important;\\n\\tdisplay: inline-block;\\n\\t/* override this rule with your width styling if you need */\\n\\tmin-width: 160px;\\n\\tposition: relative;\\n\\tbackground-color: var(--color-main-background);\\n\\n\\t/* Force single multiselect value to be shown when not active */\\n\\t&:not(.multiselect--active) .multiselect__single {\\n\\t\\twidth: 100%;\\n\\t\\tz-index: 2 !important;\\n\\t}\\n\\n\\t// active state, force the input to be shown, we don't want\\n\\t// the placeholder or the currently selected options\\n\\t&.multiselect--active {\\n\\t\\t/* Opened: force display the input */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\tcursor: text !important;\\n\\t\\t\\t// remove border radius on bottom opening\\n\\t\\t\\tborder-radius: var(--border-radius) var(--border-radius) 0 0;\\n\\t\\t\\tdisplay: block !important;\\n\\t\\t}\\n\\n\\t\\t/* multiselect__limit hidden if active */\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove radius on top opening\\n\\t&.multiselect--active.multiselect--above {\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t}\\n\\t}\\n\\n\\t// disabled state background\\n\\t&.multiselect--disabled,\\n\\t&.multiselect--disabled .multiselect__single {\\n\\t\\tbackground-color: var(--color-background-dark) !important;\\n\\t}\\n\\n\\t// loading state\\n\\t&.icon-loading-small::after {\\n\\t\\tleft: 100%;\\n\\t\\tmargin-left: -24px;\\n\\t}\\n\\n\\t// multiple selected options display\\n\\t.multiselect__tags {\\n\\t\\t/* space between tags and limit tag */\\n\\t\\t$space-between: 5px;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tcursor: pointer;\\n\\t\\tposition: relative;\\n\\t\\tborder-radius: 3px;\\n\\t\\tmin-height: 34px;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* tag wrapper */\\n\\t\\t.multiselect__tags-wrap {\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 3px $space-between;\\n\\t\\t\\tflex: 1 1;\\n\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t/* no tags or simple select? Show input directly\\n\\t\\t\\tinput is used to display single value */\\n\\t\\t\\t&:empty ~ input.multiselect__input {\\n\\t\\t\\t\\topacity: $opacity_full !important;\\n\\t\\t\\t\\tdisplay: block !important;\\n\\t\\t\\t\\t/* hide default empty text like .multiselect__placeholder,\\n\\t\\t\\t\\tand show input instead. It looks better without a transition between\\n\\t\\t\\t\\ta span and the input that have different styling */\\n\\t\\t\\t\\t+ span:not(.multiselect__single) {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t/* selected tag */\\n\\t\\t\\t.multiselect__tag {\\n\\t\\t\\t\\tline-height: 20px;\\n\\t\\t\\t\\tpadding: 3px 5px;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tborder-radius: 3px;\\n\\t\\t\\t\\t/* require to override the default width\\n\\t\\t\\t\\tand force the tag to shring properly */\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: fit-content;\\n\\t\\t\\t\\tmax-width: -moz-fit-content;\\n\\t\\t\\t\\tmargin: 2px 1px;\\n\\t\\t\\t\\t/* css hack, detect if more than two tags\\n\\t\\t\\t\\tif so, flex-basis is set to half */\\n\\t\\t\\t\\t&:only-child {\\n\\t\\t\\t\\t\\tflex: 0 1 auto;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(:last-child) {\\n\\t\\t\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t/* ellipsis the groups to be sure\\n\\t\\t\\t\\twe display at least two of them */\\n\\t\\t\\t\\t> span {\\n\\t\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Single select default value\\n\\t\\tor default placeholder if search disabled*/\\n\\t\\t.multiselect__single,\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tpadding: 7px 6px; // like the input\\n\\t\\t\\tflex: 0 0 100%;\\n\\t\\t\\tz-index: 1; /* above input */\\n\\t\\t\\tbackground-color: var(--color-main-background);\\n\\t\\t\\tline-height: 18px; // 32px - 2*6px (padding) - 2*1px (border)\\n\\t\\t\\tcolor: var(--color-text-lighter); // like the input\\n\\t\\t\\t// Align content and make the flow smoother\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t// Anything inside will trigger the select opening\\n\\t\\t\\t&, * {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t/* displayed text if tag limit reached */\\n\\t\\t.multiselect__strong,\\n\\t\\t.multiselect__limit {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\tmargin-right: $space-between;\\n\\t\\t\\t/* above the input */\\n\\t\\t\\tz-index: 5;\\n\\t\\t}\\n\\t\\t/* default multiselect input for search and placeholder */\\n\\t\\tinput.multiselect__input {\\n\\t\\t\\twidth: 100% !important;\\n\\t\\t\\tposition: relative !important;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\topacity: 0;\\n\\t\\t\\t/* let's leave it on top of tags but hide it */\\n\\t\\t\\theight: 100% !important;\\n\\t\\t\\tborder: none;\\n\\t\\t\\t/* override hide to force show the placeholder */\\n\\t\\t\\t/* only when not active */\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t/* override inline styling of the lib */\\n\\t\\t\\tpadding: 7px 6px !important;\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* results wrapper */\\n\\t.multiselect__content-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-top: -1px;\\n\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\tbackground: var(--color-main-background);\\n\\t\\tz-index: 50;\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\t.multiselect__content {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\tli {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&,\\n\\t\\t\\tspan {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t> span {\\n\\t\\t\\t\\tpadding: 8px;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t\\theight: auto;\\n\\t\\t\\t\\tmin-height: 1em;\\n\\t\\t\\t\\t-webkit-touch-callout: none;\\n\\t\\t\\t\\t-webkit-user-select: none;\\n\\t\\t\\t\\t-moz-user-select: none;\\n\\t\\t\\t\\t-ms-user-select: none;\\n\\t\\t\\t\\tuser-select: none;\\n\\t\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\t\\talign-items: center;\\n\\t\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\t/* selected checkmark icon */\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tcontent: ' ';\\n\\t\\t\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\t\\t\\tbackground-position: center;\\n\\t\\t\\t\\t\\tmin-width: 16px;\\n\\t\\t\\t\\t\\tmin-height: 16px;\\n\\t\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t\\t\\tvisibility: hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--disabled {\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--highlight {\\n\\t\\t\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover::before {\\n\\t\\t\\t\\t\\topacity: .3;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t&.multiselect__option--selected,\\n\\t\\t\\t\\t&:not(.multiselect__option--disabled):hover {\\n\\t\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t/* ABOVE display */\\n\\t&.multiselect--above .multiselect__content-wrapper {\\n\\t\\tbottom: 100%;\\n\\t\\tmargin-bottom: -1px;\\n\\t}\\n\\n\\t/* Icon before option select */\\n\\t&.multiselect--multiple {\\n\\t\\t// push the input after the tag list\\n\\t\\t.multiselect__tags {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t.multiselect__content-wrapper li > span {\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tbackground-image: var(--icon-checkmark-000);\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* add the prop tag-placeholder=\\\"create\\\" to add the +\\n\\t\\t\\ticon on top of an unknown-and-ready-to-be-created entry */\\n\\t\\t\\t&[data-select='create'] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground-image: var(--icon-add-000);\\n\\t\\t\\t\\t\\tvisibility: visible;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* No need for an icon here */\\n\\t&.multiselect--single .multiselect__content-wrapper li > span::before {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t/* Mouse feedback */\\n\\t&:hover,\\n\\tinput.multiselect__input {\\n\\t\\t.multiselect__placeholder {\\n\\t\\t\\tcolor: var(--color-main-text);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){t.exports=require(\"vue-multiselect\")}])}));\n//# sourceMappingURL=Multiselect.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.encodePath = encodePath;\nexports.basename = basename;\nexports.dirname = dirname;\nexports.joinPaths = joinPaths;\nexports.isSamePath = isSamePath;\n\nrequire(\"core-js/modules/es.string.replace.js\");\n\n/**\n * URI-Encodes a file path but keep the path slashes.\n */\nfunction encodePath(path) {\n if (!path) {\n return path;\n }\n\n return path.split('/').map(encodeURIComponent).join('/');\n}\n/**\n * Returns the base name of the given path.\n * For example for \"/abc/somefile.txt\" it will return \"somefile.txt\"\n */\n\n\nfunction basename(path) {\n return path.replace(/\\\\/g, '/').replace(/.*\\//, '');\n}\n/**\n * Returns the dir name of the given path.\n * For example for \"/abc/somefile.txt\" it will return \"/abc\"\n */\n\n\nfunction dirname(path) {\n return path.replace(/\\\\/g, '/').replace(/\\/[^\\/]*$/, '');\n}\n/**\n * Join path sections\n */\n\n\nfunction joinPaths(...args) {\n if (arguments.length < 1) {\n return '';\n } // discard empty arguments\n\n\n const nonEmptyArgs = args.filter(arg => arg.length > 0);\n\n if (nonEmptyArgs.length < 1) {\n return '';\n }\n\n const lastArg = nonEmptyArgs[nonEmptyArgs.length - 1];\n const leadingSlash = nonEmptyArgs[0].charAt(0) === '/';\n const trailingSlash = lastArg.charAt(lastArg.length - 1) === '/';\n const sections = nonEmptyArgs.reduce((acc, section) => acc.concat(section.split('/')), []);\n let first = !leadingSlash;\n const path = sections.reduce((acc, section) => {\n if (section === '') {\n return acc;\n }\n\n if (first) {\n first = false;\n return acc + section;\n }\n\n return acc + '/' + section;\n }, '');\n\n if (trailingSlash) {\n // add it back\n return path + '/';\n }\n\n return path;\n}\n/**\n * Returns whether the given paths are the same, without\n * leading, trailing or doubled slashes and also removing\n * the dot sections.\n */\n\n\nfunction isSamePath(path1, path2) {\n const pathSections1 = (path1 || '').split('/').filter(p => p !== '.');\n const pathSections2 = (path2 || '').split('/').filter(p => p !== '.');\n path1 = joinPaths.apply(undefined, pathSections1);\n path2 = joinPaths.apply(undefined, pathSections2);\n return path1 === path2;\n}\n//# sourceMappingURL=index.js.map","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","!function(t,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/ActionRadio\",[],n):\"object\"==typeof exports?exports[\"Components/ActionRadio\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/ActionRadio\"]=n())}(window,(function(){return function(t){var n={};function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var i in t)e.d(o,i,function(n){return t[n]}.bind(null,i));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=207)}({0:function(t,n,e){\"use strict\";function o(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==e)return;var o,i,a=[],r=!0,c=!1;try{for(e=e.call(t);!(r=(o=e.next()).done)&&(a.push(o.value),!n||a.length!==n);r=!0);}catch(t){c=!0,i=t}finally{try{r||null==e.return||e.return()}finally{if(c)throw i}}return a}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return i(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return i(t,n)}(t,n)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,o=new Array(n);e<n;e++)o[e]=t[e];return o}t.exports=function(t){var n=o(t,4),e=n[1],i=n[3];if(!i)return e;if(\"function\"==typeof btoa){var a=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(a),c=\"/*# \".concat(r,\" */\"),s=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[e].concat(s).concat([c]).join(\"\\n\")}return[e].join(\"\\n\")}},1:function(t,n,e){\"use strict\";t.exports=function(t){var n=[];return n.toString=function(){return this.map((function(n){var e=t(n);return n[2]?\"@media \".concat(n[2],\" {\").concat(e,\"}\"):e})).join(\"\")},n.i=function(t,e,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var a=0;a<this.length;a++){var r=this[a][0];null!=r&&(i[r]=!0)}for(var c=0;c<t.length;c++){var s=[].concat(t[c]);o&&i[s[0]]||(e&&(s[2]?s[2]=\"\".concat(e,\" and \").concat(s[2]):s[2]=e),n.push(s))}},n}},132:function(t,n,e){\"use strict\";var o=e(0),i=e.n(o),a=e(1),r=e.n(a)()(i.a);r.push([t.i,\".material-design-icon[data-v-047cd0d4]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-047cd0d4]{background-color:var(--color-background-hover)}.action--disabled[data-v-047cd0d4]{pointer-events:none;opacity:.5}.action--disabled[data-v-047cd0d4]:hover,.action--disabled[data-v-047cd0d4]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-047cd0d4]{opacity:1 !important}.action-radio[data-v-047cd0d4]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;cursor:pointer;white-space:nowrap;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;line-height:44px}.action-radio__radio[data-v-047cd0d4]{position:absolute;top:auto;left:-10000px;overflow:hidden;width:1px;height:1px}.action-radio__radio:focus+.action-radio__label[data-v-047cd0d4]{opacity:1}.action-radio__label[data-v-047cd0d4]{display:flex;align-items:center;width:100%;padding:0 !important;padding-right:14px !important;opacity:.7}.action-radio__label[data-v-047cd0d4]::before{margin:0 14px 0 !important}.action-radio--disabled[data-v-047cd0d4],.action-radio--disabled .action-radio__label[data-v-047cd0d4]{cursor:pointer}.action-radio:not(.action-radio--disabled):hover .action-radio__label[data-v-047cd0d4],.action-radio:not(.action-radio--disabled):focus .action-radio__label[data-v-047cd0d4]{opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\",\"webpack://./ActionRadio.vue\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CEgHxB,+BACC,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CAEV,cAAe,CACf,kBAAmB,CAEnB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,gBDlJoB,CCqJpB,sCACC,iBAAkB,CAClB,QAAS,CACT,aAAc,CAEd,eAAgB,CAEhB,SAAU,CACV,UAAW,CARX,iEAUC,SD5Ia,CC6Ib,sCAID,YAAa,CACb,kBAAmB,CAEnB,UAAW,CACX,oBAAqB,CACrB,6BAAsC,CAEtC,UDzJiB,CCiJjB,8CAYC,0BAA2B,CAC3B,uGAMA,cAAe,CAvDlB,8KA8DG,SD1Ka\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\",\"$scope_version:\\\"357763c\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../assets/action';\\n@include action-active;\\n@include action--disabled;\\n\\n.action-radio {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\n\\twidth: 100%;\\n\\theight: auto;\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\n\\tcursor: pointer;\\n\\twhite-space: nowrap;\\n\\n\\tcolor: var(--color-main-text);\\n\\tborder: 0;\\n\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\tbackground-color: transparent;\\n\\tbox-shadow: none;\\n\\n\\tfont-weight: normal;\\n\\tline-height: $clickable-area;\\n\\n\\t/* checkbox/radio fixes */\\n\\t&__radio {\\n\\t\\tposition: absolute;\\n\\t\\ttop: auto;\\n\\t\\tleft: -10000px;\\n\\n\\t\\toverflow: hidden;\\n\\n\\t\\twidth: 1px;\\n\\t\\theight: 1px;\\n\\t\\t&:focus + .action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center; // align radio to text\\n\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 !important;\\n\\t\\tpadding-right: $icon-margin !important;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\t// radio-width is 12px, border is 2\\n\\t\\t// (44 - 14 - 2) / 2 = 14\\n\\t\\t&::before {\\n\\t\\t\\tmargin: 0 14px 0 !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&--disabled {\\n\\t\\t&,\\n\\t\\t.action-radio__label {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.action-radio--disabled):hover,\\n\\t&:not(.action-radio--disabled):focus {\\n\\t\\t.action-radio__label {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),n.a=r},133:function(t,n){},17:function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},2:function(t,n,e){\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var t={};return function(n){if(void 0===t[n]){var e=document.querySelector(n);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}t[n]=e}return t[n]}}(),r=[];function c(t){for(var n=-1,e=0;e<r.length;e++)if(r[e].identifier===t){n=e;break}return n}function s(t,n){for(var e={},o=[],i=0;i<t.length;i++){var a=t[i],s=n.base?a[0]+n.base:a[0],l=e[s]||0,d=\"\".concat(s,\" \").concat(l);e[s]=l+1;var u=c(d),p={css:a[1],media:a[2],sourceMap:a[3]};-1!==u?(r[u].references++,r[u].updater(p)):r.push({identifier:d,updater:m(p,n),references:1}),o.push(d)}return o}function l(t){var n=document.createElement(\"style\"),o=t.attributes||{};if(void 0===o.nonce){var i=e.nc;i&&(o.nonce=i)}if(Object.keys(o).forEach((function(t){n.setAttribute(t,o[t])})),\"function\"==typeof t.insert)t.insert(n);else{var r=a(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(n)}return n}var d,u=(d=[],function(t,n){return d[t]=n,d.filter(Boolean).join(\"\\n\")});function p(t,n,e,o){var i=e?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(t.styleSheet)t.styleSheet.cssText=u(n,i);else{var a=document.createTextNode(i),r=t.childNodes;r[n]&&t.removeChild(r[n]),r.length?t.insertBefore(a,r[n]):t.appendChild(a)}}function f(t,n,e){var o=e.css,i=e.media,a=e.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),a&&\"undefined\"!=typeof btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),t.styleSheet)t.styleSheet.cssText=o;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(o))}}var h=null,b=0;function m(t,n){var e,o,i;if(n.singleton){var a=b++;e=h||(h=l(n)),o=p.bind(null,e,a,!1),i=p.bind(null,e,a,!0)}else e=l(n),o=f.bind(null,e,n),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)};return o(t),function(n){if(n){if(n.css===t.css&&n.media===t.media&&n.sourceMap===t.sourceMap)return;o(t=n)}else i()}}t.exports=function(t,n){(n=n||{}).singleton||\"boolean\"==typeof n.singleton||(n.singleton=i());var e=s(t=t||[],n);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=0;o<e.length;o++){var i=c(e[o]);r[i].references--}for(var a=s(t,n),l=0;l<e.length;l++){var d=c(e[l]);0===r[d].references&&(r[d].updater(),r.splice(d,1))}e=a}}}},207:function(t,n,e){\"use strict\";e.r(n);var o=e(27),i=e(17),a={name:\"ActionRadio\",mixins:[o.a],props:{id:{type:String,default:function(){return\"action-\"+Object(i.a)()},validator:function(t){return\"\"!==t.trim()}},checked:{type:Boolean,default:!1},name:{type:String,required:!0},value:{type:[String,Number],default:\"\"},disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}},methods:{toggleInput:function(t){this.$refs.label.click()},onChange:function(t){this.$emit(\"update:checked\",this.$refs.radio.checked),this.$emit(\"change\",t)}}},r=e(2),c=e.n(r),s=e(132),l={insert:\"head\",singleton:!1},d=(c()(s.a,l),s.a.locals,e(3)),u=e(133),p=e.n(u),f=Object(d.a)(a,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"span\",{staticClass:\"action-radio\"},[e(\"input\",{ref:\"radio\",staticClass:\"radio action-radio__radio\",class:{focusable:t.isFocusable},attrs:{id:t.id,disabled:t.disabled,name:t.name,type:\"radio\"},domProps:{checked:t.checked,value:t.value},on:{keydown:function(n){return!n.type.indexOf(\"key\")&&t._k(n.keyCode,\"enter\",13,n.key,\"Enter\")||n.ctrlKey||n.shiftKey||n.altKey||n.metaKey?null:(n.preventDefault(),t.toggleInput(n))},change:t.onChange}}),t._v(\" \"),e(\"label\",{ref:\"label\",staticClass:\"action-radio__label\",attrs:{for:t.id}},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"047cd0d4\",null);\"function\"==typeof p.a&&p()(f);var h=f.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.default=h},27:function(t,n,e){\"use strict\";var o=e(6),i=e.n(o);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */n.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},3:function(t,n,e){\"use strict\";function o(t,n,e,o,i,a,r,c){var s,l=\"function\"==typeof t?t.options:t;if(n&&(l.render=n,l.staticRenderFns=e,l._compiled=!0),o&&(l.functional=!0),a&&(l._scopeId=\"data-v-\"+a),r?(s=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},l._ssrRegister=s):i&&(s=c?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(l.functional){l._injectStyles=s;var d=l.render;l.render=function(t,n){return s.call(n),d(t,n)}}else{var u=l.beforeCreate;l.beforeCreate=u?[].concat(u,s):[s]}return{exports:t,options:l}}e.d(n,\"a\",(function(){return o}))},6:function(t,n){t.exports=require(\"vue\")}})}));\n//# sourceMappingURL=ActionRadio.js.map","/*!\n * clipboard.js v2.0.8\n * https://clipboardjs.com/\n *\n * Licensed MIT © Zeno Rocha\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={134:function(t,e,n){\"use strict\";n.d(e,{default:function(){return r}});var e=n(279),i=n.n(e),e=n(370),a=n.n(e),e=n(817),o=n.n(e);function c(t){return(c=\"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})(t)}function u(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var l=function(){function e(t){!function(t){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this),this.resolveOptions(t),this.initSelection()}var t,n,r;return t=e,(n=[{key:\"resolveOptions\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=\"\"}},{key:\"initSelection\",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:\"createFakeElement\",value:function(){var t=\"rtl\"===document.documentElement.getAttribute(\"dir\");this.fakeElem=document.createElement(\"textarea\"),this.fakeElem.style.fontSize=\"12pt\",this.fakeElem.style.border=\"0\",this.fakeElem.style.padding=\"0\",this.fakeElem.style.margin=\"0\",this.fakeElem.style.position=\"absolute\",this.fakeElem.style[t?\"right\":\"left\"]=\"-9999px\";t=window.pageYOffset||document.documentElement.scrollTop;return this.fakeElem.style.top=\"\".concat(t,\"px\"),this.fakeElem.setAttribute(\"readonly\",\"\"),this.fakeElem.value=this.text,this.fakeElem}},{key:\"selectFake\",value:function(){var t=this,e=this.createFakeElement();this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener(\"click\",this.fakeHandlerCallback)||!0,this.container.appendChild(e),this.selectedText=o()(e),this.copyText(),this.removeFake()}},{key:\"removeFake\",value:function(){this.fakeHandler&&(this.container.removeEventListener(\"click\",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:\"selectTarget\",value:function(){this.selectedText=o()(this.target),this.copyText()}},{key:\"copyText\",value:function(){var e;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:\"handleResult\",value:function(t){this.emitter.emit(t?\"success\":\"error\",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:\"clearSelection\",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:\"destroy\",value:function(){this.removeFake()}},{key:\"action\",set:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:\"copy\";if(this._action=t,\"copy\"!==this._action&&\"cut\"!==this._action)throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"')},get:function(){return this._action}},{key:\"target\",set:function(t){if(void 0!==t){if(!t||\"object\"!==c(t)||1!==t.nodeType)throw new Error('Invalid \"target\" value, use a valid Element');if(\"copy\"===this.action&&t.hasAttribute(\"disabled\"))throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');if(\"cut\"===this.action&&(t.hasAttribute(\"readonly\")||t.hasAttribute(\"disabled\")))throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');this._target=t}},get:function(){return this._target}}])&&u(t.prototype,n),r&&u(t,r),e}();function s(t){return(s=\"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})(t)}function f(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function h(t,e){return(h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function d(n){var r=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}();return function(){var t,e=p(n);return t=r?(t=p(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments),e=this,!(t=t)||\"object\"!==s(t)&&\"function\"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\")}(e):t}}function p(t){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function y(t,e){t=\"data-clipboard-\".concat(t);if(e.hasAttribute(t))return e.getAttribute(t)}var r=function(){!function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}(o,i());var t,e,n,r=d(o);function o(t,e){var n;return function(t){if(!(t instanceof o))throw new TypeError(\"Cannot call a class as a function\")}(this),(n=r.call(this)).resolveOptions(e),n.listenClick(t),n}return t=o,n=[{key:\"isSupported\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[\"copy\",\"cut\"],t=\"string\"==typeof t?[t]:t,e=!!document.queryCommandSupported;return t.forEach(function(t){e=e&&!!document.queryCommandSupported(t)}),e}}],(e=[{key:\"resolveOptions\",value:function(){var t=0<arguments.length&&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\"===s(t.container)?t.container:document.body}},{key:\"listenClick\",value:function(t){var e=this;this.listener=a()(t,\"click\",function(t){return e.onClick(t)})}},{key:\"onClick\",value:function(t){t=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l({action:this.action(t),target:this.target(t),text:this.text(t),container:this.container,trigger:t,emitter:this})}},{key:\"defaultAction\",value:function(t){return y(\"action\",t)}},{key:\"defaultTarget\",value:function(t){t=y(\"target\",t);if(t)return document.querySelector(t)}},{key:\"defaultText\",value:function(t){return y(\"text\",t)}},{key:\"destroy\",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}])&&f(t.prototype,e),n&&f(t,n),o}()},828:function(t){var e;\"undefined\"==typeof Element||Element.prototype.matches||((e=Element.prototype).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,n){var a=n(828);function i(t,e,n,r,o){var i=function(e,n,t,r){return function(t){t.delegateTarget=a(t.target,n),t.delegateTarget&&r.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,o),{destroy:function(){t.removeEventListener(n,i,o)}}}t.exports=function(t,e,n,r,o){return\"function\"==typeof t.addEventListener?i.apply(null,arguments):\"function\"==typeof n?i.bind(null,document).apply(null,arguments):(\"string\"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,r,o)}))}},879:function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&(\"[object NodeList]\"===e||\"[object HTMLCollection]\"===e)&&\"length\"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return\"string\"==typeof t||t instanceof String},n.fn=function(t){return\"[object Function]\"===Object.prototype.toString.call(t)}},370:function(t,e,n){var l=n(879),s=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error(\"Missing required arguments\");if(!l.string(e))throw new TypeError(\"Second argument must be a String\");if(!l.fn(n))throw new TypeError(\"Third argument must be a Function\");if(l.node(t))return c=e,u=n,(a=t).addEventListener(c,u),{destroy:function(){a.removeEventListener(c,u)}};if(l.nodeList(t))return r=t,o=e,i=n,Array.prototype.forEach.call(r,function(t){t.addEventListener(o,i)}),{destroy:function(){Array.prototype.forEach.call(r,function(t){t.removeEventListener(o,i)})}};if(l.string(t))return t=t,e=e,n=n,s(document.body,t,e,n);throw new TypeError(\"First argument must be a String, HTMLElement, HTMLCollection, or NodeList\");var r,o,i,a,c,u}},817:function(t){t.exports=function(t){var e,n=\"SELECT\"===t.nodeName?(t.focus(),t.value):\"INPUT\"===t.nodeName||\"TEXTAREA\"===t.nodeName?((e=t.hasAttribute(\"readonly\"))||t.setAttribute(\"readonly\",\"\"),t.select(),t.setSelectionRange(0,t.value.length),e||t.removeAttribute(\"readonly\"),t.value):(t.hasAttribute(\"contenteditable\")&&t.focus(),n=window.getSelection(),(e=document.createRange()).selectNodeContents(t),n.removeAllRanges(),n.addRange(e),n.toString());return n}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var r=this.e||(this.e={});return(r[t]||(r[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var r=this;function o(){r.off(t,o),e.apply(n,arguments)}return o._=e,this.on(t,o,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),r=0,o=n.length;r<o;r++)n[r].fn.apply(n[r].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),r=n[t],o=[];if(r&&e)for(var i=0,a=r.length;i<a;i++)r[i].fn!==e&&r[i].fn._!==e&&o.push(r[i]);return o.length?n[t]=o:delete n[t],this}},t.exports=e,t.exports.TinyEmitter=e}},o={},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r(134).default;function r(t){if(o[t])return o[t].exports;var e=o[t]={exports:{}};return n[t](e,e.exports,r),e.exports}var n,o});","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","'use strict';\n\nvar get = require('lodash.get');\nvar plurals = require('./plurals');\n\nmodule.exports = Gettext;\n\n/**\n * Creates and returns a new Gettext instance.\n *\n * @constructor\n * @param {Object} [options] A set of options\n * @param {String} options.sourceLocale The locale that the source code and its\n * texts are written in. Translations for\n * this locale is not necessary.\n * @param {Boolean} options.debug Whether to output debug info into the\n * console.\n * @return {Object} A Gettext instance\n */\nfunction Gettext(options) {\n options = options || {};\n\n this.catalogs = {};\n this.locale = '';\n this.domain = 'messages';\n\n this.listeners = [];\n\n // Set source locale\n this.sourceLocale = '';\n if (options.sourceLocale) {\n if (typeof options.sourceLocale === 'string') {\n this.sourceLocale = options.sourceLocale;\n }\n else {\n this.warn('The `sourceLocale` option should be a string');\n }\n }\n\n // Set debug flag\n this.debug = 'debug' in options && options.debug === true;\n}\n\n/**\n * Adds an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback An event handler function\n */\nGettext.prototype.on = function(eventName, callback) {\n this.listeners.push({\n eventName: eventName,\n callback: callback\n });\n};\n\n/**\n * Removes an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback A previously registered event handler function\n */\nGettext.prototype.off = function(eventName, callback) {\n this.listeners = this.listeners.filter(function(listener) {\n return (\n listener.eventName === eventName &&\n listener.callback === callback\n ) === false;\n });\n};\n\n/**\n * Emits an event to all registered event listener.\n *\n * @private\n * @param {String} eventName An event name\n * @param {any} eventData Data to pass to event listeners\n */\nGettext.prototype.emit = function(eventName, eventData) {\n for (var i = 0; i < this.listeners.length; i++) {\n var listener = this.listeners[i];\n if (listener.eventName === eventName) {\n listener.callback(eventData);\n }\n }\n};\n\n/**\n * Logs a warning to the console if debug mode is enabled.\n *\n * @ignore\n * @param {String} message A warning message\n */\nGettext.prototype.warn = function(message) {\n if (this.debug) {\n console.warn(message);\n }\n\n this.emit('error', new Error(message));\n};\n\n/**\n * Stores a set of translations in the set of gettext\n * catalogs.\n *\n * @example\n * gt.addTranslations('sv-SE', 'messages', translationsObject)\n *\n * @param {String} locale A locale string\n * @param {String} domain A domain name\n * @param {Object} translations An object of gettext-parser JSON shape\n */\nGettext.prototype.addTranslations = function(locale, domain, translations) {\n if (!this.catalogs[locale]) {\n this.catalogs[locale] = {};\n }\n\n this.catalogs[locale][domain] = translations;\n};\n\n/**\n * Sets the locale to get translated messages for.\n *\n * @example\n * gt.setLocale('sv-SE')\n *\n * @param {String} locale A locale\n */\nGettext.prototype.setLocale = function(locale) {\n if (typeof locale !== 'string') {\n this.warn(\n 'You called setLocale() with an argument of type ' + (typeof locale) + '. ' +\n 'The locale must be a string.'\n );\n return;\n }\n\n if (locale.trim() === '') {\n this.warn('You called setLocale() with an empty value, which makes little sense.');\n }\n\n if (locale !== this.sourceLocale && !this.catalogs[locale]) {\n this.warn('You called setLocale() with \"' + locale + '\", but no translations for that locale has been added.');\n }\n\n this.locale = locale;\n};\n\n/**\n * Sets the default gettext domain.\n *\n * @example\n * gt.setTextDomain('domainname')\n *\n * @param {String} domain A gettext domain name\n */\nGettext.prototype.setTextDomain = function(domain) {\n if (typeof domain !== 'string') {\n this.warn(\n 'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' +\n 'The domain must be a string.'\n );\n return;\n }\n\n if (domain.trim() === '') {\n this.warn('You called setTextDomain() with an empty `domain` value.');\n }\n\n this.domain = domain;\n};\n\n/**\n * Translates a string using the default textdomain\n *\n * @example\n * gt.gettext('Some text')\n *\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.gettext = function(msgid) {\n return this.dnpgettext(this.domain, '', msgid);\n};\n\n/**\n * Translates a string using a specific domain\n *\n * @example\n * gt.dgettext('domainname', 'Some text')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dgettext = function(domain, msgid) {\n return this.dnpgettext(domain, '', msgid);\n};\n\n/**\n * Translates a plural string using the default textdomain\n *\n * @example\n * gt.ngettext('One thing', 'Many things', numberOfThings)\n *\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.ngettext = function(msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string using a specific textdomain\n *\n * @example\n * gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) {\n return this.dnpgettext(domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a string from a specific context using the default textdomain\n *\n * @example\n * gt.pgettext('sports', 'Back')\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.pgettext = function(msgctxt, msgid) {\n return this.dnpgettext(this.domain, msgctxt, msgid);\n};\n\n/**\n * Translates a string from a specific context using s specific textdomain\n *\n * @example\n * gt.dpgettext('domainname', 'sports', 'Back')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dpgettext = function(domain, msgctxt, msgid) {\n return this.dnpgettext(domain, msgctxt, msgid);\n};\n\n/**\n * Translates a plural string from a specific context using the default textdomain\n *\n * @example\n * gt.npgettext('sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string from a specifi context using a specific textdomain\n *\n * @example\n * gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @param {String} msgidPlural If no translation was found, return this on count!=1\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) {\n var defaultTranslation = msgid;\n var translation;\n var index;\n\n msgctxt = msgctxt || '';\n\n if (!isNaN(count) && count !== 1) {\n defaultTranslation = msgidPlural || msgid;\n }\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n\n if (translation) {\n if (typeof count === 'number') {\n var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc;\n index = pluralsFunc(count);\n if (typeof index === 'boolean') {\n index = index ? 1 : 0;\n }\n } else {\n index = 0;\n }\n\n return translation.msgstr[index] || defaultTranslation;\n }\n else if (!this.sourceLocale || this.locale !== this.sourceLocale) {\n this.warn('No translation was found for msgid \"' + msgid + '\" in msgctxt \"' + msgctxt + '\" and domain \"' + domain + '\"');\n }\n\n return defaultTranslation;\n};\n\n/**\n * Retrieves comments object for a translation. The comments object\n * has the shape `{ translator, extracted, reference, flag, previous }`.\n *\n * @example\n * const comment = gt.getComment('domainname', 'sports', 'Backs')\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Comments object or false if not found\n */\nGettext.prototype.getComment = function(domain, msgctxt, msgid) {\n var translation;\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n if (translation) {\n return translation.comments || {};\n }\n\n return {};\n};\n\n/**\n * Retrieves translation object from the domain and context\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Translation object or false if not found\n */\nGettext.prototype._getTranslation = function(domain, msgctxt, msgid) {\n msgctxt = msgctxt || '';\n\n return get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]);\n};\n\n/**\n * Returns the language code part of a locale\n *\n * @example\n * Gettext.getLanguageCode('sv-SE')\n * // -> \"sv\"\n *\n * @private\n * @param {String} locale A case-insensitive locale string\n * @returns {String} A language code\n */\nGettext.getLanguageCode = function(locale) {\n return locale.split(/[\\-_]/)[0].toLowerCase();\n};\n\n/* C-style aliases */\n\n/**\n * C-style alias for [setTextDomain](#gettextsettextdomaindomain)\n *\n * @see Gettext#setTextDomain\n */\nGettext.prototype.textdomain = function(domain) {\n if (this.debug) {\n console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' +\n 'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\\n\\n ' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\\n\\n' +\n 'This warning will be removed in the final 2.0.0');\n }\n\n this.setTextDomain(domain);\n};\n\n/**\n * C-style alias for [setLocale](#gettextsetlocalelocale)\n *\n * @see Gettext#setLocale\n */\nGettext.prototype.setlocale = function(locale) {\n this.setLocale(locale);\n};\n\n/* Deprecated functions */\n\n/**\n * This function will be removed in the final 2.0.0 release.\n *\n * @deprecated\n */\nGettext.prototype.addTextdomain = function() {\n console.error('addTextdomain() is deprecated.\\n\\n' +\n '* To add translations, use addTranslations()\\n' +\n '* To set the default domain, use setTextDomain() (or its alias textdomain())\\n' +\n '\\n' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x');\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","'use strict';\n\nmodule.exports = {\n ach: {\n name: 'Acholi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n af: {\n name: 'Afrikaans',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ak: {\n name: 'Akan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n am: {\n name: 'Amharic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n an: {\n name: 'Aragonese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ar: {\n name: 'Arabic',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }, {\n plural: 3,\n sample: 3\n }, {\n plural: 4,\n sample: 11\n }, {\n plural: 5,\n sample: 100\n }],\n nplurals: 6,\n pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n }\n },\n arn: {\n name: 'Mapudungun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ast: {\n name: 'Asturian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ay: {\n name: 'Aymará',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n az: {\n name: 'Azerbaijani',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n be: {\n name: 'Belarusian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n bg: {\n name: 'Bulgarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bn: {\n name: 'Bengali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bo: {\n name: 'Tibetan',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n br: {\n name: 'Breton',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n brx: {\n name: 'Bodo',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bs: {\n name: 'Bosnian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ca: {\n name: 'Catalan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n cgg: {\n name: 'Chiga',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n cs: {\n name: 'Czech',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n csb: {\n name: 'Kashubian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n cy: {\n name: 'Welsh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 8\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3);\n }\n },\n da: {\n name: 'Danish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n de: {\n name: 'German',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n doi: {\n name: 'Dogri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n dz: {\n name: 'Dzongkha',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n el: {\n name: 'Greek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n en: {\n name: 'English',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eo: {\n name: 'Esperanto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n es: {\n name: 'Spanish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n et: {\n name: 'Estonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eu: {\n name: 'Basque',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fa: {\n name: 'Persian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ff: {\n name: 'Fulah',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fi: {\n name: 'Finnish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fil: {\n name: 'Filipino',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fo: {\n name: 'Faroese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fr: {\n name: 'French',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fur: {\n name: 'Friulian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fy: {\n name: 'Frisian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ga: {\n name: 'Irish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 7\n }, {\n plural: 4,\n sample: 11\n }],\n nplurals: 5,\n pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n }\n },\n gd: {\n name: 'Scottish Gaelic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)',\n pluralsFunc: function(n) {\n return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3);\n }\n },\n gl: {\n name: 'Galician',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gu: {\n name: 'Gujarati',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gun: {\n name: 'Gun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ha: {\n name: 'Hausa',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n he: {\n name: 'Hebrew',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hi: {\n name: 'Hindi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hne: {\n name: 'Chhattisgarhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hr: {\n name: 'Croatian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n hu: {\n name: 'Hungarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hy: {\n name: 'Armenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n id: {\n name: 'Indonesian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n is: {\n name: 'Icelandic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)',\n pluralsFunc: function(n) {\n return (n % 10 !== 1 || n % 100 === 11);\n }\n },\n it: {\n name: 'Italian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ja: {\n name: 'Japanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jbo: {\n name: 'Lojban',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jv: {\n name: 'Javanese',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 0)',\n pluralsFunc: function(n) {\n return (n !== 0);\n }\n },\n ka: {\n name: 'Georgian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kk: {\n name: 'Kazakh',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n km: {\n name: 'Khmer',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kn: {\n name: 'Kannada',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ko: {\n name: 'Korean',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ku: {\n name: 'Kurdish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n kw: {\n name: 'Cornish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 4\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3);\n }\n },\n ky: {\n name: 'Kyrgyz',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lb: {\n name: 'Letzeburgesch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ln: {\n name: 'Lingala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n lo: {\n name: 'Lao',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lt: {\n name: 'Lithuanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 10\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n lv: {\n name: 'Latvian',\n examples: [{\n plural: 2,\n sample: 0\n }, {\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2);\n }\n },\n mai: {\n name: 'Maithili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mfe: {\n name: 'Mauritian Creole',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mg: {\n name: 'Malagasy',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mi: {\n name: 'Maori',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mk: {\n name: 'Macedonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)',\n pluralsFunc: function(n) {\n return (n === 1 || n % 10 === 1 ? 0 : 1);\n }\n },\n ml: {\n name: 'Malayalam',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mn: {\n name: 'Mongolian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mni: {\n name: 'Manipuri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mnk: {\n name: 'Mandinka',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : 2);\n }\n },\n mr: {\n name: 'Marathi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ms: {\n name: 'Malay',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n mt: {\n name: 'Maltese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 11\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3);\n }\n },\n my: {\n name: 'Burmese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n nah: {\n name: 'Nahuatl',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nap: {\n name: 'Neapolitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nb: {\n name: 'Norwegian Bokmal',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ne: {\n name: 'Nepali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nl: {\n name: 'Dutch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nn: {\n name: 'Norwegian Nynorsk',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n no: {\n name: 'Norwegian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nso: {\n name: 'Northern Sotho',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n oc: {\n name: 'Occitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n or: {\n name: 'Oriya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pa: {\n name: 'Punjabi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pap: {\n name: 'Papiamento',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pl: {\n name: 'Polish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n pms: {\n name: 'Piemontese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ps: {\n name: 'Pashto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pt: {\n name: 'Portuguese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n rm: {\n name: 'Romansh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ro: {\n name: 'Romanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 20\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2);\n }\n },\n ru: {\n name: 'Russian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n rw: {\n name: 'Kinyarwanda',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sah: {\n name: 'Yakut',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sat: {\n name: 'Santali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sco: {\n name: 'Scots',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sd: {\n name: 'Sindhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n se: {\n name: 'Northern Sami',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n si: {\n name: 'Sinhala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sk: {\n name: 'Slovak',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n sl: {\n name: 'Slovenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 5\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3);\n }\n },\n so: {\n name: 'Somali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n son: {\n name: 'Songhay',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sq: {\n name: 'Albanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sr: {\n name: 'Serbian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n su: {\n name: 'Sundanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sv: {\n name: 'Swedish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sw: {\n name: 'Swahili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ta: {\n name: 'Tamil',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n te: {\n name: 'Telugu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tg: {\n name: 'Tajik',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n th: {\n name: 'Thai',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ti: {\n name: 'Tigrinya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tk: {\n name: 'Turkmen',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tr: {\n name: 'Turkish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tt: {\n name: 'Tatar',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ug: {\n name: 'Uyghur',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n uk: {\n name: 'Ukrainian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ur: {\n name: 'Urdu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n uz: {\n name: 'Uzbek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n vi: {\n name: 'Vietnamese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n wa: {\n name: 'Walloon',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n wo: {\n name: 'Wolof',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n yo: {\n name: 'Yoruba',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n zh: {\n name: 'Chinese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n }\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements -- TODO\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar nativeFetch = getBuiltIn('fetch');\nvar NativeRequest = getBuiltIn('Request');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = getIterator(init, iteratorMethod);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: $toString(init[key]) });\n } else {\n parseSearchParams(\n entries,\n typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : $toString(init)\n );\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: $toString(name), value: $toString(value) });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && typeof Headers == 'function') {\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (typeof nativeFetch == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (typeof NativeRequest == 'function') {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestConstructor, 'Request');\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, forced: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-indexof -- required for testing */\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\n\n// `Array.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\n\nexports.__esModule = true;\n\nvar _linkify = require('./linkify');\n\nvar linkify = _interopRequireWildcard(_linkify);\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 tokenize = linkify.tokenize,\n options = linkify.options; /**\n \tConvert strings of text into linkable HTML text\n */\n\nvar Options = options.Options;\n\n\nfunction escapeText(text) {\n\treturn text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\n\nfunction escapeAttr(href) {\n\treturn href.replace(/\"/g, '&quot;');\n}\n\nfunction attributesToString(attributes) {\n\tif (!attributes) {\n\t\treturn '';\n\t}\n\tvar result = [];\n\n\tfor (var attr in attributes) {\n\t\tvar val = attributes[attr] + '';\n\t\tresult.push(attr + '=\"' + escapeAttr(val) + '\"');\n\t}\n\treturn result.join(' ');\n}\n\nfunction linkifyStr(str) {\n\tvar opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\topts = new Options(opts);\n\n\tvar tokens = tokenize(str);\n\tvar result = [];\n\n\tfor (var i = 0; i < tokens.length; i++) {\n\t\tvar token = tokens[i];\n\n\t\tif (token.type === 'nl' && opts.nl2br) {\n\t\t\tresult.push('<br>\\n');\n\t\t\tcontinue;\n\t\t} else if (!token.isLink || !opts.check(token)) {\n\t\t\tresult.push(escapeText(token.toString()));\n\t\t\tcontinue;\n\t\t}\n\n\t\tvar _opts$resolve = opts.resolve(token),\n\t\t formatted = _opts$resolve.formatted,\n\t\t formattedHref = _opts$resolve.formattedHref,\n\t\t tagName = _opts$resolve.tagName,\n\t\t className = _opts$resolve.className,\n\t\t target = _opts$resolve.target,\n\t\t attributes = _opts$resolve.attributes;\n\n\t\tvar link = '<' + tagName + ' href=\"' + escapeAttr(formattedHref) + '\"';\n\n\t\tif (className) {\n\t\t\tlink += ' class=\"' + escapeAttr(className) + '\"';\n\t\t}\n\n\t\tif (target) {\n\t\t\tlink += ' target=\"' + escapeAttr(target) + '\"';\n\t\t}\n\n\t\tif (attributes) {\n\t\t\tlink += ' ' + attributesToString(attributes);\n\t\t}\n\n\t\tlink += '>' + escapeText(formatted) + '</' + tagName + '>';\n\t\tresult.push(link);\n\t}\n\n\treturn result.join('');\n}\n\nif (!String.prototype.linkify) {\n\ttry {\n\t\tObject.defineProperty(String.prototype, 'linkify', {\n\t\t\tset: function set() {},\n\t\t\tget: function get() {\n\t\t\t\treturn function linkify(opts) {\n\t\t\t\t\treturn linkifyStr(this, opts);\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t} catch (e) {\n\t\t// IE 8 doesn't like Object.defineProperty on non-DOM objects\n\t\tif (!String.prototype.linkify) {\n\t\t\tString.prototype.linkify = function (opts) {\n\t\t\t\treturn linkifyStr(this, opts);\n\t\t\t};\n\t\t}\n\t}\n}\n\nexports.default = linkifyStr;","'use strict';\n\nexports.__esModule = true;\nexports.tokenize = exports.test = exports.scanner = exports.parser = exports.options = exports.inherits = exports.find = undefined;\n\nvar _class = require('./linkify/utils/class');\n\nvar _options = require('./linkify/utils/options');\n\nvar options = _interopRequireWildcard(_options);\n\nvar _scanner = require('./linkify/core/scanner');\n\nvar scanner = _interopRequireWildcard(_scanner);\n\nvar _parser = require('./linkify/core/parser');\n\nvar parser = _interopRequireWildcard(_parser);\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\nif (!Array.isArray) {\n\tArray.isArray = function (arg) {\n\t\treturn Object.prototype.toString.call(arg) === '[object Array]';\n\t};\n}\n\n/**\n\tConverts a string into tokens that represent linkable and non-linkable bits\n\t@method tokenize\n\t@param {String} str\n\t@return {Array} tokens\n*/\nvar tokenize = function tokenize(str) {\n\treturn parser.run(scanner.run(str));\n};\n\n/**\n\tReturns a list of linkable items in the given string.\n*/\nvar find = function find(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\tvar filtered = [];\n\n\tfor (var i = 0; i < tokens.length; i++) {\n\t\tvar token = tokens[i];\n\t\tif (token.isLink && (!type || token.type === type)) {\n\t\t\tfiltered.push(token.toObject());\n\t\t}\n\t}\n\n\treturn filtered;\n};\n\n/**\n\tIs the given string valid linkable text of some sort\n\tNote that this does not trim the text for you.\n\n\tOptionally pass in a second `type` param, which is the type of link to test\n\tfor.\n\n\tFor example,\n\n\t\ttest(str, 'email');\n\n\tWill return `true` if str is a valid email.\n*/\nvar test = function test(str) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n\tvar tokens = tokenize(str);\n\treturn tokens.length === 1 && tokens[0].isLink && (!type || tokens[0].type === type);\n};\n\n// Scanner and parser provide states and tokens for the lexicographic stage\n// (will be used to add additional link types)\nexports.find = find;\nexports.inherits = _class.inherits;\nexports.options = options;\nexports.parser = parser;\nexports.scanner = scanner;\nexports.test = test;\nexports.tokenize = tokenize;","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar defaults = {\n\tdefaultProtocol: 'http',\n\tevents: null,\n\tformat: noop,\n\tformatHref: noop,\n\tnl2br: false,\n\ttagName: 'a',\n\ttarget: typeToTarget,\n\tvalidate: true,\n\tignoreTags: [],\n\tattributes: null,\n\tclassName: 'linkified' // Deprecated value - no default class will be provided in the future\n};\n\nexports.defaults = defaults;\nexports.Options = Options;\nexports.contains = contains;\n\n\nfunction Options(opts) {\n\topts = opts || {};\n\n\tthis.defaultProtocol = opts.hasOwnProperty('defaultProtocol') ? opts.defaultProtocol : defaults.defaultProtocol;\n\tthis.events = opts.hasOwnProperty('events') ? opts.events : defaults.events;\n\tthis.format = opts.hasOwnProperty('format') ? opts.format : defaults.format;\n\tthis.formatHref = opts.hasOwnProperty('formatHref') ? opts.formatHref : defaults.formatHref;\n\tthis.nl2br = opts.hasOwnProperty('nl2br') ? opts.nl2br : defaults.nl2br;\n\tthis.tagName = opts.hasOwnProperty('tagName') ? opts.tagName : defaults.tagName;\n\tthis.target = opts.hasOwnProperty('target') ? opts.target : defaults.target;\n\tthis.validate = opts.hasOwnProperty('validate') ? opts.validate : defaults.validate;\n\tthis.ignoreTags = [];\n\n\t// linkAttributes and linkClass is deprecated\n\tthis.attributes = opts.attributes || opts.linkAttributes || defaults.attributes;\n\tthis.className = opts.hasOwnProperty('className') ? opts.className : opts.linkClass || defaults.className;\n\n\t// Make all tags names upper case\n\tvar ignoredTags = opts.hasOwnProperty('ignoreTags') ? opts.ignoreTags : defaults.ignoreTags;\n\tfor (var i = 0; i < ignoredTags.length; i++) {\n\t\tthis.ignoreTags.push(ignoredTags[i].toUpperCase());\n\t}\n}\n\nOptions.prototype = {\n\t/**\n * Given the token, return all options for how it should be displayed\n */\n\tresolve: function resolve(token) {\n\t\tvar href = token.toHref(this.defaultProtocol);\n\t\treturn {\n\t\t\tformatted: this.get('format', token.toString(), token),\n\t\t\tformattedHref: this.get('formatHref', href, token),\n\t\t\ttagName: this.get('tagName', href, token),\n\t\t\tclassName: this.get('className', href, token),\n\t\t\ttarget: this.get('target', href, token),\n\t\t\tevents: this.getObject('events', href, token),\n\t\t\tattributes: this.getObject('attributes', href, token)\n\t\t};\n\t},\n\n\n\t/**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options. By default,\n */\n\tcheck: function check(token) {\n\t\treturn this.get('validate', token.toString(), token);\n\t},\n\n\n\t// Private methods\n\n\t/**\n * Resolve an option's value based on the value of the option and the given\n * params.\n * @param {String} key Name of option to use\n * @param operator will be passed to the target option if it's method\n * @param {MultiToken} token The token from linkify.tokenize\n */\n\tget: function get(key, operator, token) {\n\t\tvar optionValue = void 0,\n\t\t option = this[key];\n\t\tif (!option) {\n\t\t\treturn option;\n\t\t}\n\n\t\tswitch (typeof option === 'undefined' ? 'undefined' : _typeof(option)) {\n\t\t\tcase 'function':\n\t\t\t\treturn option(operator, token.type);\n\t\t\tcase 'object':\n\t\t\t\toptionValue = option.hasOwnProperty(token.type) ? option[token.type] : defaults[key];\n\t\t\t\treturn typeof optionValue === 'function' ? optionValue(operator, token.type) : optionValue;\n\t\t}\n\n\t\treturn option;\n\t},\n\tgetObject: function getObject(key, operator, token) {\n\t\tvar option = this[key];\n\t\treturn typeof option === 'function' ? option(operator, token.type) : option;\n\t}\n};\n\n/**\n * Quick indexOf replacement for checking the ignoreTags option\n */\nfunction contains(arr, value) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tif (arr[i] === value) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction noop(val) {\n\treturn val;\n}\n\nfunction typeToTarget(href, type) {\n\treturn type === 'url' ? '_blank' : null;\n}","'use strict';\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _text = require('./tokens/text');\n\nvar TOKENS = _interopRequireWildcard(_text);\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 tlds = 'aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|boots|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|chase|chat|cheap|chintai|chloe|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodhands|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|htc|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|iwc|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jlc|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|meo|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|panerai|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|spiegel|spot|spreadbetting|sr|srl|srt|st|stada|staples|star|starhub|statebank|statefarm|statoil|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telecity|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vista|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--30rr7y|xn--3bst00m|xn--3ds443g|xn--3e0b707e|xn--3hcrj9c|xn--3oq18vl8pn36a|xn--3pxu8k|xn--42c2d9a|xn--45br5cyl|xn--45brj9c|xn--45q11c|xn--4gbrim|xn--54b7fta0cc|xn--55qw42g|xn--55qx5d|xn--5su34j936bgsg|xn--5tzm5g|xn--6frz82g|xn--6qq986b3xl|xn--80adxhks|xn--80ao21a|xn--80aqecdr1a|xn--80asehdb|xn--80aswg|xn--8y0a063a|xn--90a3ac|xn--90ae|xn--90ais|xn--9dbq2a|xn--9et52u|xn--9krt00a|xn--b4w605ferd|xn--bck1b9a5dre4c|xn--c1avg|xn--c2br7g|xn--cck2b3b|xn--cg4bki|xn--clchc0ea0b2g2a9gcd|xn--czr694b|xn--czrs0t|xn--czru2d|xn--d1acj3b|xn--d1alf|xn--e1a4c|xn--eckvdtc9d|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fhbei|xn--fiq228c5hs|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--fjq720a|xn--flw351e|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--fzys8d69uvgm|xn--g2xx48c|xn--gckr3f0f|xn--gecrj9c|xn--gk3at1e|xn--h2breg3eve|xn--h2brj9c|xn--h2brj9c8c|xn--hxt814e|xn--i1b6b1a6a2e|xn--imr513n|xn--io0a7i|xn--j1aef|xn--j1amh|xn--j6w193g|xn--jlq61u9w7b|xn--jvr189m|xn--kcrx77d1x4a|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--kput3i|xn--l1acc|xn--lgbbat1ad8j|xn--mgb9awbf|xn--mgba3a3ejt|xn--mgba3a4f16a|xn--mgba7c0bbn0a|xn--mgbaakc7dvf|xn--mgbaam7a8h|xn--mgbab2bd|xn--mgbai9azgqp6j|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a|xn--mgbbh1a71e|xn--mgbc0a9azcg|xn--mgbca7dzdo|xn--mgberp4a5d4ar|xn--mgbgu82a|xn--mgbi4ecexp|xn--mgbpl2fh|xn--mgbt3dhd|xn--mgbtx2b|xn--mgbx4cd0ab|xn--mix891f|xn--mk1bu44c|xn--mxtq1m|xn--ngbc5azd|xn--ngbe9e0a|xn--ngbrx|xn--node|xn--nqv7f|xn--nqv7fs00ema|xn--nyqy26a|xn--o3cw4h|xn--ogbpf8fl|xn--p1acf|xn--p1ai|xn--pbt977c|xn--pgbs0dh|xn--pssy2u|xn--q9jyb4c|xn--qcka1pmc|xn--qxam|xn--rhqv96g|xn--rovu88b|xn--rvc1e0am3e|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--tckwe|xn--tiq49xqyj|xn--unup4y|xn--vermgensberater-ctb|xn--vermgensberatung-pwb|xn--vhquv|xn--vuq861b|xn--w4r85el8fhu5dnra|xn--w4rs40l|xn--wgbh1c|xn--wgbl6a|xn--xhq521b|xn--xkc2al3hye2a|xn--xkc2dl3a5ee0h|xn--y9a3aq|xn--yfro4i67o|xn--ygbi2ammx|xn--zfr164b|xperia|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw'.split('|'); // macro, see gulpfile.js\n\n/**\n\tThe scanner provides an interface that takes a string of text as input, and\n\toutputs an array of tokens instances that can be used for easy URL parsing.\n\n\t@module linkify\n\t@submodule scanner\n\t@main scanner\n*/\n\nvar NUMBERS = '0123456789'.split('');\nvar ALPHANUM = '0123456789abcdefghijklmnopqrstuvwxyz'.split('');\nvar WHITESPACE = [' ', '\\f', '\\r', '\\t', '\\v', '\\xA0', '\\u1680', '\\u180E']; // excluding line breaks\n\nvar domainStates = []; // states that jump to DOMAIN on /[a-z0-9]/\nvar makeState = function makeState(tokenClass) {\n\treturn new _state.CharacterState(tokenClass);\n};\n\n// Frequently used states\nvar S_START = makeState();\nvar S_NUM = makeState(_text.NUM);\nvar S_DOMAIN = makeState(_text.DOMAIN);\nvar S_DOMAIN_HYPHEN = makeState(); // domain followed by 1 or more hyphen characters\nvar S_WS = makeState(_text.WS);\n\n// States for special URL symbols\nS_START.on('@', makeState(_text.AT)).on('.', makeState(_text.DOT)).on('+', makeState(_text.PLUS)).on('#', makeState(_text.POUND)).on('?', makeState(_text.QUERY)).on('/', makeState(_text.SLASH)).on('_', makeState(_text.UNDERSCORE)).on(':', makeState(_text.COLON)).on('{', makeState(_text.OPENBRACE)).on('[', makeState(_text.OPENBRACKET)).on('<', makeState(_text.OPENANGLEBRACKET)).on('(', makeState(_text.OPENPAREN)).on('}', makeState(_text.CLOSEBRACE)).on(']', makeState(_text.CLOSEBRACKET)).on('>', makeState(_text.CLOSEANGLEBRACKET)).on(')', makeState(_text.CLOSEPAREN)).on('&', makeState(_text.AMPERSAND)).on([',', ';', '!', '\"', '\\''], makeState(_text.PUNCTUATION));\n\n// Whitespace jumps\n// Tokens of only non-newline whitespace are arbitrarily long\nS_START.on('\\n', makeState(_text.NL)).on(WHITESPACE, S_WS);\n\n// If any whitespace except newline, more whitespace!\nS_WS.on(WHITESPACE, S_WS);\n\n// Generates states for top-level domains\n// Note that this is most accurate when tlds are in alphabetical order\nfor (var i = 0; i < tlds.length; i++) {\n\tvar newStates = (0, _state.stateify)(tlds[i], S_START, _text.TLD, _text.DOMAIN);\n\tdomainStates.push.apply(domainStates, newStates);\n}\n\n// Collect the states generated by different protocls\nvar partialProtocolFileStates = (0, _state.stateify)('file', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolFtpStates = (0, _state.stateify)('ftp', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolHttpStates = (0, _state.stateify)('http', S_START, _text.DOMAIN, _text.DOMAIN);\nvar partialProtocolMailtoStates = (0, _state.stateify)('mailto', S_START, _text.DOMAIN, _text.DOMAIN);\n\n// Add the states to the array of DOMAINeric states\ndomainStates.push.apply(domainStates, partialProtocolFileStates);\ndomainStates.push.apply(domainStates, partialProtocolFtpStates);\ndomainStates.push.apply(domainStates, partialProtocolHttpStates);\ndomainStates.push.apply(domainStates, partialProtocolMailtoStates);\n\n// Protocol states\nvar S_PROTOCOL_FILE = partialProtocolFileStates.pop();\nvar S_PROTOCOL_FTP = partialProtocolFtpStates.pop();\nvar S_PROTOCOL_HTTP = partialProtocolHttpStates.pop();\nvar S_MAILTO = partialProtocolMailtoStates.pop();\nvar S_PROTOCOL_SECURE = makeState(_text.DOMAIN);\nvar S_FULL_PROTOCOL = makeState(_text.PROTOCOL); // Full protocol ends with COLON\nvar S_FULL_MAILTO = makeState(_text.MAILTO); // Mailto ends with COLON\n\n// Secure protocols (end with 's')\nS_PROTOCOL_FTP.on('s', S_PROTOCOL_SECURE).on(':', S_FULL_PROTOCOL);\n\nS_PROTOCOL_HTTP.on('s', S_PROTOCOL_SECURE).on(':', S_FULL_PROTOCOL);\n\ndomainStates.push(S_PROTOCOL_SECURE);\n\n// Become protocol tokens after a COLON\nS_PROTOCOL_FILE.on(':', S_FULL_PROTOCOL);\nS_PROTOCOL_SECURE.on(':', S_FULL_PROTOCOL);\nS_MAILTO.on(':', S_FULL_MAILTO);\n\n// Localhost\nvar partialLocalhostStates = (0, _state.stateify)('localhost', S_START, _text.LOCALHOST, _text.DOMAIN);\ndomainStates.push.apply(domainStates, partialLocalhostStates);\n\n// Everything else\n// DOMAINs make more DOMAINs\n// Number and character transitions\nS_START.on(NUMBERS, S_NUM);\nS_NUM.on('-', S_DOMAIN_HYPHEN).on(NUMBERS, S_NUM).on(ALPHANUM, S_DOMAIN); // number becomes DOMAIN\n\nS_DOMAIN.on('-', S_DOMAIN_HYPHEN).on(ALPHANUM, S_DOMAIN);\n\n// All the generated states should have a jump to DOMAIN\nfor (var _i = 0; _i < domainStates.length; _i++) {\n\tdomainStates[_i].on('-', S_DOMAIN_HYPHEN).on(ALPHANUM, S_DOMAIN);\n}\n\nS_DOMAIN_HYPHEN.on('-', S_DOMAIN_HYPHEN).on(NUMBERS, S_DOMAIN).on(ALPHANUM, S_DOMAIN);\n\n// Set default transition\nS_START.defaultTransition = makeState(_text.SYM);\n\n/**\n\tGiven a string, returns an array of TOKEN instances representing the\n\tcomposition of that string.\n\n\t@method run\n\t@param {String} str Input string to scan\n\t@return {Array} Array of TOKEN instances\n*/\nvar run = function run(str) {\n\n\t// The state machine only looks at lowercase strings.\n\t// This selective `toLowerCase` is used because lowercasing the entire\n\t// string causes the length and character position to vary in some in some\n\t// non-English strings. This happens only on V8-based runtimes.\n\tvar lowerStr = str.replace(/[A-Z]/g, function (c) {\n\t\treturn c.toLowerCase();\n\t});\n\tvar len = str.length;\n\tvar tokens = []; // return value\n\n\tvar cursor = 0;\n\n\t// Tokenize the string\n\twhile (cursor < len) {\n\t\tvar state = S_START;\n\t\tvar nextState = null;\n\t\tvar tokenLength = 0;\n\t\tvar latestAccepting = null;\n\t\tvar sinceAccepts = -1;\n\n\t\twhile (cursor < len && (nextState = state.next(lowerStr[cursor]))) {\n\t\t\tstate = nextState;\n\n\t\t\t// Keep track of the latest accepting state\n\t\t\tif (state.accepts()) {\n\t\t\t\tsinceAccepts = 0;\n\t\t\t\tlatestAccepting = state;\n\t\t\t} else if (sinceAccepts >= 0) {\n\t\t\t\tsinceAccepts++;\n\t\t\t}\n\n\t\t\ttokenLength++;\n\t\t\tcursor++;\n\t\t}\n\n\t\tif (sinceAccepts < 0) {\n\t\t\tcontinue;\n\t\t} // Should never happen\n\n\t\t// Roll back to the latest accepting state\n\t\tcursor -= sinceAccepts;\n\t\ttokenLength -= sinceAccepts;\n\n\t\t// Get the class for the new token\n\t\tvar TOKEN = latestAccepting.emit(); // Current token class\n\n\t\t// No more jumps, just make a new token\n\t\ttokens.push(new TOKEN(str.substr(cursor - tokenLength, tokenLength)));\n\t}\n\n\treturn tokens;\n};\n\nvar start = S_START;\nexports.State = _state.CharacterState;\nexports.TOKENS = TOKENS;\nexports.run = run;\nexports.start = start;","'use strict';\n\nexports.__esModule = true;\nexports.start = exports.run = exports.TOKENS = exports.State = undefined;\n\nvar _state = require('./state');\n\nvar _multi = require('./tokens/multi');\n\nvar MULTI_TOKENS = _interopRequireWildcard(_multi);\n\nvar _text = require('./tokens/text');\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\n/**\n\tNot exactly parser, more like the second-stage scanner (although we can\n\ttheoretically hotswap the code here with a real parser in the future... but\n\tfor a little URL-finding utility abstract syntax trees may be a little\n\toverkill).\n\n\tURL format: http://en.wikipedia.org/wiki/URI_scheme\n\tEmail format: http://en.wikipedia.org/wiki/Email_address (links to RFC in\n\treference)\n\n\t@module linkify\n\t@submodule parser\n\t@main parser\n*/\n\nvar makeState = function makeState(tokenClass) {\n\treturn new _state.TokenState(tokenClass);\n};\n\n// The universal starting state.\nvar S_START = makeState();\n\n// Intermediate states for URLs. Note that domains that begin with a protocol\n// are treated slighly differently from those that don't.\nvar S_PROTOCOL = makeState(); // e.g., 'http:'\nvar S_MAILTO = makeState(); // 'mailto:'\nvar S_PROTOCOL_SLASH = makeState(); // e.g., '/', 'http:/''\nvar S_PROTOCOL_SLASH_SLASH = makeState(); // e.g., '//', 'http://'\nvar S_DOMAIN = makeState(); // parsed string ends with a potential domain name (A)\nvar S_DOMAIN_DOT = makeState(); // (A) domain followed by DOT\nvar S_TLD = makeState(_multi.URL); // (A) Simplest possible URL with no query string\nvar S_TLD_COLON = makeState(); // (A) URL followed by colon (potential port number here)\nvar S_TLD_PORT = makeState(_multi.URL); // TLD followed by a port number\nvar S_URL = makeState(_multi.URL); // Long URL with optional port and maybe query string\nvar S_URL_NON_ACCEPTING = makeState(); // URL followed by some symbols (will not be part of the final URL)\nvar S_URL_OPENBRACE = makeState(); // URL followed by {\nvar S_URL_OPENBRACKET = makeState(); // URL followed by [\nvar S_URL_OPENANGLEBRACKET = makeState(); // URL followed by <\nvar S_URL_OPENPAREN = makeState(); // URL followed by (\nvar S_URL_OPENBRACE_Q = makeState(_multi.URL); // URL followed by { and some symbols that the URL can end it\nvar S_URL_OPENBRACKET_Q = makeState(_multi.URL); // URL followed by [ and some symbols that the URL can end it\nvar S_URL_OPENANGLEBRACKET_Q = makeState(_multi.URL); // URL followed by < and some symbols that the URL can end it\nvar S_URL_OPENPAREN_Q = makeState(_multi.URL); // URL followed by ( and some symbols that the URL can end it\nvar S_URL_OPENBRACE_SYMS = makeState(); // S_URL_OPENBRACE_Q followed by some symbols it cannot end it\nvar S_URL_OPENBRACKET_SYMS = makeState(); // S_URL_OPENBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENANGLEBRACKET_SYMS = makeState(); // S_URL_OPENANGLEBRACKET_Q followed by some symbols it cannot end it\nvar S_URL_OPENPAREN_SYMS = makeState(); // S_URL_OPENPAREN_Q followed by some symbols it cannot end it\nvar S_EMAIL_DOMAIN = makeState(); // parsed string starts with local email info + @ with a potential domain name (C)\nvar S_EMAIL_DOMAIN_DOT = makeState(); // (C) domain followed by DOT\nvar S_EMAIL = makeState(_multi.EMAIL); // (C) Possible email address (could have more tlds)\nvar S_EMAIL_COLON = makeState(); // (C) URL followed by colon (potential port number here)\nvar S_EMAIL_PORT = makeState(_multi.EMAIL); // (C) Email address with a port\nvar S_MAILTO_EMAIL = makeState(_multi.MAILTOEMAIL); // Email that begins with the mailto prefix (D)\nvar S_MAILTO_EMAIL_NON_ACCEPTING = makeState(); // (D) Followed by some non-query string chars\nvar S_LOCALPART = makeState(); // Local part of the email address\nvar S_LOCALPART_AT = makeState(); // Local part of the email address plus @\nvar S_LOCALPART_DOT = makeState(); // Local part of the email address plus '.' (localpart cannot end in .)\nvar S_NL = makeState(_multi.NL); // single new line\n\n// Make path from start to protocol (with '//')\nS_START.on(_text.NL, S_NL).on(_text.PROTOCOL, S_PROTOCOL).on(_text.MAILTO, S_MAILTO).on(_text.SLASH, S_PROTOCOL_SLASH);\n\nS_PROTOCOL.on(_text.SLASH, S_PROTOCOL_SLASH);\nS_PROTOCOL_SLASH.on(_text.SLASH, S_PROTOCOL_SLASH_SLASH);\n\n// The very first potential domain name\nS_START.on(_text.TLD, S_DOMAIN).on(_text.DOMAIN, S_DOMAIN).on(_text.LOCALHOST, S_TLD).on(_text.NUM, S_DOMAIN);\n\n// Force URL for protocol followed by anything sane\nS_PROTOCOL_SLASH_SLASH.on(_text.TLD, S_URL).on(_text.DOMAIN, S_URL).on(_text.NUM, S_URL).on(_text.LOCALHOST, S_URL);\n\n// Account for dots and hyphens\n// hyphens are usually parts of domain names\nS_DOMAIN.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL_DOMAIN.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Hyphen can jump back to a domain name\n\n// After the first domain and a dot, we can find either a URL or another domain\nS_DOMAIN_DOT.on(_text.TLD, S_TLD).on(_text.DOMAIN, S_DOMAIN).on(_text.NUM, S_DOMAIN).on(_text.LOCALHOST, S_DOMAIN);\n\nS_EMAIL_DOMAIN_DOT.on(_text.TLD, S_EMAIL).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.NUM, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL_DOMAIN);\n\n// S_TLD accepts! But the URL could be longer, try to find a match greedily\n// The `run` function should be able to \"rollback\" to the accepting state\nS_TLD.on(_text.DOT, S_DOMAIN_DOT);\nS_EMAIL.on(_text.DOT, S_EMAIL_DOMAIN_DOT);\n\n// Become real URLs after `SLASH` or `COLON NUM SLASH`\n// Here PSS and non-PSS converge\nS_TLD.on(_text.COLON, S_TLD_COLON).on(_text.SLASH, S_URL);\nS_TLD_COLON.on(_text.NUM, S_TLD_PORT);\nS_TLD_PORT.on(_text.SLASH, S_URL);\nS_EMAIL.on(_text.COLON, S_EMAIL_COLON);\nS_EMAIL_COLON.on(_text.NUM, S_EMAIL_PORT);\n\n// Types of characters the URL can definitely end in\nvar qsAccepting = [_text.DOMAIN, _text.AT, _text.LOCALHOST, _text.NUM, _text.PLUS, _text.POUND, _text.PROTOCOL, _text.SLASH, _text.TLD, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND];\n\n// Types of tokens that can follow a URL and be part of the query string\n// but cannot be the very last characters\n// Characters that cannot appear in the URL at all should be excluded\nvar qsNonAccepting = [_text.COLON, _text.DOT, _text.QUERY, _text.PUNCTUATION, _text.CLOSEBRACE, _text.CLOSEBRACKET, _text.CLOSEANGLEBRACKET, _text.CLOSEPAREN, _text.OPENBRACE, _text.OPENBRACKET, _text.OPENANGLEBRACKET, _text.OPENPAREN];\n\n// These states are responsible primarily for determining whether or not to\n// include the final round bracket.\n\n// URL, followed by an opening bracket\nS_URL.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// URL with extra symbols at the end, followed by an opening bracket\nS_URL_NON_ACCEPTING.on(_text.OPENBRACE, S_URL_OPENBRACE).on(_text.OPENBRACKET, S_URL_OPENBRACKET).on(_text.OPENANGLEBRACKET, S_URL_OPENANGLEBRACKET).on(_text.OPENPAREN, S_URL_OPENPAREN);\n\n// Closing bracket component. This character WILL be included in the URL\nS_URL_OPENBRACE.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_Q.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_Q.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_Q.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_Q.on(_text.CLOSEPAREN, S_URL);\nS_URL_OPENBRACE_SYMS.on(_text.CLOSEBRACE, S_URL);\nS_URL_OPENBRACKET_SYMS.on(_text.CLOSEBRACKET, S_URL);\nS_URL_OPENANGLEBRACKET_SYMS.on(_text.CLOSEANGLEBRACKET, S_URL);\nS_URL_OPENPAREN_SYMS.on(_text.CLOSEPAREN, S_URL);\n\n// URL that beings with an opening bracket, followed by a symbols.\n// Note that the final state can still be `S_URL_OPENBRACE_Q` (if the URL only\n// has a single opening bracket for some reason).\nS_URL_OPENBRACE.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// URL that begins with an opening bracket, followed by some symbols\nS_URL_OPENBRACE_Q.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_Q.on(qsNonAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_Q.on(qsNonAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_Q.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_Q.on(qsNonAccepting, S_URL_OPENPAREN_Q);\n\nS_URL_OPENBRACE_SYMS.on(qsAccepting, S_URL_OPENBRACE_Q);\nS_URL_OPENBRACKET_SYMS.on(qsAccepting, S_URL_OPENBRACKET_Q);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsAccepting, S_URL_OPENANGLEBRACKET_Q);\nS_URL_OPENPAREN_SYMS.on(qsAccepting, S_URL_OPENPAREN_Q);\nS_URL_OPENBRACE_SYMS.on(qsNonAccepting, S_URL_OPENBRACE_SYMS);\nS_URL_OPENBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENBRACKET_SYMS);\nS_URL_OPENANGLEBRACKET_SYMS.on(qsNonAccepting, S_URL_OPENANGLEBRACKET_SYMS);\nS_URL_OPENPAREN_SYMS.on(qsNonAccepting, S_URL_OPENPAREN_SYMS);\n\n// Account for the query string\nS_URL.on(qsAccepting, S_URL);\nS_URL_NON_ACCEPTING.on(qsAccepting, S_URL);\n\nS_URL.on(qsNonAccepting, S_URL_NON_ACCEPTING);\nS_URL_NON_ACCEPTING.on(qsNonAccepting, S_URL_NON_ACCEPTING);\n\n// Email address-specific state definitions\n// Note: We are not allowing '/' in email addresses since this would interfere\n// with real URLs\n\n// For addresses with the mailto prefix\n// 'mailto:' followed by anything sane is a valid email\nS_MAILTO.on(_text.TLD, S_MAILTO_EMAIL).on(_text.DOMAIN, S_MAILTO_EMAIL).on(_text.NUM, S_MAILTO_EMAIL).on(_text.LOCALHOST, S_MAILTO_EMAIL);\n\n// Greedily get more potential valid email values\nS_MAILTO_EMAIL.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\nS_MAILTO_EMAIL_NON_ACCEPTING.on(qsAccepting, S_MAILTO_EMAIL).on(qsNonAccepting, S_MAILTO_EMAIL_NON_ACCEPTING);\n\n// For addresses without the mailto prefix\n// Tokens allowed in the localpart of the email\nvar localpartAccepting = [_text.DOMAIN, _text.NUM, _text.PLUS, _text.POUND, _text.QUERY, _text.UNDERSCORE, _text.SYM, _text.AMPERSAND, _text.TLD];\n\n// Some of the tokens in `localpartAccepting` are already accounted for here and\n// will not be overwritten (don't worry)\nS_DOMAIN.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_TLD.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT);\nS_DOMAIN_DOT.on(localpartAccepting, S_LOCALPART);\n\n// Okay we're on a localpart. Now what?\n// TODO: IP addresses and what if the email starts with numbers?\nS_LOCALPART.on(localpartAccepting, S_LOCALPART).on(_text.AT, S_LOCALPART_AT) // close to an email address now\n.on(_text.DOT, S_LOCALPART_DOT);\nS_LOCALPART_DOT.on(localpartAccepting, S_LOCALPART);\nS_LOCALPART_AT.on(_text.TLD, S_EMAIL_DOMAIN).on(_text.DOMAIN, S_EMAIL_DOMAIN).on(_text.LOCALHOST, S_EMAIL);\n// States following `@` defined above\n\nvar run = function run(tokens) {\n\tvar len = tokens.length;\n\tvar cursor = 0;\n\tvar multis = [];\n\tvar textTokens = [];\n\n\twhile (cursor < len) {\n\t\tvar state = S_START;\n\t\tvar secondState = null;\n\t\tvar nextState = null;\n\t\tvar multiLength = 0;\n\t\tvar latestAccepting = null;\n\t\tvar sinceAccepts = -1;\n\n\t\twhile (cursor < len && !(secondState = state.next(tokens[cursor]))) {\n\t\t\t// Starting tokens with nowhere to jump to.\n\t\t\t// Consider these to be just plain text\n\t\t\ttextTokens.push(tokens[cursor++]);\n\t\t}\n\n\t\twhile (cursor < len && (nextState = secondState || state.next(tokens[cursor]))) {\n\n\t\t\t// Get the next state\n\t\t\tsecondState = null;\n\t\t\tstate = nextState;\n\n\t\t\t// Keep track of the latest accepting state\n\t\t\tif (state.accepts()) {\n\t\t\t\tsinceAccepts = 0;\n\t\t\t\tlatestAccepting = state;\n\t\t\t} else if (sinceAccepts >= 0) {\n\t\t\t\tsinceAccepts++;\n\t\t\t}\n\n\t\t\tcursor++;\n\t\t\tmultiLength++;\n\t\t}\n\n\t\tif (sinceAccepts < 0) {\n\n\t\t\t// No accepting state was found, part of a regular text token\n\t\t\t// Add all the tokens we looked at to the text tokens array\n\t\t\tfor (var i = cursor - multiLength; i < cursor; i++) {\n\t\t\t\ttextTokens.push(tokens[i]);\n\t\t\t}\n\t\t} else {\n\n\t\t\t// Accepting state!\n\n\t\t\t// First close off the textTokens (if available)\n\t\t\tif (textTokens.length > 0) {\n\t\t\t\tmultis.push(new _multi.TEXT(textTokens));\n\t\t\t\ttextTokens = [];\n\t\t\t}\n\n\t\t\t// Roll back to the latest accepting state\n\t\t\tcursor -= sinceAccepts;\n\t\t\tmultiLength -= sinceAccepts;\n\n\t\t\t// Create a new multitoken\n\t\t\tvar MULTI = latestAccepting.emit();\n\t\t\tmultis.push(new MULTI(tokens.slice(cursor - multiLength, cursor)));\n\t\t}\n\t}\n\n\t// Finally close off the textTokens (if available)\n\tif (textTokens.length > 0) {\n\t\tmultis.push(new _multi.TEXT(textTokens));\n\t}\n\n\treturn multis;\n};\n\nexports.State = _state.TokenState;\nexports.TOKENS = MULTI_TOKENS;\nexports.run = run;\nexports.start = S_START;","'use strict';\n\nexports.__esModule = true;\nexports.URL = exports.TEXT = exports.NL = exports.EMAIL = exports.MAILTOEMAIL = exports.Base = undefined;\n\nvar _createTokenClass = require('./create-token-class');\n\nvar _class = require('../../utils/class');\n\nvar _text = require('./text');\n\n/******************************************************************************\n\tMulti-Tokens\n\tTokens composed of arrays of TextTokens\n******************************************************************************/\n\n// Is the given token a valid domain token?\n// Should nums be included here?\nfunction isDomainToken(token) {\n\treturn token instanceof _text.DOMAIN || token instanceof _text.TLD;\n}\n\n/**\n\tAbstract class used for manufacturing tokens of text tokens. That is rather\n\tthan the value for a token being a small string of text, it's value an array\n\tof text tokens.\n\n\tUsed for grouping together URLs, emails, hashtags, and other potential\n\tcreations.\n\n\t@class MultiToken\n\t@abstract\n*/\nvar MultiToken = (0, _createTokenClass.createTokenClass)();\n\nMultiToken.prototype = {\n\t/**\n \tString representing the type for this token\n \t@property type\n \t@default 'TOKEN'\n */\n\ttype: 'token',\n\n\t/**\n \tIs this multitoken a link?\n \t@property isLink\n \t@default false\n */\n\tisLink: false,\n\n\t/**\n \tReturn the string this token represents.\n \t@method toString\n \t@return {String}\n */\n\ttoString: function toString() {\n\t\tvar result = [];\n\t\tfor (var i = 0; i < this.v.length; i++) {\n\t\t\tresult.push(this.v[i].toString());\n\t\t}\n\t\treturn result.join('');\n\t},\n\n\n\t/**\n \tWhat should the value for this token be in the `href` HTML attribute?\n \tReturns the `.toString` value by default.\n \t\t@method toHref\n \t@return {String}\n */\n\ttoHref: function toHref() {\n\t\treturn this.toString();\n\t},\n\n\n\t/**\n \tReturns a hash of relevant values for this token, which includes keys\n \t* type - Kind of token ('url', 'email', etc.)\n \t* value - Original text\n \t* href - The value that should be added to the anchor tag's href\n \t\tattribute\n \t\t@method toObject\n \t@param {String} [protocol] `'http'` by default\n \t@return {Object}\n */\n\ttoObject: function toObject() {\n\t\tvar protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';\n\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tvalue: this.toString(),\n\t\t\thref: this.toHref(protocol)\n\t\t};\n\t}\n};\n\n/**\n\tRepresents an arbitrarily mailto email address with the prefix included\n\t@class MAILTO\n\t@extends MultiToken\n*/\nvar MAILTOEMAIL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n\ttype: 'email',\n\tisLink: true\n});\n\n/**\n\tRepresents a list of tokens making up a valid email address\n\t@class EMAIL\n\t@extends MultiToken\n*/\nvar EMAIL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n\ttype: 'email',\n\tisLink: true,\n\ttoHref: function toHref() {\n\t\treturn 'mailto:' + this.toString();\n\t}\n});\n\n/**\n\tRepresents some plain text\n\t@class TEXT\n\t@extends MultiToken\n*/\nvar TEXT = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), { type: 'text' });\n\n/**\n\tMulti-linebreak token - represents a line break\n\t@class NL\n\t@extends MultiToken\n*/\nvar NL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), { type: 'nl' });\n\n/**\n\tRepresents a list of tokens making up a valid URL\n\t@class URL\n\t@extends MultiToken\n*/\nvar URL = (0, _class.inherits)(MultiToken, (0, _createTokenClass.createTokenClass)(), {\n\ttype: 'url',\n\tisLink: true,\n\n\t/**\n \tLowercases relevant parts of the domain and adds the protocol if\n \trequired. Note that this will not escape unsafe HTML characters in the\n \tURL.\n \t\t@method href\n \t@param {String} protocol\n \t@return {String}\n */\n\ttoHref: function toHref() {\n\t\tvar protocol = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'http';\n\n\t\tvar hasProtocol = false;\n\t\tvar hasSlashSlash = false;\n\t\tvar tokens = this.v;\n\t\tvar result = [];\n\t\tvar i = 0;\n\n\t\t// Make the first part of the domain lowercase\n\t\t// Lowercase protocol\n\t\twhile (tokens[i] instanceof _text.PROTOCOL) {\n\t\t\thasProtocol = true;\n\t\t\tresult.push(tokens[i].toString().toLowerCase());\n\t\t\ti++;\n\t\t}\n\n\t\t// Skip slash-slash\n\t\twhile (tokens[i] instanceof _text.SLASH) {\n\t\t\thasSlashSlash = true;\n\t\t\tresult.push(tokens[i].toString());\n\t\t\ti++;\n\t\t}\n\n\t\t// Lowercase all other characters in the domain\n\t\twhile (isDomainToken(tokens[i])) {\n\t\t\tresult.push(tokens[i].toString().toLowerCase());\n\t\t\ti++;\n\t\t}\n\n\t\t// Leave all other characters as they were written\n\t\tfor (; i < tokens.length; i++) {\n\t\t\tresult.push(tokens[i].toString());\n\t\t}\n\n\t\tresult = result.join('');\n\n\t\tif (!(hasProtocol || hasSlashSlash)) {\n\t\t\tresult = protocol + '://' + result;\n\t\t}\n\n\t\treturn result;\n\t},\n\thasProtocol: function hasProtocol() {\n\t\treturn this.v[0] instanceof _text.PROTOCOL;\n\t}\n});\n\nexports.Base = MultiToken;\nexports.MAILTOEMAIL = MAILTOEMAIL;\nexports.EMAIL = EMAIL;\nexports.NL = NL;\nexports.TEXT = TEXT;\nexports.URL = URL;","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var userAgent = require('../internals/engine-user-agent');\nvar global = require('../internals/global');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","module.exports = typeof window == 'object';\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _scopedstorage = _interopRequireDefault(require(\"./scopedstorage\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar StorageBuilder =\n/*#__PURE__*/\nfunction () {\n function StorageBuilder(appId) {\n _classCallCheck(this, StorageBuilder);\n\n _defineProperty(this, \"appId\", void 0);\n\n _defineProperty(this, \"persisted\", false);\n\n _defineProperty(this, \"clearedOnLogout\", false);\n\n this.appId = appId;\n }\n\n _createClass(StorageBuilder, [{\n key: \"persist\",\n value: function persist() {\n var _persist = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.persisted = _persist;\n return this;\n }\n }, {\n key: \"clearOnLogout\",\n value: function clearOnLogout() {\n var clear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.clearedOnLogout = clear;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new _scopedstorage.default(this.appId, this.persisted ? window.localStorage : window.sessionStorage, !this.clearedOnLogout);\n }\n }]);\n\n return StorageBuilder;\n}();\n\nexports.default = StorageBuilder;\n//# sourceMappingURL=storagebuilder.js.map","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg, 3) : false;\n var element;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","import valid from \"semver/functions/valid\";\nimport major from \"semver/functions/major\";\n\nimport packageJson from \"../package.json\";\nimport { Event } from \"./Event.js\";\nimport { EventBus } from \"./EventBus.js\";\nimport { EventHandler } from \"./EventHandler.js\";\n\nexport class ProxyBus implements EventBus {\n\n private bus: EventBus;\n\n constructor(bus: EventBus) {\n if (typeof bus.getVersion !== 'function' || !valid(bus.getVersion())) {\n console.warn('Proxying an event bus with an unknown or invalid version')\n } else if (major(bus.getVersion()) !== major(this.getVersion())) {\n console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion())\n }\n\n this.bus = bus;\n }\n\n getVersion(): string {\n return packageJson.version\n }\n\n subscribe(name: string, handler: EventHandler): void {\n this.bus.subscribe(name, handler);\n }\n\n unsubscribe(name: string, handler: EventHandler): void {\n this.bus.unsubscribe(name, handler);\n }\n\n emit(name: string, event: Event): void {\n this.bus.emit(name, event);\n }\n\n}\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parseOptions = require('../internal/parse-options')\nconst parse = (version, options) => {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","import packageJson from \"../package.json\";\nimport { Event } from \"./Event.js\";\nimport { EventBus } from \"./EventBus.js\";\nimport { EventHandler } from \"./EventHandler.js\";\n\nexport class SimpleBus implements EventBus {\n\n private handlers = new Map<string, EventHandler[]>();\n\n getVersion(): string {\n return packageJson.version\n }\n\n subscribe(name: string, handler: EventHandler): void {\n this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n }\n\n unsubscribe(name: string, handler: EventHandler): void {\n this.handlers.set(name, (this.handlers.get(name) || []).filter(h => h != handler));\n }\n\n emit(name: string, event: Event): void {\n (this.handlers.get(name) || []).forEach(h => {\n try {\n h(event)\n } catch (e) {\n console.error('could not invoke event listener', e)\n }\n })\n }\n\n}\n","/**\n *\n *\n * @author Jerry Bendy <jerry@icewingcc.com>\n * @licence MIT\n *\n */\n\n(function(self) {\n 'use strict';\n\n var nativeURLSearchParams = (function() {\n // #41 Fix issue in RN\n try {\n if (self.URLSearchParams && (new self.URLSearchParams('foo=bar')).get('foo') === 'bar') {\n return self.URLSearchParams;\n }\n } catch (e) {}\n return null;\n })(),\n isSupportObjectConstructor = nativeURLSearchParams && (new nativeURLSearchParams({a: 1})).toString() === 'a=1',\n // There is a bug in safari 10.1 (and earlier) that incorrectly decodes `%2B` as an empty space and not a plus.\n decodesPlusesCorrectly = nativeURLSearchParams && (new nativeURLSearchParams('s=%2B').get('s') === '+'),\n __URLSearchParams__ = \"__URLSearchParams__\",\n // Fix bug in Edge which cannot encode ' &' correctly\n encodesAmpersandsCorrectly = nativeURLSearchParams ? (function() {\n var ampersandTest = new nativeURLSearchParams();\n ampersandTest.append('s', ' &');\n return ampersandTest.toString() === 's=+%26';\n })() : true,\n prototype = URLSearchParamsPolyfill.prototype,\n iterable = !!(self.Symbol && self.Symbol.iterator);\n\n if (nativeURLSearchParams && isSupportObjectConstructor && decodesPlusesCorrectly && encodesAmpersandsCorrectly) {\n return;\n }\n\n\n /**\n * Make a URLSearchParams instance\n *\n * @param {object|string|URLSearchParams} search\n * @constructor\n */\n function URLSearchParamsPolyfill(search) {\n search = search || \"\";\n\n // support construct object with another URLSearchParams instance\n if (search instanceof URLSearchParams || search instanceof URLSearchParamsPolyfill) {\n search = search.toString();\n }\n this [__URLSearchParams__] = parseToDict(search);\n }\n\n\n /**\n * Appends a specified key/value pair as a new search parameter.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.append = function(name, value) {\n appendTo(this [__URLSearchParams__], name, value);\n };\n\n /**\n * Deletes the given search parameter, and its associated value,\n * from the list of all search parameters.\n *\n * @param {string} name\n */\n prototype['delete'] = function(name) {\n delete this [__URLSearchParams__] [name];\n };\n\n /**\n * Returns the first value associated to the given search parameter.\n *\n * @param {string} name\n * @returns {string|null}\n */\n prototype.get = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict[name][0] : null;\n };\n\n /**\n * Returns all the values association with a given search parameter.\n *\n * @param {string} name\n * @returns {Array}\n */\n prototype.getAll = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict [name].slice(0) : [];\n };\n\n /**\n * Returns a Boolean indicating if such a search parameter exists.\n *\n * @param {string} name\n * @returns {boolean}\n */\n prototype.has = function(name) {\n return hasOwnProperty(this [__URLSearchParams__], name);\n };\n\n /**\n * Sets the value associated to a given search parameter to\n * the given value. If there were several values, delete the\n * others.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.set = function set(name, value) {\n this [__URLSearchParams__][name] = ['' + value];\n };\n\n /**\n * Returns a string containg a query string suitable for use in a URL.\n *\n * @returns {string}\n */\n prototype.toString = function() {\n var dict = this[__URLSearchParams__], query = [], i, key, name, value;\n for (key in dict) {\n name = encode(key);\n for (i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n };\n\n // There is a bug in Safari 10.1 and `Proxy`ing it is not enough.\n var forSureUsePolyfill = !decodesPlusesCorrectly;\n var useProxy = (!forSureUsePolyfill && nativeURLSearchParams && !isSupportObjectConstructor && self.Proxy);\n var propValue; \n if (useProxy) {\n // Safari 10.0 doesn't support Proxy, so it won't extend URLSearchParams on safari 10.0\n propValue = new Proxy(nativeURLSearchParams, {\n construct: function (target, args) {\n return new target((new URLSearchParamsPolyfill(args[0]).toString()));\n }\n })\n // Chrome <=60 .toString() on a function proxy got error \"Function.prototype.toString is not generic\"\n propValue.toString = Function.prototype.toString.bind(URLSearchParamsPolyfill);\n } else {\n propValue = URLSearchParamsPolyfill;\n }\n /*\n * Apply polifill to global object and append other prototype into it\n */\n Object.defineProperty(self, 'URLSearchParams', {\n value: propValue\n });\n\n var USPProto = self.URLSearchParams.prototype;\n\n USPProto.polyfill = true;\n\n /**\n *\n * @param {function} callback\n * @param {object} thisArg\n */\n USPProto.forEach = USPProto.forEach || function(callback, thisArg) {\n var dict = parseToDict(this.toString());\n Object.getOwnPropertyNames(dict).forEach(function(name) {\n dict[name].forEach(function(value) {\n callback.call(thisArg, value, name, this);\n }, this);\n }, this);\n };\n\n /**\n * Sort all name-value pairs\n */\n USPProto.sort = USPProto.sort || function() {\n var dict = parseToDict(this.toString()), keys = [], k, i, j;\n for (k in dict) {\n keys.push(k);\n }\n keys.sort();\n\n for (i = 0; i < keys.length; i++) {\n this['delete'](keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n var key = keys[i], values = dict[key];\n for (j = 0; j < values.length; j++) {\n this.append(key, values[j]);\n }\n }\n };\n\n /**\n * Returns an iterator allowing to go through all keys of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.keys = USPProto.keys || function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push(name);\n });\n return makeIterator(items);\n };\n\n /**\n * Returns an iterator allowing to go through all values of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.values = USPProto.values || function() {\n var items = [];\n this.forEach(function(item) {\n items.push(item);\n });\n return makeIterator(items);\n };\n\n /**\n * Returns an iterator allowing to go through all key/value\n * pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.entries = USPProto.entries || function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push([name, item]);\n });\n return makeIterator(items);\n };\n\n\n if (iterable) {\n USPProto[self.Symbol.iterator] = USPProto[self.Symbol.iterator] || USPProto.entries;\n }\n\n\n function encode(str) {\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function(match) {\n return replace[match];\n });\n }\n\n function decode(str) {\n return str\n .replace(/[ +]/g, '%20')\n .replace(/(%[a-f0-9]{2})+/ig, function(match) {\n return decodeURIComponent(match);\n });\n }\n\n function makeIterator(arr) {\n var iterator = {\n next: function() {\n var value = arr.shift();\n return {done: value === undefined, value: value};\n }\n };\n\n if (iterable) {\n iterator[self.Symbol.iterator] = function() {\n return iterator;\n };\n }\n\n return iterator;\n }\n\n function parseToDict(search) {\n var dict = {};\n\n if (typeof search === \"object\") {\n // if `search` is an array, treat it as a sequence\n if (isArray(search)) {\n for (var i = 0; i < search.length; i++) {\n var item = search[i];\n if (isArray(item) && item.length === 2) {\n appendTo(dict, item[0], item[1]);\n } else {\n throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");\n }\n }\n\n } else {\n for (var key in search) {\n if (search.hasOwnProperty(key)) {\n appendTo(dict, key, search[key]);\n }\n }\n }\n\n } else {\n // remove first '?'\n if (search.indexOf(\"?\") === 0) {\n search = search.slice(1);\n }\n\n var pairs = search.split(\"&\");\n for (var j = 0; j < pairs.length; j++) {\n var value = pairs [j],\n index = value.indexOf('=');\n\n if (-1 < index) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));\n\n } else {\n if (value) {\n appendTo(dict, decode(value), '');\n }\n }\n }\n }\n\n return dict;\n }\n\n function appendTo(dict, name, value) {\n var val = typeof value === 'string' ? value : (\n value !== null && value !== undefined && typeof value.toString === 'function' ? value.toString() : JSON.stringify(value)\n );\n\n // #47 Prevent using `hasOwnProperty` as a property name\n if (hasOwnProperty(dict, name)) {\n dict[name].push(val);\n } else {\n dict[name] = [val];\n }\n }\n\n function isArray(val) {\n return !!val && '[object Array]' === Object.prototype.toString.call(val);\n }\n\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLoggerBuilder = getLoggerBuilder;\nexports.getLogger = getLogger;\n\nvar _ConsoleLogger = require(\"./ConsoleLogger\");\n\nvar _LoggerBuilder = require(\"./LoggerBuilder\");\n\n/**\n * Build a customized logger instance\n */\nfunction getLoggerBuilder() {\n return new _LoggerBuilder.LoggerBuilder(_ConsoleLogger.buildConsoleLogger);\n}\n/**\n * Get a default logger instance without any configuration\n */\n\n\nfunction getLogger() {\n return getLoggerBuilder().build();\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.buildConsoleLogger = buildConsoleLogger;\nexports.ConsoleLogger = void 0;\n\nvar _contracts = require(\"./contracts\");\n\nclass ConsoleLogger {\n constructor(context) {\n this.context = context;\n }\n\n formatMessage(message, level, context) {\n let msg = '[' + level + ']';\n\n if (context && context.app) {\n msg += ' ' + context.app + ': ';\n }\n\n return msg + message;\n }\n\n log(level, message, context) {\n switch (level) {\n case 0:\n console.debug(this.formatMessage(message, _contracts.LogLevel.Debug, context), context);\n break;\n\n case 1:\n console.info(this.formatMessage(message, _contracts.LogLevel.Info, context), context);\n break;\n\n case 2:\n console.warn(this.formatMessage(message, _contracts.LogLevel.Warn, context), context);\n break;\n\n case 3:\n console.error(this.formatMessage(message, _contracts.LogLevel.Error, context), context);\n break;\n\n default:\n console.error(this.formatMessage(message, _contracts.LogLevel.Fatal, context), context);\n break;\n }\n }\n\n debug(message, context) {\n this.log(0, message, Object.assign({}, this.context, context));\n }\n\n info(message, context) {\n this.log(1, message, Object.assign({}, this.context, context));\n }\n\n warn(message, context) {\n this.log(2, message, Object.assign({}, this.context, context));\n }\n\n error(message, context) {\n this.log(3, message, Object.assign({}, this.context, context));\n }\n\n fatal(message, context) {\n this.log(4, message, Object.assign({}, this.context, context));\n }\n\n}\n\nexports.ConsoleLogger = ConsoleLogger;\n\nfunction buildConsoleLogger(context) {\n return new ConsoleLogger(context);\n}\n//# sourceMappingURL=ConsoleLogger.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LogLevel = void 0;\nlet LogLevel;\nexports.LogLevel = LogLevel;\n\n(function (LogLevel) {\n LogLevel[\"Debug\"] = \"DEBUG\";\n LogLevel[\"Info\"] = \"INFO\";\n LogLevel[\"Warn\"] = \"WARN\";\n LogLevel[\"Error\"] = \"ERROR\";\n LogLevel[\"Fatal\"] = \"FATAL\";\n})(LogLevel || (exports.LogLevel = LogLevel = {}));\n//# sourceMappingURL=contracts.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LoggerBuilder = void 0;\n\nvar _auth = require(\"@nextcloud/auth\");\n\nclass LoggerBuilder {\n constructor(factory) {\n this.context = {};\n this.factory = factory;\n }\n\n setApp(appId) {\n this.context.app = appId;\n return this;\n }\n\n setUid(uid) {\n this.context.uid = uid;\n return this;\n }\n\n detectUser() {\n const user = (0, _auth.getCurrentUser)();\n\n if (user !== null) {\n this.context.uid = user.uid;\n }\n\n return this;\n }\n\n build() {\n return this.factory(this.context);\n }\n\n}\n\nexports.LoggerBuilder = LoggerBuilder;\n//# sourceMappingURL=LoggerBuilder.js.map","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Arthur Schiwon <blizzz@arthur-schiwon.de>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class Config {\n\n\t/**\n\t * Is public upload allowed on link shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isPublicUploadEnabled() {\n\t\treturn document.getElementById('filestable')\n\t\t\t&& document.getElementById('filestable').dataset.allowPublicUpload === 'yes'\n\t}\n\n\t/**\n\t * Are link share allowed ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isShareWithLinkAllowed() {\n\t\treturn document.getElementById('allowShareWithLink')\n\t\t\t&& document.getElementById('allowShareWithLink').value === 'yes'\n\t}\n\n\t/**\n\t * Get the federated sharing documentation link\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget federatedShareDocLink() {\n\t\treturn OC.appConfig.core.federatedCloudShareDoc\n\t}\n\n\t/**\n\t * Get the default link share expiration date as string\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultExpirationDateString() {\n\t\tlet expireDateString = ''\n\t\tif (this.isDefaultExpireDateEnabled) {\n\t\t\tconst date = window.moment.utc()\n\t\t\tconst expireAfterDays = this.defaultExpireDate\n\t\t\tdate.add(expireAfterDays, 'days')\n\t\t\texpireDateString = date.format('YYYY-MM-DD')\n\t\t}\n\t\treturn expireDateString\n\t}\n\n\t/**\n\t * Get the default internal expiration date as string\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultInternalExpirationDateString() {\n\t\tlet expireDateString = ''\n\t\tif (this.isDefaultInternalExpireDateEnabled) {\n\t\t\tconst date = window.moment.utc()\n\t\t\tconst expireAfterDays = this.defaultInternalExpireDate\n\t\t\tdate.add(expireAfterDays, 'days')\n\t\t\texpireDateString = date.format('YYYY-MM-DD')\n\t\t}\n\t\treturn expireDateString\n\t}\n\n\t/**\n\t * Get the default remote expiration date as string\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultRemoteExpirationDateString() {\n\t\tlet expireDateString = ''\n\t\tif (this.isDefaultRemoteExpireDateEnabled) {\n\t\t\tconst date = window.moment.utc()\n\t\t\tconst expireAfterDays = this.defaultRemoteExpireDate\n\t\t\tdate.add(expireAfterDays, 'days')\n\t\t\texpireDateString = date.format('YYYY-MM-DD')\n\t\t}\n\t\treturn expireDateString\n\t}\n\n\t/**\n\t * Are link shares password-enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget enforcePasswordForPublicLink() {\n\t\treturn OC.appConfig.core.enforcePasswordForPublicLink === true\n\t}\n\n\t/**\n\t * Is password asked by default on link shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget enableLinkPasswordByDefault() {\n\t\treturn OC.appConfig.core.enableLinkPasswordByDefault === true\n\t}\n\n\t/**\n\t * Is link shares expiration enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is there a default expiration date for new link shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultExpireDateEnabled() {\n\t\treturn OC.appConfig.core.defaultExpireDateEnabled === true\n\t}\n\n\t/**\n\t * Is internal shares expiration enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultInternalExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is remote shares expiration enforced ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultRemoteExpireDateEnforced() {\n\t\treturn OC.appConfig.core.defaultRemoteExpireDateEnforced === true\n\t}\n\n\t/**\n\t * Is there a default expiration date for new internal shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isDefaultInternalExpireDateEnabled() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDateEnabled === true\n\t}\n\n\t/**\n\t * Are users on this server allowed to send shares to other servers ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isRemoteShareAllowed() {\n\t\treturn OC.appConfig.core.remoteShareAllowed === true\n\t}\n\n\t/**\n\t * Is sharing my mail (link share) enabled ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isMailShareAllowed() {\n\t\tconst capabilities = OC.getCapabilities()\n\t\t// eslint-disable-next-line camelcase\n\t\treturn capabilities?.files_sharing?.sharebymail !== undefined\n\t\t\t// eslint-disable-next-line camelcase\n\t\t\t&& capabilities?.files_sharing?.public?.enabled === true\n\t}\n\n\t/**\n\t * Get the default days to link shares expiration\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultExpireDate() {\n\t\treturn OC.appConfig.core.defaultExpireDate\n\t}\n\n\t/**\n\t * Get the default days to internal shares expiration\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultInternalExpireDate() {\n\t\treturn OC.appConfig.core.defaultInternalExpireDate\n\t}\n\n\t/**\n\t * Get the default days to remote shares expiration\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget defaultRemoteExpireDate() {\n\t\treturn OC.appConfig.core.defaultRemoteExpireDate\n\t}\n\n\t/**\n\t * Is resharing allowed ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isResharingAllowed() {\n\t\treturn OC.appConfig.core.resharingAllowed === true\n\t}\n\n\t/**\n\t * Is password enforced for mail shares ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget isPasswordForMailSharesRequired() {\n\t\treturn (OC.getCapabilities().files_sharing.sharebymail === undefined) ? false : OC.getCapabilities().files_sharing.sharebymail.password.enforced\n\t}\n\n\t/**\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget shouldAlwaysShowUnique() {\n\t\treturn (OC.getCapabilities().files_sharing?.sharee?.always_show_unique === true)\n\t}\n\n\t/**\n\t * Is sharing with groups allowed ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget allowGroupSharing() {\n\t\treturn OC.appConfig.core.allowGroupSharing === true\n\t}\n\n\t/**\n\t * Get the maximum results of a share search\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget maxAutocompleteResults() {\n\t\treturn parseInt(OC.config['sharing.maxAutocompleteResults'], 10) || 25\n\t}\n\n\t/**\n\t * Get the minimal string length\n\t * to initiate a share search\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget minSearchStringLength() {\n\t\treturn parseInt(OC.config['sharing.minSearchStringLength'], 10) || 0\n\t}\n\n\t/**\n\t * Get the password policy config\n\t *\n\t * @returns {Object}\n\t * @readonly\n\t * @memberof Config\n\t */\n\tget passwordPolicy() {\n\t\tconst capabilities = OC.getCapabilities()\n\t\treturn capabilities.password_policy ? capabilities.password_policy : {}\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Gary Kim <gary@garykim.dev>\n * @author Georg Ehrke <oc.list@georgehrke.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class Share {\n\n\t_share;\n\n\t/**\n\t * Create the share object\n\t *\n\t * @param {Object} ocsData ocs request response\n\t */\n\tconstructor(ocsData) {\n\t\tif (ocsData.ocs && ocsData.ocs.data && ocsData.ocs.data[0]) {\n\t\t\tocsData = ocsData.ocs.data[0]\n\t\t}\n\n\t\t// convert int into boolean\n\t\tocsData.hide_download = !!ocsData.hide_download\n\t\tocsData.mail_send = !!ocsData.mail_send\n\n\t\t// store state\n\t\tthis._share = ocsData\n\t}\n\n\t/**\n\t * Get the share state\n\t * ! used for reactivity purpose\n\t * Do not remove. It allow vuejs to\n\t * inject its watchers into the #share\n\t * state and make the whole class reactive\n\t *\n\t * @returns {Object} the share raw state\n\t * @readonly\n\t * @memberof Sidebar\n\t */\n\tget state() {\n\t\treturn this._share\n\t}\n\n\t/**\n\t * get the share id\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget id() {\n\t\treturn this._share.id\n\t}\n\n\t/**\n\t * Get the share type\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget type() {\n\t\treturn this._share.share_type\n\t}\n\n\t/**\n\t * Get the share permissions\n\t * See OC.PERMISSION_* variables\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget permissions() {\n\t\treturn this._share.permissions\n\t}\n\n\t/**\n\t * Set the share permissions\n\t * See OC.PERMISSION_* variables\n\t *\n\t * @param {int} permissions valid permission, See OC.PERMISSION_* variables\n\t * @memberof Share\n\t */\n\tset permissions(permissions) {\n\t\tthis._share.permissions = permissions\n\t}\n\n\t// SHARE OWNER --------------------------------------------------\n\t/**\n\t * Get the share owner uid\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget owner() {\n\t\treturn this._share.uid_owner\n\t}\n\n\t/**\n\t * Get the share owner's display name\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget ownerDisplayName() {\n\t\treturn this._share.displayname_owner\n\t}\n\n\t// SHARED WITH --------------------------------------------------\n\t/**\n\t * Get the share with entity uid\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWith() {\n\t\treturn this._share.share_with\n\t}\n\n\t/**\n\t * Get the share with entity display name\n\t * fallback to its uid if none\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithDisplayName() {\n\t\treturn this._share.share_with_displayname\n\t\t\t|| this._share.share_with\n\t}\n\n\t/**\n\t * Unique display name in case of multiple\n\t * duplicates results with the same name.\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithDisplayNameUnique() {\n\t\treturn this._share.share_with_displayname_unique\n\t\t\t|| this._share.share_with\n\t}\n\n\t/**\n\t * Get the share with entity link\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithLink() {\n\t\treturn this._share.share_with_link\n\t}\n\n\t/**\n\t * Get the share with avatar if any\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget shareWithAvatar() {\n\t\treturn this._share.share_with_avatar\n\t}\n\n\t// SHARED FILE OR FOLDER OWNER ----------------------------------\n\t/**\n\t * Get the shared item owner uid\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget uidFileOwner() {\n\t\treturn this._share.uid_file_owner\n\t}\n\n\t/**\n\t * Get the shared item display name\n\t * fallback to its uid if none\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget displaynameFileOwner() {\n\t\treturn this._share.displayname_file_owner\n\t\t\t|| this._share.uid_file_owner\n\t}\n\n\t// TIME DATA ----------------------------------------------------\n\t/**\n\t * Get the share creation timestamp\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget createdTime() {\n\t\treturn this._share.stime\n\t}\n\n\t/**\n\t * Get the expiration date as a string format\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget expireDate() {\n\t\treturn this._share.expiration\n\t}\n\n\t/**\n\t * Set the expiration date as a string format\n\t * e.g. YYYY-MM-DD\n\t *\n\t * @param {string} date the share expiration date\n\t * @memberof Share\n\t */\n\tset expireDate(date) {\n\t\tthis._share.expiration = date\n\t}\n\n\t// EXTRA DATA ---------------------------------------------------\n\t/**\n\t * Get the public share token\n\t *\n\t * @returns {string} the token\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget token() {\n\t\treturn this._share.token\n\t}\n\n\t/**\n\t * Get the share note if any\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget note() {\n\t\treturn this._share.note\n\t}\n\n\t/**\n\t * Set the share note if any\n\t *\n\t * @param {string} note the note\n\t * @memberof Share\n\t */\n\tset note(note) {\n\t\tthis._share.note = note\n\t}\n\n\t/**\n\t * Get the share label if any\n\t * Should only exist on link shares\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget label() {\n\t\treturn this._share.label\n\t}\n\n\t/**\n\t * Set the share label if any\n\t * Should only be set on link shares\n\t *\n\t * @param {string} label the label\n\t * @memberof Share\n\t */\n\tset label(label) {\n\t\tthis._share.label = label\n\t}\n\n\t/**\n\t * Have a mail been sent\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget mailSend() {\n\t\treturn this._share.mail_send === true\n\t}\n\n\t/**\n\t * Hide the download button on public page\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hideDownload() {\n\t\treturn this._share.hide_download === true\n\t}\n\n\t/**\n\t * Hide the download button on public page\n\t *\n\t * @param {boolean} state hide the button ?\n\t * @memberof Share\n\t */\n\tset hideDownload(state) {\n\t\tthis._share.hide_download = state === true\n\t}\n\n\t/**\n\t * Password protection of the share\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget password() {\n\t\treturn this._share.password\n\t}\n\n\t/**\n\t * Password protection of the share\n\t *\n\t * @param {string} password the share password\n\t * @memberof Share\n\t */\n\tset password(password) {\n\t\tthis._share.password = password\n\t}\n\n\t/**\n\t * Password protection by Talk of the share\n\t *\n\t * @returns {Boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget sendPasswordByTalk() {\n\t\treturn this._share.send_password_by_talk\n\t}\n\n\t/**\n\t * Password protection by Talk of the share\n\t *\n\t * @param {Boolean} sendPasswordByTalk whether to send the password by Talk\n\t * or not\n\t * @memberof Share\n\t */\n\tset sendPasswordByTalk(sendPasswordByTalk) {\n\t\tthis._share.send_password_by_talk = sendPasswordByTalk\n\t}\n\n\t// SHARED ITEM DATA ---------------------------------------------\n\t/**\n\t * Get the shared item absolute full path\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget path() {\n\t\treturn this._share.path\n\t}\n\n\t/**\n\t * Return the item type: file or folder\n\t *\n\t * @returns {string} 'folder' or 'file'\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget itemType() {\n\t\treturn this._share.item_type\n\t}\n\n\t/**\n\t * Get the shared item mimetype\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget mimetype() {\n\t\treturn this._share.mimetype\n\t}\n\n\t/**\n\t * Get the shared item id\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileSource() {\n\t\treturn this._share.file_source\n\t}\n\n\t/**\n\t * Get the target path on the receiving end\n\t * e.g the file /xxx/aaa will be shared in\n\t * the receiving root as /aaa, the fileTarget is /aaa\n\t *\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileTarget() {\n\t\treturn this._share.file_target\n\t}\n\n\t/**\n\t * Get the parent folder id if any\n\t *\n\t * @returns {int}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget fileParent() {\n\t\treturn this._share.file_parent\n\t}\n\n\t// PERMISSIONS Shortcuts\n\n\t/**\n\t * Does this share have READ permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasReadPermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_READ))\n\t}\n\n\t/**\n\t * Does this share have CREATE permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasCreatePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_CREATE))\n\t}\n\n\t/**\n\t * Does this share have DELETE permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasDeletePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_DELETE))\n\t}\n\n\t/**\n\t * Does this share have UPDATE permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasUpdatePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_UPDATE))\n\t}\n\n\t/**\n\t * Does this share have SHARE permissions\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget hasSharePermission() {\n\t\treturn !!((this.permissions & OC.PERMISSION_SHARE))\n\t}\n\n\t// PERMISSIONS Shortcuts for the CURRENT USER\n\t// ! the permissions above are the share settings,\n\t// ! meaning the permissions for the recipient\n\t/**\n\t * Can the current user EDIT this share ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget canEdit() {\n\t\treturn this._share.can_edit === true\n\t}\n\n\t/**\n\t * Can the current user DELETE this share ?\n\t *\n\t * @returns {boolean}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget canDelete() {\n\t\treturn this._share.can_delete === true\n\t}\n\n\t/**\n\t * Top level accessible shared folder fileid for the current user\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget viaFileid() {\n\t\treturn this._share.via_fileid\n\t}\n\n\t/**\n\t * Top level accessible shared folder path for the current user\n\t * @returns {string}\n\t * @readonly\n\t * @memberof Share\n\t */\n\tget viaPath() {\n\t\treturn this._share.via_path\n\t}\n\n\t// TODO: SORT THOSE PROPERTIES\n\n\tget parent() {\n\t\treturn this._share.parent\n\t}\n\n\tget storageId() {\n\t\treturn this._share.storage_id\n\t}\n\n\tget storage() {\n\t\treturn this._share.storage\n\t}\n\n\tget itemSource() {\n\t\treturn this._share.item_source\n\t}\n\n\tget status() {\n\t\treturn this._share.status\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tSHARE_TYPES: {\n\t\t\t\tSHARE_TYPE_USER: OC.Share.SHARE_TYPE_USER,\n\t\t\t\tSHARE_TYPE_GROUP: OC.Share.SHARE_TYPE_GROUP,\n\t\t\t\tSHARE_TYPE_LINK: OC.Share.SHARE_TYPE_LINK,\n\t\t\t\tSHARE_TYPE_EMAIL: OC.Share.SHARE_TYPE_EMAIL,\n\t\t\t\tSHARE_TYPE_REMOTE: OC.Share.SHARE_TYPE_REMOTE,\n\t\t\t\tSHARE_TYPE_CIRCLE: OC.Share.SHARE_TYPE_CIRCLE,\n\t\t\t\tSHARE_TYPE_GUEST: OC.Share.SHARE_TYPE_GUEST,\n\t\t\t\tSHARE_TYPE_DECK: OC.Share.SHARE_TYPE_DECK,\n\t\t\t\tSHARE_TYPE_REMOTE_GROUP: OC.Share.SHARE_TYPE_REMOTE_GROUP,\n\t\t\t\tSHARE_TYPE_ROOM: OC.Share.SHARE_TYPE_ROOM,\n\t\t\t},\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!./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 - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<slot name=\"avatar\" />\n\t\t<div v-tooltip=\"tooltip\" class=\"sharing-entry__desc\">\n\t\t\t<h5>{{ title }}</h5>\n\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t{{ subtitle }}\n\t\t\t</p>\n\t\t</div>\n\t\t<Actions v-if=\"$slots['default']\" menu-align=\"right\" class=\"sharing-entry__actions\">\n\t\t\t<slot />\n\t\t</Actions>\n\t</li>\n</template>\n\n<script>\nimport Actions from '@nextcloud/vue/dist/Components/Actions'\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\n\nexport default {\n\tname: 'SharingEntrySimple',\n\n\tcomponents: {\n\t\tActions,\n\t},\n\n\tdirectives: {\n\t\tTooltip,\n\t},\n\n\tprops: {\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t},\n\t\ttooltip: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tsubtitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tisUnique: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 44px;\n\t&__desc {\n\t\tpadding: 8px;\n\t\tline-height: 1.2em;\n\t\tposition: relative;\n\t\tflex: 1 1;\n\t\tmin-width: 0;\n\t\th5 {\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\tmax-width: inherit;\n\t\t}\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-left: auto !important;\n\t}\n}\n</style>\n","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content 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=1436bf4a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingEntrySimple.vue?vue&type=template&id=1436bf4a&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=1436bf4a&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 \"1436bf4a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"sharing-entry\"},[_vm._t(\"avatar\"),_vm._v(\" \"),_c('div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"}],staticClass:\"sharing-entry__desc\"},[_c('h5',[_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('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\"}},[_vm._t(\"default\")],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n<template>\n\t<SharingEntrySimple\n\t\tclass=\"sharing-entry__internal\"\n\t\t:title=\"t('files_sharing', 'Internal link')\"\n\t\t:subtitle=\"internalLinkSubtitle\">\n\t\t<template #avatar>\n\t\t\t<div class=\"avatar-external icon-external-white\" />\n\t\t</template>\n\n\t\t<ActionLink ref=\"copyButton\"\n\t\t\t:href=\"internalLink\"\n\t\t\ttarget=\"_blank\"\n\t\t\t:icon=\"copied && copySuccess ? 'icon-checkmark-color' : 'icon-clippy'\"\n\t\t\t@click.prevent=\"copyLink\">\n\t\t\t{{ clipboardTooltip }}\n\t\t</ActionLink>\n\t</SharingEntrySimple>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport ActionLink from '@nextcloud/vue/dist/Components/ActionLink'\nimport SharingEntrySimple from './SharingEntrySimple'\n\nexport default {\n\tname: 'SharingEntryInternal',\n\n\tcomponents: {\n\t\tActionLink,\n\t\tSharingEntrySimple,\n\t},\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},\n\n\tdata() {\n\t\treturn {\n\t\t\tcopied: false,\n\t\t\tcopySuccess: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Get the internal link to this file id\n\t\t * @returns {string}\n\t\t */\n\t\tinternalLink() {\n\t\t\treturn window.location.protocol + '//' + window.location.host + generateUrl('/f/') + this.fileInfo.id\n\t\t},\n\n\t\t/**\n\t\t * Clipboard v-tooltip message\n\t\t * @returns {string}\n\t\t */\n\t\tclipboardTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\treturn this.copySuccess\n\t\t\t\t\t? t('files_sharing', 'Link copied')\n\t\t\t\t\t: t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy to clipboard')\n\t\t},\n\n\t\tinternalLinkSubtitle() {\n\t\t\tif (this.fileInfo.type === 'dir') {\n\t\t\t\treturn t('files_sharing', 'Only works for users with access to this folder')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Only works for users with access to this file')\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait this.$copyText(this.internalLink)\n\t\t\t\t// focus and show the tooltip\n\t\t\t\tthis.$refs.copyButton.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\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}\n}\n</style>\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&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content 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=8239c8d6&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingEntryInternal.vue?vue&type=template&id=8239c8d6&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=8239c8d6&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 \"8239c8d6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SharingEntrySimple',{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('ActionLink',{ref:\"copyButton\",attrs:{\"href\":_vm.internalLink,\"target\":\"_blank\",\"icon\":_vm.copied && _vm.copySuccess ? 'icon-checkmark-color' : 'icon-clippy'},on:{\"click\":function($event){$event.preventDefault();return _vm.copyLink.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.clipboardTooltip)+\"\\n\\t\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport Config from '../services/ConfigService'\n\nconst config = new Config()\nconst passwordSet = 'abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789'\n\n/**\n * Generate a valid policy password or\n * request a valid password if password_policy\n * is enabled\n *\n * @returns {string} a valid password\n */\nexport default async function() {\n\t// password policy is enabled, let's request a pass\n\tif (config.passwordPolicy.api && config.passwordPolicy.api.generate) {\n\t\ttry {\n\t\t\tconst request = await axios.get(config.passwordPolicy.api.generate)\n\t\t\tif (request.data.ocs.data.password) {\n\t\t\t\treturn request.data.ocs.data.password\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.info('Error generating password from password_policy', error)\n\t\t}\n\t}\n\n\t// generate password of 10 length based on passwordSet\n\treturn Array(10).fill(0)\n\t\t.reduce((prev, curr) => {\n\t\t\tprev += passwordSet.charAt(Math.floor(Math.random() * passwordSet.length))\n\t\t\treturn prev\n\t\t}, '')\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// TODO: remove when ie not supported\nimport 'url-search-params-polyfill'\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport axios from '@nextcloud/axios'\nimport Share from '../models/Share'\n\nconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\nconst headers = {\n\t'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',\n}\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=false] 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=31] 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=false] send the password via a talk conversation\n\t\t * @param {string} [data.expireDate=''] expire the shareautomatically after\n\t\t * @param {string} [data.label=''] custom label\n\t\t * @returns {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 }) {\n\t\t\ttry {\n\t\t\t\tconst request = await axios.post(shareUrl, { path, permissions, shareType, shareWith, publicUpload, password, sendPasswordByTalk, expireDate, label })\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\treturn new Share(request.data.ocs.data)\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while creating share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error creating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error creating the share'),\n\t\t\t\t\t{ type: 'error' }\n\t\t\t\t)\n\t\t\t\tthrow 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\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while deleting share', error)\n\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\terrorMessage ? t('files_sharing', 'Error deleting the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error deleting the share'),\n\t\t\t\t\t{ type: 'error' }\n\t\t\t\t)\n\t\t\t\tthrow 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, headers)\n\t\t\t\tif (!request?.data?.ocs) {\n\t\t\t\t\tthrow request\n\t\t\t\t}\n\t\t\t\treturn true\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error while updating share', error)\n\t\t\t\tif (error.response.status !== 400) {\n\t\t\t\t\tconst errorMessage = error?.response?.data?.ocs?.meta?.message\n\t\t\t\t\tOC.Notification.showTemporary(\n\t\t\t\t\t\terrorMessage ? t('files_sharing', 'Error updating the share: {errorMessage}', { errorMessage }) : t('files_sharing', 'Error updating the share'),\n\t\t\t\t\t\t{ type: 'error' }\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tconst message = error.response.data.ocs.meta.message\n\t\t\t\tthrow new Error(message)\n\t\t\t}\n\t\t},\n\t},\n}\n","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<Multiselect ref=\"multiselect\"\n\t\tclass=\"sharing-input\"\n\t\t:clear-on-select=\"true\"\n\t\t:disabled=\"!canReshare\"\n\t\t:hide-selected=\"true\"\n\t\t:internal-search=\"false\"\n\t\t:loading=\"loading\"\n\t\t:options=\"options\"\n\t\t:placeholder=\"inputPlaceholder\"\n\t\t:preselect-first=\"true\"\n\t\t:preserve-search=\"true\"\n\t\t:searchable=\"true\"\n\t\t:user-select=\"true\"\n\t\topen-direction=\"below\"\n\t\tlabel=\"displayName\"\n\t\ttrack-by=\"id\"\n\t\t@search-change=\"asyncFind\"\n\t\t@select=\"addShare\">\n\t\t<template #noOptions>\n\t\t\t{{ t('files_sharing', 'No recommendations. Start typing.') }}\n\t\t</template>\n\t\t<template #noResult>\n\t\t\t{{ noResultText }}\n\t\t</template>\n\t</Multiselect>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport axios from '@nextcloud/axios'\nimport debounce from 'debounce'\nimport Multiselect from '@nextcloud/vue/dist/Components/Multiselect'\n\nimport Config from '../services/ConfigService'\nimport GeneratePassword from '../utils/GeneratePassword'\nimport Share from '../models/Share'\nimport ShareRequests from '../mixins/ShareRequests'\nimport ShareTypes from '../mixins/ShareTypes'\n\nexport default {\n\tname: 'SharingInput',\n\n\tcomponents: {\n\t\tMultiselect,\n\t},\n\n\tmixins: [ShareTypes, ShareRequests],\n\n\tprops: {\n\t\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tlinkShares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tfileInfo: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {},\n\t\t\trequired: true,\n\t\t},\n\t\treshare: {\n\t\t\ttype: Share,\n\t\t\tdefault: null,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\t\t\tloading: false,\n\t\t\tquery: '',\n\t\t\trecommendations: [],\n\t\t\tShareSearch: OCA.Sharing.ShareSearch.state,\n\t\t\tsuggestions: [],\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Implement ShareSearch\n\t\t * allows external appas to inject new\n\t\t * results into the autocomplete dropdown\n\t\t * Used for the guests app\n\t\t *\n\t\t * @returns {Array}\n\t\t */\n\t\texternalResults() {\n\t\t\treturn this.ShareSearch.results\n\t\t},\n\t\tinputPlaceholder() {\n\t\t\tconst allowRemoteSharing = this.config.isRemoteShareAllowed\n\n\t\t\tif (!this.canReshare) {\n\t\t\t\treturn t('files_sharing', 'Resharing is not allowed')\n\t\t\t}\n\t\t\t// We can always search with email addresses for users too\n\t\t\tif (!allowRemoteSharing) {\n\t\t\t\treturn t('files_sharing', 'Name or email …')\n\t\t\t}\n\n\t\t\treturn t('files_sharing', 'Name, email, or Federated Cloud ID …')\n\t\t},\n\n\t\tisValidQuery() {\n\t\t\treturn this.query && this.query.trim() !== '' && this.query.length > this.config.minSearchStringLength\n\t\t},\n\n\t\toptions() {\n\t\t\tif (this.isValidQuery) {\n\t\t\t\treturn this.suggestions\n\t\t\t}\n\t\t\treturn this.recommendations\n\t\t},\n\n\t\tnoResultText() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn t('files_sharing', 'Searching …')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'No elements found.')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.getRecommendations()\n\t},\n\n\tmethods: {\n\t\tasync asyncFind(query, id) {\n\t\t\t// save current query to check if we display\n\t\t\t// recommendations or search results\n\t\t\tthis.query = query.trim()\n\t\t\tif (this.isValidQuery) {\n\t\t\t\t// start loading now to have proper ux feedback\n\t\t\t\t// during the debounce\n\t\t\t\tthis.loading = true\n\t\t\t\tawait this.debounceGetSuggestions(query)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get suggestions\n\t\t *\n\t\t * @param {string} search the search query\n\t\t * @param {boolean} [lookup=false] search on lookup server\n\t\t */\n\t\tasync getSuggestions(search, lookup = false) {\n\t\t\tthis.loading = true\n\n\t\t\tif (OC.getCapabilities().files_sharing.sharee.query_lookup_default === true) {\n\t\t\t\tlookup = true\n\t\t\t}\n\n\t\t\tconst shareType = [\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_USER,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_GROUP,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_REMOTE,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_CIRCLE,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_ROOM,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_GUEST,\n\t\t\t\tthis.SHARE_TYPES.SHARE_TYPE_DECK,\n\t\t\t]\n\n\t\t\tif (OC.getCapabilities().files_sharing.public.enabled === true) {\n\t\t\t\tshareType.push(this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\t\t\t}\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type === 'dir' ? 'folder' : 'file',\n\t\t\t\t\t\tsearch,\n\t\t\t\t\t\tlookup,\n\t\t\t\t\t\tperPage: this.config.maxAutocompleteResults,\n\t\t\t\t\t\tshareType,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching suggestions', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst data = request.data.ocs.data\n\t\t\tconst exact = request.data.ocs.data.exact\n\t\t\tdata.exact = [] // removing exact from general results\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawExactSuggestions = Object.values(exact).reduce((arr, elem) => arr.concat(elem), [])\n\t\t\tconst rawSuggestions = Object.values(data).reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tconst exactSuggestions = this.filterOutExistingShares(rawExactSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\t\t\tconst suggestions = this.filterOutExistingShares(rawSuggestions)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t// sort by type so we can get user&groups first...\n\t\t\t\t.sort((a, b) => a.shareType - b.shareType)\n\n\t\t\t// lookup clickable entry\n\t\t\t// show if enabled and not already requested\n\t\t\tconst lookupEntry = []\n\t\t\tif (data.lookupEnabled && !lookup) {\n\t\t\t\tlookupEntry.push({\n\t\t\t\t\tid: 'global-lookup',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tdisplayName: t('files_sharing', 'Search globally'),\n\t\t\t\t\tlookup: true,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\t// if there is a condition specified, filter it\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\tconst allSuggestions = exactSuggestions.concat(suggestions).concat(externalResults).concat(lookupEntry)\n\n\t\t\t// Count occurances of display names in order to provide a distinguishable description if needed\n\t\t\tconst nameCounts = allSuggestions.reduce((nameCounts, result) => {\n\t\t\t\tif (!result.displayName) {\n\t\t\t\t\treturn nameCounts\n\t\t\t\t}\n\t\t\t\tif (!nameCounts[result.displayName]) {\n\t\t\t\t\tnameCounts[result.displayName] = 0\n\t\t\t\t}\n\t\t\t\tnameCounts[result.displayName]++\n\t\t\t\treturn nameCounts\n\t\t\t}, {})\n\n\t\t\tthis.suggestions = allSuggestions.map(item => {\n\t\t\t\t// Make sure that items with duplicate displayName get the shareWith applied as a description\n\t\t\t\tif (nameCounts[item.displayName] > 1 && !item.desc) {\n\t\t\t\t\treturn { ...item, desc: item.shareWithDisplayNameUnique }\n\t\t\t\t}\n\t\t\t\treturn item\n\t\t\t})\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('suggestions', this.suggestions)\n\t\t},\n\n\t\t/**\n\t\t * Debounce getSuggestions\n\t\t *\n\t\t * @param {...*} args the arguments\n\t\t */\n\t\tdebounceGetSuggestions: debounce(function(...args) {\n\t\t\tthis.getSuggestions(...args)\n\t\t}, 300),\n\n\t\t/**\n\t\t * Get the sharing recommendations\n\t\t */\n\t\tasync getRecommendations() {\n\t\t\tthis.loading = true\n\n\t\t\tlet request = null\n\t\t\ttry {\n\t\t\t\trequest = await axios.get(generateOcsUrl('apps/files_sharing/api/v1/sharees_recommended'), {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat: 'json',\n\t\t\t\t\t\titemType: this.fileInfo.type,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error('Error fetching recommendations', error)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Add external results from the OCA.Sharing.ShareSearch api\n\t\t\tconst externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))\n\n\t\t\t// flatten array of arrays\n\t\t\tconst rawRecommendations = Object.values(request.data.ocs.data.exact)\n\t\t\t\t.reduce((arr, elem) => arr.concat(elem), [])\n\n\t\t\t// remove invalid data and format to user-select layout\n\t\t\tthis.recommendations = this.filterOutExistingShares(rawRecommendations)\n\t\t\t\t.map(share => this.formatForMultiselect(share))\n\t\t\t\t.concat(externalResults)\n\n\t\t\tthis.loading = false\n\t\t\tconsole.info('recommendations', this.recommendations)\n\t\t},\n\n\t\t/**\n\t\t * Filter out existing shares from\n\t\t * the provided shares search results\n\t\t *\n\t\t * @param {Object[]} shares the array of shares object\n\t\t * @returns {Object[]}\n\t\t */\n\t\tfilterOutExistingShares(shares) {\n\t\t\treturn shares.reduce((arr, share) => {\n\t\t\t\t// only check proper objects\n\t\t\t\tif (typeof share !== 'object') {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\tif (share.value.shareType === this.SHARE_TYPES.SHARE_TYPE_USER) {\n\t\t\t\t\t\t// filter out current user\n\t\t\t\t\t\tif (share.value.shareWith === getCurrentUser().uid) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// filter out the owner of the share\n\t\t\t\t\t\tif (this.reshare && share.value.shareWith === this.reshare.owner) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// filter out existing mail shares\n\t\t\t\t\tif (share.value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\t\tconst emails = this.linkShares.map(elem => elem.shareWith)\n\t\t\t\t\t\tif (emails.indexOf(share.value.shareWith.trim()) !== -1) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t} else { // filter out existing shares\n\t\t\t\t\t\t// creating an object of uid => type\n\t\t\t\t\t\tconst sharesObj = this.shares.reduce((obj, elem) => {\n\t\t\t\t\t\t\tobj[elem.shareWith] = elem.type\n\t\t\t\t\t\t\treturn obj\n\t\t\t\t\t\t}, {})\n\n\t\t\t\t\t\t// if shareWith is the same and the share type too, ignore it\n\t\t\t\t\t\tconst key = share.value.shareWith.trim()\n\t\t\t\t\t\tif (key in sharesObj\n\t\t\t\t\t\t\t&& sharesObj[key] === share.value.shareType) {\n\t\t\t\t\t\t\treturn arr\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// ALL GOOD\n\t\t\t\t\t// let's add the suggestion\n\t\t\t\t\tarr.push(share)\n\t\t\t\t} catch {\n\t\t\t\t\treturn arr\n\t\t\t\t}\n\t\t\t\treturn arr\n\t\t\t}, [])\n\t\t},\n\n\t\t/**\n\t\t * Get the icon based on the share type\n\t\t * @param {number} type the share type\n\t\t * @returns {string} the icon class\n\t\t */\n\t\tshareTypeToIcon(type) {\n\t\t\tswitch (type) {\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GUEST:\n\t\t\t\t// default is a user, other icons are here to differenciate\n\t\t\t\t// themselves from it, so let's not display the user icon\n\t\t\t\t// case this.SHARE_TYPES.SHARE_TYPE_REMOTE:\n\t\t\t\t// case this.SHARE_TYPES.SHARE_TYPE_USER:\n\t\t\t\treturn 'icon-user'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP:\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_GROUP:\n\t\t\t\treturn 'icon-group'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_EMAIL:\n\t\t\t\treturn 'icon-mail'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_CIRCLE:\n\t\t\t\treturn 'icon-circle'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_ROOM:\n\t\t\t\treturn 'icon-room'\n\t\t\tcase this.SHARE_TYPES.SHARE_TYPE_DECK:\n\t\t\t\treturn 'icon-deck'\n\n\t\t\tdefault:\n\t\t\t\treturn ''\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Format shares for the multiselect options\n\t\t * @param {Object} result select entry item\n\t\t * @returns {Object}\n\t\t */\n\t\tformatForMultiselect(result) {\n\t\t\tlet subtitle\n\t\t\tif (result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_USER && this.config.shouldAlwaysShowUnique) {\n\t\t\t\tsubtitle = result.shareWithDisplayNameUnique ?? ''\n\t\t\t} else if ((result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_REMOTE\n\t\t\t\t\t|| result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP\n\t\t\t) && result.value.server) {\n\t\t\t\tsubtitle = t('files_sharing', 'on {server}', { server: result.value.server })\n\t\t\t} else if (result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\tsubtitle = result.value.shareWith\n\t\t\t} else {\n\t\t\t\tsubtitle = result.shareWithDescription ?? ''\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tid: `${result.value.shareType}-${result.value.shareWith}`,\n\t\t\t\tshareWith: result.value.shareWith,\n\t\t\t\tshareType: result.value.shareType,\n\t\t\t\tuser: result.uuid || result.value.shareWith,\n\t\t\t\tisNoUser: result.value.shareType !== this.SHARE_TYPES.SHARE_TYPE_USER,\n\t\t\t\tdisplayName: result.name || result.label,\n\t\t\t\tsubtitle,\n\t\t\t\tshareWithDisplayNameUnique: result.shareWithDisplayNameUnique || '',\n\t\t\t\ticon: this.shareTypeToIcon(result.value.shareType),\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the new share request\n\t\t * @param {Object} value the multiselect option\n\t\t */\n\t\tasync addShare(value) {\n\t\t\tif (value.lookup) {\n\t\t\t\tawait this.getSuggestions(this.query, true)\n\n\t\t\t\t// focus the input again\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tthis.$refs.multiselect.$el.querySelector('.multiselect__input').focus()\n\t\t\t\t})\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\t// handle externalResults from OCA.Sharing.ShareSearch\n\t\t\tif (value.handler) {\n\t\t\t\tconst share = await value.handler(this)\n\t\t\t\tthis.$emit('add:share', new Share(share))\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\tthis.loading = true\n\t\t\tconsole.debug('Adding a new share from the input for', value)\n\t\t\ttry {\n\t\t\t\tlet password = null\n\n\t\t\t\tif (this.config.enforcePasswordForPublicLink\n\t\t\t\t\t&& value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\t\tpassword = await GeneratePassword()\n\t\t\t\t}\n\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t\t\tconst share = await this.createShare({\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: value.shareType,\n\t\t\t\t\tshareWith: value.shareWith,\n\t\t\t\t\tpassword,\n\t\t\t\t\tpermissions: this.fileInfo.sharePermissions & OC.getCapabilities().files_sharing.default_permissions,\n\t\t\t\t})\n\n\t\t\t\t// If we had a password, we need to show it to the user as it was generated\n\t\t\t\tif (password) {\n\t\t\t\t\tshare.newPassword = password\n\t\t\t\t\t// Wait for the newly added share\n\t\t\t\t\tconst component = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('add:share', share, resolve)\n\t\t\t\t\t})\n\n\t\t\t\t\t// open the menu on the\n\t\t\t\t\t// freshly created share component\n\t\t\t\t\tcomponent.open = true\n\t\t\t\t} else {\n\t\t\t\t\t// Else we just add it normally\n\t\t\t\t\tthis.$emit('add:share', share)\n\t\t\t\t}\n\n\t\t\t\t// reset the search string when done\n\t\t\t\t// FIXME: https://github.com/shentao/vue-multiselect/issues/633\n\t\t\t\tif (this.$refs.multiselect?.$refs?.VueMultiselect?.search) {\n\t\t\t\t\tthis.$refs.multiselect.$refs.VueMultiselect.search = ''\n\t\t\t\t}\n\n\t\t\t\tawait this.getRecommendations()\n\t\t\t} catch (error) {\n\t\t\t\t// focus back if any error\n\t\t\t\tconst input = this.$refs.multiselect.$el.querySelector('input')\n\t\t\t\tif (input) {\n\t\t\t\t\tinput.focus()\n\t\t\t\t}\n\t\t\t\tthis.query = value.shareWith\n\t\t\t\tconsole.error('Error while adding new share', error)\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n.sharing-input {\n\twidth: 100%;\n\tmargin: 10px 0;\n\n\t// properly style the lookup entry\n\t.multiselect__option {\n\t\tspan[lookup] {\n\t\t\t.avatardiv {\n\t\t\t\tbackground-image: var(--icon-search-fff);\n\t\t\t\tbackground-repeat: no-repeat;\n\t\t\t\tbackground-position: center;\n\t\t\t\tbackground-color: var(--color-text-maxcontrast) !important;\n\t\t\t\tdiv {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\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&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content 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&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingInput.vue?vue&type=template&id=0d598a04&\"\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&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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Multiselect',{ref:\"multiselect\",staticClass:\"sharing-input\",attrs:{\"clear-on-select\":true,\"disabled\":!_vm.canReshare,\"hide-selected\":true,\"internal-search\":false,\"loading\":_vm.loading,\"options\":_vm.options,\"placeholder\":_vm.inputPlaceholder,\"preselect-first\":true,\"preserve-search\":true,\"searchable\":true,\"user-select\":true,\"open-direction\":\"below\",\"label\":\"displayName\",\"track-by\":\"id\"},on:{\"search-change\":_vm.asyncFind,\"select\":_vm.addShare},scopedSlots:_vm._u([{key:\"noOptions\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('files_sharing', 'No recommendations. Start typing.'))+\"\\n\\t\")]},proxy:true},{key:\"noResult\",fn:function(){return [_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.noResultText)+\"\\n\\t\")]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export class TimeoutError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'TimeoutError';\n\t}\n}\n\nexport default function pTimeout(promise, milliseconds, fallback, options) {\n\tlet timer;\n\tconst cancelablePromise = new Promise((resolve, reject) => {\n\t\tif (typeof milliseconds !== 'number' || milliseconds < 0) {\n\t\t\tthrow new TypeError('Expected `milliseconds` to be a positive number');\n\t\t}\n\n\t\tif (milliseconds === Number.POSITIVE_INFINITY) {\n\t\t\tresolve(promise);\n\t\t\treturn;\n\t\t}\n\n\t\toptions = {\n\t\t\tcustomTimers: {setTimeout, clearTimeout},\n\t\t\t...options\n\t\t};\n\n\t\ttimer = options.customTimers.setTimeout.call(undefined, () => {\n\t\t\tif (typeof fallback === 'function') {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(fallback());\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst message = typeof fallback === 'string' ? fallback : `Promise timed out after ${milliseconds} milliseconds`;\n\t\t\tconst timeoutError = fallback instanceof Error ? fallback : new TimeoutError(message);\n\n\t\t\tif (typeof promise.cancel === 'function') {\n\t\t\t\tpromise.cancel();\n\t\t\t}\n\n\t\t\treject(timeoutError);\n\t\t}, milliseconds);\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tresolve(await promise);\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t} finally {\n\t\t\t\toptions.customTimers.clearTimeout.call(undefined, timer);\n\t\t\t}\n\t\t})();\n\t});\n\n\tcancelablePromise.clear = () => {\n\t\tclearTimeout(timer);\n\t\ttimer = undefined;\n\t};\n\n\treturn cancelablePromise;\n}\n","import lowerBound from './lower-bound.js';\nexport default class PriorityQueue {\n constructor() {\n Object.defineProperty(this, \"_queue\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: []\n });\n }\n enqueue(run, options) {\n var _a;\n options = {\n priority: 0,\n ...options\n };\n const element = {\n priority: options.priority,\n run\n };\n if (this.size && ((_a = this._queue[this.size - 1]) === null || _a === void 0 ? void 0 : _a.priority) >= options.priority) {\n this._queue.push(element);\n return;\n }\n const index = lowerBound(this._queue, element, (a, b) => b.priority - a.priority);\n this._queue.splice(index, 0, element);\n }\n dequeue() {\n const item = this._queue.shift();\n return item === null || item === void 0 ? void 0 : item.run;\n }\n filter(options) {\n return this._queue.filter((element) => element.priority === options.priority).map((element) => element.run);\n }\n get size() {\n return this._queue.length;\n }\n}\n","// Port of lower_bound from https://en.cppreference.com/w/cpp/algorithm/lower_bound\n// Used to compute insertion index to keep queue sorted after insertion\nexport default function lowerBound(array, value, comparator) {\n let first = 0;\n let count = array.length;\n while (count > 0) {\n const step = Math.trunc(count / 2);\n let it = first + step;\n if (comparator(array[it], value) <= 0) {\n first = ++it;\n count -= step + 1;\n }\n else {\n count = step;\n }\n }\n return first;\n}\n","import EventEmitter from 'eventemitter3';\nimport pTimeout, { TimeoutError } from 'p-timeout';\nimport PriorityQueue from './priority-queue.js';\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst empty = () => { };\nconst timeoutError = new TimeoutError();\n/**\nPromise queue with concurrency control.\n*/\nexport default class PQueue extends EventEmitter {\n constructor(options) {\n var _a, _b, _c, _d;\n super();\n Object.defineProperty(this, \"_carryoverConcurrencyCount\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_isIntervalIgnored\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_intervalCount\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n Object.defineProperty(this, \"_intervalCap\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_interval\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_intervalEnd\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n Object.defineProperty(this, \"_intervalId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_timeoutId\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_queue\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_queueClass\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_pendingCount\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 0\n });\n // The `!` is needed because of https://github.com/microsoft/TypeScript/issues/32194\n Object.defineProperty(this, \"_concurrency\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_isPaused\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_resolveEmpty\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: empty\n });\n Object.defineProperty(this, \"_resolveIdle\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: empty\n });\n Object.defineProperty(this, \"_timeout\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"_throwOnTimeout\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n options = {\n carryoverConcurrencyCount: false,\n intervalCap: Number.POSITIVE_INFINITY,\n interval: 0,\n concurrency: Number.POSITIVE_INFINITY,\n autoStart: true,\n queueClass: PriorityQueue,\n ...options\n };\n if (!(typeof options.intervalCap === 'number' && options.intervalCap >= 1)) {\n throw new TypeError(`Expected \\`intervalCap\\` to be a number from 1 and up, got \\`${(_b = (_a = options.intervalCap) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : ''}\\` (${typeof options.intervalCap})`);\n }\n if (options.interval === undefined || !(Number.isFinite(options.interval) && options.interval >= 0)) {\n throw new TypeError(`Expected \\`interval\\` to be a finite number >= 0, got \\`${(_d = (_c = options.interval) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : ''}\\` (${typeof options.interval})`);\n }\n this._carryoverConcurrencyCount = options.carryoverConcurrencyCount;\n this._isIntervalIgnored = options.intervalCap === Number.POSITIVE_INFINITY || options.interval === 0;\n this._intervalCap = options.intervalCap;\n this._interval = options.interval;\n this._queue = new options.queueClass();\n this._queueClass = options.queueClass;\n this.concurrency = options.concurrency;\n this._timeout = options.timeout;\n this._throwOnTimeout = options.throwOnTimeout === true;\n this._isPaused = options.autoStart === false;\n }\n get _doesIntervalAllowAnother() {\n return this._isIntervalIgnored || this._intervalCount < this._intervalCap;\n }\n get _doesConcurrentAllowAnother() {\n return this._pendingCount < this._concurrency;\n }\n _next() {\n this._pendingCount--;\n this._tryToStartAnother();\n this.emit('next');\n }\n _resolvePromises() {\n this._resolveEmpty();\n this._resolveEmpty = empty;\n if (this._pendingCount === 0) {\n this._resolveIdle();\n this._resolveIdle = empty;\n this.emit('idle');\n }\n }\n _onResumeInterval() {\n this._onInterval();\n this._initializeIntervalIfNeeded();\n this._timeoutId = undefined;\n }\n _isIntervalPaused() {\n const now = Date.now();\n if (this._intervalId === undefined) {\n const delay = this._intervalEnd - now;\n if (delay < 0) {\n // Act as the interval was done\n // We don't need to resume it here because it will be resumed on line 160\n this._intervalCount = (this._carryoverConcurrencyCount) ? this._pendingCount : 0;\n }\n else {\n // Act as the interval is pending\n if (this._timeoutId === undefined) {\n this._timeoutId = setTimeout(() => {\n this._onResumeInterval();\n }, delay);\n }\n return true;\n }\n }\n return false;\n }\n _tryToStartAnother() {\n if (this._queue.size === 0) {\n // We can clear the interval (\"pause\")\n // Because we can redo it later (\"resume\")\n if (this._intervalId) {\n clearInterval(this._intervalId);\n }\n this._intervalId = undefined;\n this._resolvePromises();\n return false;\n }\n if (!this._isPaused) {\n const canInitializeInterval = !this._isIntervalPaused();\n if (this._doesIntervalAllowAnother && this._doesConcurrentAllowAnother) {\n const job = this._queue.dequeue();\n if (!job) {\n return false;\n }\n this.emit('active');\n job();\n if (canInitializeInterval) {\n this._initializeIntervalIfNeeded();\n }\n return true;\n }\n }\n return false;\n }\n _initializeIntervalIfNeeded() {\n if (this._isIntervalIgnored || this._intervalId !== undefined) {\n return;\n }\n this._intervalId = setInterval(() => {\n this._onInterval();\n }, this._interval);\n this._intervalEnd = Date.now() + this._interval;\n }\n _onInterval() {\n if (this._intervalCount === 0 && this._pendingCount === 0 && this._intervalId) {\n clearInterval(this._intervalId);\n this._intervalId = undefined;\n }\n this._intervalCount = this._carryoverConcurrencyCount ? this._pendingCount : 0;\n this._processQueue();\n }\n /**\n Executes all queued functions until it reaches the limit.\n */\n _processQueue() {\n // eslint-disable-next-line no-empty\n while (this._tryToStartAnother()) { }\n }\n get concurrency() {\n return this._concurrency;\n }\n set concurrency(newConcurrency) {\n if (!(typeof newConcurrency === 'number' && newConcurrency >= 1)) {\n throw new TypeError(`Expected \\`concurrency\\` to be a number from 1 and up, got \\`${newConcurrency}\\` (${typeof newConcurrency})`);\n }\n this._concurrency = newConcurrency;\n this._processQueue();\n }\n /**\n Adds a sync or async task to the queue. Always returns a promise.\n */\n async add(fn, options = {}) {\n return new Promise((resolve, reject) => {\n const run = async () => {\n this._pendingCount++;\n this._intervalCount++;\n try {\n const operation = (this._timeout === undefined && options.timeout === undefined) ? fn() : pTimeout(Promise.resolve(fn()), (options.timeout === undefined ? this._timeout : options.timeout), () => {\n if (options.throwOnTimeout === undefined ? this._throwOnTimeout : options.throwOnTimeout) {\n reject(timeoutError);\n }\n return undefined;\n });\n const result = await operation;\n resolve(result);\n this.emit('completed', result);\n }\n catch (error) {\n reject(error);\n this.emit('error', error);\n }\n this._next();\n };\n this._queue.enqueue(run, options);\n this._tryToStartAnother();\n this.emit('add');\n });\n }\n /**\n Same as `.add()`, but accepts an array of sync or async functions.\n\n @returns A promise that resolves when all functions are resolved.\n */\n async addAll(functions, options) {\n return Promise.all(functions.map(async (function_) => this.add(function_, options)));\n }\n /**\n Start (or resume) executing enqueued tasks within concurrency limit. No need to call this if queue is not paused (via `options.autoStart = false` or by `.pause()` method.)\n */\n start() {\n if (!this._isPaused) {\n return this;\n }\n this._isPaused = false;\n this._processQueue();\n return this;\n }\n /**\n Put queue execution on hold.\n */\n pause() {\n this._isPaused = true;\n }\n /**\n Clear the queue.\n */\n clear() {\n this._queue = new this._queueClass();\n }\n /**\n Can be called multiple times. Useful if you for example add additional items at a later time.\n\n @returns A promise that settles when the queue becomes empty.\n */\n async onEmpty() {\n // Instantly resolve if the queue is empty\n if (this._queue.size === 0) {\n return;\n }\n return new Promise(resolve => {\n const existingResolve = this._resolveEmpty;\n this._resolveEmpty = () => {\n existingResolve();\n resolve();\n };\n });\n }\n /**\n @returns A promise that settles when the queue size is less than the given limit: `queue.size < limit`.\n\n If you want to avoid having the queue grow beyond a certain size you can `await queue.onSizeLessThan()` before adding a new item.\n\n Note that this only limits the number of items waiting to start. There could still be up to `concurrency` jobs already running that this call does not include in its calculation.\n */\n async onSizeLessThan(limit) {\n // Instantly resolve if the queue is empty.\n if (this._queue.size < limit) {\n return;\n }\n return new Promise(resolve => {\n const listener = () => {\n if (this._queue.size < limit) {\n this.removeListener('next', listener);\n resolve();\n }\n };\n this.on('next', listener);\n });\n }\n /**\n The difference with `.onEmpty` is that `.onIdle` guarantees that all work from the queue has finished. `.onEmpty` merely signals that the queue is empty, but it could mean that some promises haven't completed yet.\n\n @returns A promise that settles when the queue becomes empty, and all promises have completed; `queue.size === 0 && queue.pending === 0`.\n */\n async onIdle() {\n // Instantly resolve if none pending and if nothing else is queued\n if (this._pendingCount === 0 && this._queue.size === 0) {\n return;\n }\n return new Promise(resolve => {\n const existingResolve = this._resolveIdle;\n this._resolveIdle = () => {\n existingResolve();\n resolve();\n };\n });\n }\n /**\n Size of the queue, the number of queued items waiting to run.\n */\n get size() {\n return this._queue.size;\n }\n /**\n Size of the queue, filtered by the given options.\n\n For example, this can be used to find the number of items remaining in the queue with a specific priority level.\n */\n sizeBy(options) {\n // eslint-disable-next-line unicorn/no-array-callback-reference\n return this._queue.filter(options).length;\n }\n /**\n Number of running items (no longer in the queue).\n */\n get pending() {\n return this._pendingCount;\n }\n /**\n Whether the queue is currently paused.\n */\n get isPaused() {\n return this._isPaused;\n }\n get timeout() {\n return this._timeout;\n }\n /**\n Set the timeout for future operations.\n */\n set timeout(milliseconds) {\n this._timeout = milliseconds;\n }\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Gary Kim <gary@garykim.dev>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n * @author Vincent Petry <vincent@nextcloud.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport PQueue from 'p-queue/dist/index'\nimport debounce from 'debounce'\n\nimport Share from '../models/Share'\nimport SharesRequests from './ShareRequests'\nimport ShareTypes from './ShareTypes'\nimport Config from '../services/ConfigService'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport default {\n\tmixins: [SharesRequests, ShareTypes],\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\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// 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\n\t\t\tSHARE_TYPES: {\n\t\t\t\tSHARE_TYPE_USER: OC.Share.SHARE_TYPE_USER,\n\t\t\t\tSHARE_TYPE_GROUP: OC.Share.SHARE_TYPE_GROUP,\n\t\t\t\tSHARE_TYPE_LINK: OC.Share.SHARE_TYPE_LINK,\n\t\t\t\tSHARE_TYPE_EMAIL: OC.Share.SHARE_TYPE_EMAIL,\n\t\t\t\tSHARE_TYPE_REMOTE: OC.Share.SHARE_TYPE_REMOTE,\n\t\t\t\tSHARE_TYPE_CIRCLE: OC.Share.SHARE_TYPE_CIRCLE,\n\t\t\t\tSHARE_TYPE_GUEST: OC.Share.SHARE_TYPE_GUEST,\n\t\t\t\tSHARE_TYPE_REMOTE_GROUP: OC.Share.SHARE_TYPE_REMOTE_GROUP,\n\t\t\t\tSHARE_TYPE_ROOM: OC.Share.SHARE_TYPE_ROOM,\n\t\t\t},\n\t\t}\n\t},\n\n\tcomputed: {\n\n\t\t/**\n\t\t * Does the current share have a note\n\t\t * @returns {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 moment().add(1, 'days')\n\t\t},\n\n\t\t/**\n\t\t * Datepicker lang values\n\t\t * https://github.com/nextcloud/nextcloud-vue/pull/146\n\t\t * TODO: have this in vue-components\n\t\t *\n\t\t * @returns {int}\n\t\t */\n\t\tfirstDay() {\n\t\t\treturn window.firstDay\n\t\t\t\t? window.firstDay\n\t\t\t\t: 0 // sunday as default\n\t\t},\n\t\tlang() {\n\t\t\t// fallback to default in case of unavailable data\n\t\t\treturn {\n\t\t\t\tdays: window.dayNamesShort\n\t\t\t\t\t? window.dayNamesShort // provided by nextcloud\n\t\t\t\t\t: ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'],\n\t\t\t\tmonths: window.monthNamesShort\n\t\t\t\t\t? window.monthNamesShort // provided by nextcloud\n\t\t\t\t\t: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'],\n\t\t\t\tplaceholder: {\n\t\t\t\t\tdate: 'Select Date', // TODO: Translate\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\n\t\tisShareOwner() {\n\t\t\treturn this.share && this.share.owner === getCurrentUser().uid\n\t\t},\n\n\t},\n\n\tmethods: {\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 * @returns {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.expirationDate) {\n\t\t\t\tconst date = moment(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 * ActionInput can be a little tricky to work with.\n\t\t * Since we expect a string and not a Date,\n\t\t * we need to process the value here\n\t\t *\n\t\t * @param {Date} date js date to be parsed by moment.js\n\t\t */\n\t\tonExpirationChange(date) {\n\t\t\t// format to YYYY-MM-DD\n\t\t\tconst value = moment(date).format('YYYY-MM-DD')\n\t\t\tthis.share.expireDate = value\n\t\t\tthis.queueUpdate('expireDate')\n\t\t},\n\n\t\t/**\n\t\t * Uncheck expire date\n\t\t * We need this method because @update:checked\n\t\t * is ran simultaneously as @uncheck, so\n\t\t * so we cannot ensure data is up-to-date\n\t\t */\n\t\tonExpirationDisable() {\n\t\t\tthis.share.expireDate = ''\n\t\t\tthis.queueUpdate('expireDate')\n\t\t},\n\n\t\t/**\n\t\t * Note changed, let's save it to a different key\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 * @param {string} note the note\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\tconsole.debug('Share deleted', this.share.id)\n\t\t\t\tthis.$emit('remove:share', this.share)\n\t\t\t} catch (error) {\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 {string} 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\tpropertyNames.map(p => (properties[p] = this.share[p].toString()))\n\n\t\t\t\tthis.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\tawait this.updateShare(this.share.id, properties)\n\n\t\t\t\t\t\tif (propertyNames.indexOf('password') >= 0) {\n\t\t\t\t\t\t\t// reset password state after sync\n\t\t\t\t\t\t\tthis.$delete(this.share, 'newPassword')\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\tthis.$delete(this.errors, propertyNames[0])\n\n\t\t\t\t\t} catch ({ message }) {\n\t\t\t\t\t\tif (message && message !== '') {\n\t\t\t\t\t\t\tthis.onSyncError(propertyNames[0], message)\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} else {\n\t\t\t\tconsole.error('Cannot update share.', this.share, 'No valid id')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Manage sync errors\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\t// re-open menu if closed\n\t\t\tthis.open = true\n\t\t\tswitch (property) {\n\t\t\tcase 'password':\n\t\t\tcase 'pending':\n\t\t\tcase 'expireDate':\n\t\t\tcase 'label':\n\t\t\tcase 'note': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\tlet propertyEl = this.$refs[property]\n\t\t\t\tif (propertyEl) {\n\t\t\t\t\tif (propertyEl.$el) {\n\t\t\t\t\t\tpropertyEl = propertyEl.$el\n\t\t\t\t\t}\n\t\t\t\t\t// focus if there is a focusable action element\n\t\t\t\t\tconst focusable = propertyEl.querySelector('.focusable')\n\t\t\t\t\tif (focusable) {\n\t\t\t\t\t\tfocusable.focus()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'sendPasswordByTalk': {\n\t\t\t\t// show error\n\t\t\t\tthis.$set(this.errors, property, message)\n\n\t\t\t\t// Restore previous state\n\t\t\t\tthis.share.sendPasswordByTalk = !this.share.sendPasswordByTalk\n\t\t\t\tbreak\n\t\t\t}\n\t\t\t}\n\t\t},\n\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\n\t\t/**\n\t\t * Returns which dates are disabled for the datepicker\n\t\t * @param {Date} date date to check\n\t\t * @returns {boolean}\n\t\t */\n\t\tdisabledDate(date) {\n\t\t\tconst dateMoment = moment(date)\n\t\t\treturn (this.dateTomorrow && dateMoment.isBefore(this.dateTomorrow, 'day'))\n\t\t\t\t|| (this.dateMaxEnforced && dateMoment.isSameOrAfter(this.dateMaxEnforced, 'day'))\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!./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 - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<SharingEntrySimple\n\t\t:key=\"share.id\"\n\t\tclass=\"sharing-entry__inherited\"\n\t\t:title=\"share.shareWithDisplayName\">\n\t\t<template #avatar>\n\t\t\t<Avatar\n\t\t\t\t:user=\"share.shareWith\"\n\t\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t\tclass=\"sharing-entry__avatar\"\n\t\t\t\ttooltip-message=\"\" />\n\t\t</template>\n\t\t<ActionText icon=\"icon-user\">\n\t\t\t{{ t('files_sharing', 'Added by {initiator}', { initiator: share.ownerDisplayName }) }}\n\t\t</ActionText>\n\t\t<ActionLink v-if=\"share.viaPath && share.viaFileid\"\n\t\t\ticon=\"icon-folder\"\n\t\t\t:href=\"viaFileTargetUrl\">\n\t\t\t{{ t('files_sharing', 'Via “{folder}”', {folder: viaFolderName} ) }}\n\t\t</ActionLink>\n\t\t<ActionButton v-if=\"share.canDelete\"\n\t\t\ticon=\"icon-close\"\n\t\t\t@click.prevent=\"onDelete\">\n\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t</actionbutton>\n\t</SharingEntrySimple>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport { basename } from '@nextcloud/paths'\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton'\nimport ActionLink from '@nextcloud/vue/dist/Components/ActionLink'\nimport ActionText from '@nextcloud/vue/dist/Components/ActionText'\n\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share'\nimport SharesMixin from '../mixins/SharesMixin'\nimport SharingEntrySimple from '../components/SharingEntrySimple'\n\nexport default {\n\tname: 'SharingEntryInherited',\n\n\tcomponents: {\n\t\tActionButton,\n\t\tActionLink,\n\t\tActionText,\n\t\tAvatar,\n\t\tSharingEntrySimple,\n\t},\n\n\tmixins: [SharesMixin],\n\n\tprops: {\n\t\tshare: {\n\t\t\ttype: Share,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tviaFileTargetUrl() {\n\t\t\treturn generateUrl('/f/{fileid}', {\n\t\t\t\tfileid: this.share.viaFileid,\n\t\t\t})\n\t\t},\n\n\t\tviaFolderName() {\n\t\t\treturn basename(this.share.viaPath)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\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\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-left: auto;\n\t}\n}\n</style>\n","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content 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=c58e421a&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingEntryInherited.vue?vue&type=template&id=c58e421a&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=c58e421a&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 \"c58e421a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;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('Avatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"tooltip-message\":\"\"}})]},proxy:true}])},[_vm._v(\" \"),_c('ActionText',{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('ActionLink',{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('ActionButton',{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)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<ul id=\"sharing-inherited-shares\">\n\t\t<!-- Main collapsible entry -->\n\t\t<SharingEntrySimple\n\t\t\tclass=\"sharing-entry__inherited\"\n\t\t\t:title=\"mainTitle\"\n\t\t\t:subtitle=\"subTitle\">\n\t\t\t<template #avatar>\n\t\t\t\t<div class=\"avatar-shared icon-more-white\" />\n\t\t\t</template>\n\t\t\t<ActionButton :icon=\"showInheritedSharesIcon\" @click.prevent.stop=\"toggleInheritedShares\">\n\t\t\t\t{{ toggleTooltip }}\n\t\t\t</ActionButton>\n\t\t</SharingEntrySimple>\n\n\t\t<!-- Inherited shares list -->\n\t\t<SharingEntryInherited v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\" />\n\t</ul>\n</template>\n\n<script>\nimport { generateOcsUrl } from '@nextcloud/router'\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton'\nimport axios from '@nextcloud/axios'\n\nimport Share from '../models/Share'\nimport SharingEntryInherited from '../components/SharingEntryInherited'\nimport SharingEntrySimple from '../components/SharingEntrySimple'\n\nexport default {\n\tname: 'SharingInherited',\n\n\tcomponents: {\n\t\tActionButton,\n\t\tSharingEntryInherited,\n\t\tSharingEntrySimple,\n\t},\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},\n\n\tdata() {\n\t\treturn {\n\t\t\tloaded: false,\n\t\t\tloading: false,\n\t\t\tshowInheritedShares: false,\n\t\t\tshares: [],\n\t\t}\n\t},\n\tcomputed: {\n\t\tshowInheritedSharesIcon() {\n\t\t\tif (this.loading) {\n\t\t\t\treturn 'icon-loading-small'\n\t\t\t}\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\treturn 'icon-triangle-n'\n\t\t\t}\n\t\t\treturn 'icon-triangle-s'\n\t\t},\n\t\tmainTitle() {\n\t\t\treturn t('files_sharing', 'Others with access')\n\t\t},\n\t\tsubTitle() {\n\t\t\treturn (this.showInheritedShares && this.shares.length === 0)\n\t\t\t\t? t('files_sharing', 'No other users with access found')\n\t\t\t\t: ''\n\t\t},\n\t\ttoggleTooltip() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t\t\t? t('files_sharing', 'Toggle list of others with access to this directory')\n\t\t\t\t: t('files_sharing', 'Toggle list of others with access to this file')\n\t\t},\n\t\tfullPath() {\n\t\t\tconst path = `${this.fileInfo.path}/${this.fileInfo.name}`\n\t\t\treturn path.replace('//', '/')\n\t\t},\n\t},\n\twatch: {\n\t\tfileInfo() {\n\t\t\tthis.resetState()\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Toggle the list view and fetch/reset the state\n\t\t */\n\t\ttoggleInheritedShares() {\n\t\t\tthis.showInheritedShares = !this.showInheritedShares\n\t\t\tif (this.showInheritedShares) {\n\t\t\t\tthis.fetchInheritedShares()\n\t\t\t} else {\n\t\t\t\tthis.resetState()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Fetch the Inherited Shares array\n\t\t */\n\t\tasync fetchInheritedShares() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst url = generateOcsUrl('apps/files_sharing/api/v1/shares/inherited?format=json&path={path}', { path: this.fullPath })\n\t\t\t\tconst shares = await axios.get(url)\n\t\t\t\tthis.shares = shares.data.ocs.data\n\t\t\t\t\t.map(share => new Share(share))\n\t\t\t\t\t.sort((a, b) => b.createdTime - a.createdTime)\n\t\t\t\tconsole.info(this.shares)\n\t\t\t\tthis.loaded = true\n\t\t\t} catch (error) {\n\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Unable to fetch inherited shares'), { type: 'error' })\n\t\t\t} finally {\n\t\t\t\tthis.loading = false\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Reset current component state\n\t\t */\n\t\tresetState() {\n\t\t\tthis.loaded = false\n\t\t\tthis.loading = false\n\t\t\tthis.showInheritedShares = false\n\t\t\tthis.shares = []\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\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</style>\n","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&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content 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=1c2059ae&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./SharingInherited.vue?vue&type=template&id=1c2059ae&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=1c2059ae&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 \"1c2059ae\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{attrs:{\"id\":\"sharing-inherited-shares\"}},[_c('SharingEntrySimple',{staticClass:\"sharing-entry__inherited\",attrs:{\"title\":_vm.mainTitle,\"subtitle\":_vm.subTitle},scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('div',{staticClass:\"avatar-shared icon-more-white\"})]},proxy:true}])},[_vm._v(\" \"),_c('ActionButton',{attrs:{\"icon\":_vm.showInheritedSharesIcon},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleInheritedShares.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.toggleTooltip)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_vm._l((_vm.shares),function(share){return _c('SharingEntryInherited',{key:share.id,attrs:{\"file-info\":_vm.fileInfo,\"share\":share}})})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li :class=\"{'sharing-entry--share': share}\" class=\"sharing-entry sharing-entry__link\">\n\t\t<Avatar :is-no-user=\"true\"\n\t\t\t:icon-class=\"isEmailShareType ? 'avatar-link-share icon-mail-white' : 'avatar-link-share icon-public-white'\"\n\t\t\tclass=\"sharing-entry__avatar\" />\n\t\t<div class=\"sharing-entry__desc\">\n\t\t\t<h5 :title=\"title\">\n\t\t\t\t{{ title }}\n\t\t\t</h5>\n\t\t\t<p v-if=\"subtitle\">\n\t\t\t\t{{ subtitle }}\n\t\t\t</p>\n\t\t</div>\n\n\t\t<!-- clipboard -->\n\t\t<Actions v-if=\"share && !isEmailShareType && share.token\"\n\t\t\tref=\"copyButton\"\n\t\t\tclass=\"sharing-entry__copy\">\n\t\t\t<ActionLink :href=\"shareLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\t:icon=\"copied && copySuccess ? 'icon-checkmark-color' : 'icon-clippy'\"\n\t\t\t\t@click.stop.prevent=\"copyLink\">\n\t\t\t\t{{ clipboardTooltip }}\n\t\t\t</ActionLink>\n\t\t</Actions>\n\n\t\t<!-- pending actions -->\n\t\t<Actions v-if=\"!pending && (pendingPassword || pendingExpirationDate)\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onNewLinkShare\">\n\t\t\t<!-- pending data menu -->\n\t\t\t<ActionText v-if=\"errors.pending\"\n\t\t\t\ticon=\"icon-error\"\n\t\t\t\t:class=\"{ error: errors.pending}\">\n\t\t\t\t{{ errors.pending }}\n\t\t\t</ActionText>\n\t\t\t<ActionText v-else icon=\"icon-info\">\n\t\t\t\t{{ t('files_sharing', 'Please enter the following required information before creating the share') }}\n\t\t\t</ActionText>\n\n\t\t\t<!-- password -->\n\t\t\t<ActionText v-if=\"pendingPassword\" icon=\"icon-password\">\n\t\t\t\t{{ t('files_sharing', 'Password protection (enforced)') }}\n\t\t\t</ActionText>\n\t\t\t<ActionCheckbox v-else-if=\"config.enableLinkPasswordByDefault\"\n\t\t\t\t:checked.sync=\"isPasswordProtected\"\n\t\t\t\t:disabled=\"config.enforcePasswordForPublicLink || saving\"\n\t\t\t\tclass=\"share-link-password-checkbox\"\n\t\t\t\t@uncheck=\"onPasswordDisable\">\n\t\t\t\t{{ t('files_sharing', 'Password protection') }}\n\t\t\t</ActionCheckbox>\n\t\t\t<ActionInput v-if=\"pendingPassword || share.password\"\n\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\tcontent: errors.password,\n\t\t\t\t\tshow: errors.password,\n\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t}\"\n\t\t\t\tclass=\"share-link-password\"\n\t\t\t\t:value.sync=\"share.password\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:required=\"config.enableLinkPasswordByDefault || config.enforcePasswordForPublicLink\"\n\t\t\t\t:minlength=\"isPasswordPolicyEnabled && config.passwordPolicy.minLength\"\n\t\t\t\ticon=\"\"\n\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t@submit=\"onNewLinkShare\">\n\t\t\t\t{{ t('files_sharing', 'Enter a password') }}\n\t\t\t</ActionInput>\n\n\t\t\t<!-- expiration date -->\n\t\t\t<ActionText v-if=\"pendingExpirationDate\" icon=\"icon-calendar-dark\">\n\t\t\t\t{{ t('files_sharing', 'Expiration date (enforced)') }}\n\t\t\t</ActionText>\n\t\t\t<ActionInput v-if=\"pendingExpirationDate\"\n\t\t\t\tv-model=\"share.expireDate\"\n\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\tcontent: errors.expireDate,\n\t\t\t\t\tshow: errors.expireDate,\n\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t}\"\n\t\t\t\tclass=\"share-link-expire-date\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t:first-day-of-week=\"firstDay\"\n\t\t\t\t:lang=\"lang\"\n\t\t\t\ticon=\"\"\n\t\t\t\ttype=\"date\"\n\t\t\t\tvalue-type=\"format\"\n\t\t\t\t:disabled-date=\"disabledDate\">\n\t\t\t\t<!-- let's not submit when picked, the user\n\t\t\t\t\tmight want to still edit or copy the password -->\n\t\t\t\t{{ t('files_sharing', 'Enter a date') }}\n\t\t\t</ActionInput>\n\n\t\t\t<ActionButton icon=\"icon-checkmark\" @click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t{{ t('files_sharing', 'Create share') }}\n\t\t\t</ActionButton>\n\t\t\t<ActionButton icon=\"icon-close\" @click.prevent.stop=\"onCancel\">\n\t\t\t\t{{ t('files_sharing', 'Cancel') }}\n\t\t\t</ActionButton>\n\t\t</Actions>\n\n\t\t<!-- actions -->\n\t\t<Actions v-else-if=\"!loading\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\tmenu-align=\"right\"\n\t\t\t:open.sync=\"open\"\n\t\t\t@close=\"onMenuClose\">\n\t\t\t<template v-if=\"share\">\n\t\t\t\t<template v-if=\"share.canEdit && canReshare\">\n\t\t\t\t\t<!-- Custom Label -->\n\t\t\t\t\t<ActionInput\n\t\t\t\t\t\tref=\"label\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.label,\n\t\t\t\t\t\t\tshow: errors.label,\n\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\tdefaultContainer: '.app-sidebar'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:class=\"{ error: errors.label }\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:aria-label=\"t('files_sharing', 'Share label')\"\n\t\t\t\t\t\t:value=\"share.newLabel !== undefined ? share.newLabel : share.label\"\n\t\t\t\t\t\ticon=\"icon-edit\"\n\t\t\t\t\t\tmaxlength=\"255\"\n\t\t\t\t\t\t@update:value=\"onLabelChange\"\n\t\t\t\t\t\t@submit=\"onLabelSubmit\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Share label') }}\n\t\t\t\t\t</ActionInput>\n\t\t\t\t\t<!-- folder -->\n\t\t\t\t\t<template v-if=\"isFolder && fileHasCreatePermission && config.isPublicUploadEnabled\">\n\t\t\t\t\t\t<ActionRadio :checked=\"sharePermissions === publicUploadRValue\"\n\t\t\t\t\t\t\t:value=\"publicUploadRValue\"\n\t\t\t\t\t\t\t:name=\"randomId\"\n\t\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t\t@change=\"togglePermissions\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Read only') }}\n\t\t\t\t\t\t</ActionRadio>\n\t\t\t\t\t\t<ActionRadio :checked=\"sharePermissions === publicUploadRWValue\"\n\t\t\t\t\t\t\t:value=\"publicUploadRWValue\"\n\t\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t\t:name=\"randomId\"\n\t\t\t\t\t\t\t@change=\"togglePermissions\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'Allow upload and editing') }}\n\t\t\t\t\t\t</ActionRadio>\n\t\t\t\t\t\t<ActionRadio :checked=\"sharePermissions === publicUploadWValue\"\n\t\t\t\t\t\t\t:value=\"publicUploadWValue\"\n\t\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t\t:name=\"randomId\"\n\t\t\t\t\t\t\tclass=\"sharing-entry__action--public-upload\"\n\t\t\t\t\t\t\t@change=\"togglePermissions\">\n\t\t\t\t\t\t\t{{ t('files_sharing', 'File drop (upload only)') }}\n\t\t\t\t\t\t</ActionRadio>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<!-- file -->\n\t\t\t\t\t<ActionCheckbox v-else\n\t\t\t\t\t\t:checked.sync=\"canUpdate\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t@change=\"queueUpdate('permissions')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Allow editing') }}\n\t\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t\t<ActionCheckbox\n\t\t\t\t\t\t:checked.sync=\"share.hideDownload\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t@change=\"queueUpdate('hideDownload')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Hide download') }}\n\t\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t\t<!-- password -->\n\t\t\t\t\t<ActionCheckbox :checked.sync=\"isPasswordProtected\"\n\t\t\t\t\t\t:disabled=\"config.enforcePasswordForPublicLink || saving\"\n\t\t\t\t\t\tclass=\"share-link-password-checkbox\"\n\t\t\t\t\t\t@uncheck=\"onPasswordDisable\">\n\t\t\t\t\t\t{{ config.enforcePasswordForPublicLink\n\t\t\t\t\t\t\t? t('files_sharing', 'Password protection (enforced)')\n\t\t\t\t\t\t\t: t('files_sharing', 'Password protect') }}\n\t\t\t\t\t</ActionCheckbox>\n\t\t\t\t\t<ActionInput v-if=\"isPasswordProtected\"\n\t\t\t\t\t\tref=\"password\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.password,\n\t\t\t\t\t\t\tshow: errors.password,\n\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\tclass=\"share-link-password\"\n\t\t\t\t\t\t:class=\"{ error: errors.password}\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:required=\"config.enforcePasswordForPublicLink\"\n\t\t\t\t\t\t:value=\"hasUnsavedPassword ? share.newPassword : '***************'\"\n\t\t\t\t\t\ticon=\"icon-password\"\n\t\t\t\t\t\tautocomplete=\"new-password\"\n\t\t\t\t\t\t:type=\"hasUnsavedPassword ? 'text': 'password'\"\n\t\t\t\t\t\t@update:value=\"onPasswordChange\"\n\t\t\t\t\t\t@submit=\"onPasswordSubmit\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Enter a password') }}\n\t\t\t\t\t</ActionInput>\n\n\t\t\t\t\t<!-- password protected by Talk -->\n\t\t\t\t\t<ActionCheckbox v-if=\"isPasswordProtectedByTalkAvailable\"\n\t\t\t\t\t\t:checked.sync=\"isPasswordProtectedByTalk\"\n\t\t\t\t\t\t:disabled=\"!canTogglePasswordProtectedByTalkAvailable || saving\"\n\t\t\t\t\t\tclass=\"share-link-password-talk-checkbox\"\n\t\t\t\t\t\t@change=\"onPasswordProtectedByTalkChange\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Video verification') }}\n\t\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t\t<!-- expiration date -->\n\t\t\t\t\t<ActionCheckbox :checked.sync=\"hasExpirationDate\"\n\t\t\t\t\t\t:disabled=\"config.isDefaultExpireDateEnforced || saving\"\n\t\t\t\t\t\tclass=\"share-link-expire-date-checkbox\"\n\t\t\t\t\t\t@uncheck=\"onExpirationDisable\">\n\t\t\t\t\t\t{{ config.isDefaultExpireDateEnforced\n\t\t\t\t\t\t\t? t('files_sharing', 'Expiration date (enforced)')\n\t\t\t\t\t\t\t: t('files_sharing', 'Set expiration date') }}\n\t\t\t\t\t</ActionCheckbox>\n\t\t\t\t\t<ActionInput v-if=\"hasExpirationDate\"\n\t\t\t\t\t\tref=\"expireDate\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.expireDate,\n\t\t\t\t\t\t\tshow: errors.expireDate,\n\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\tclass=\"share-link-expire-date\"\n\t\t\t\t\t\t:class=\"{ error: errors.expireDate}\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:first-day-of-week=\"firstDay\"\n\t\t\t\t\t\t:lang=\"lang\"\n\t\t\t\t\t\t:value=\"share.expireDate\"\n\t\t\t\t\t\tvalue-type=\"format\"\n\t\t\t\t\t\ticon=\"icon-calendar-dark\"\n\t\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t\t:disabled-date=\"disabledDate\"\n\t\t\t\t\t\t@update:value=\"onExpirationChange\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Enter a date') }}\n\t\t\t\t\t</ActionInput>\n\n\t\t\t\t\t<!-- note -->\n\t\t\t\t\t<ActionCheckbox :checked.sync=\"hasNote\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t@uncheck=\"queueUpdate('note')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Note to recipient') }}\n\t\t\t\t\t</ActionCheckbox>\n\t\t\t\t\t<ActionTextEditable v-if=\"hasNote\"\n\t\t\t\t\t\tref=\"note\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.note,\n\t\t\t\t\t\t\tshow: errors.note,\n\t\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:class=\"{ error: errors.note}\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:placeholder=\"t('files_sharing', 'Enter a note for the share recipient')\"\n\t\t\t\t\t\t:value=\"share.newNote || share.note\"\n\t\t\t\t\t\ticon=\"icon-edit\"\n\t\t\t\t\t\t@update:value=\"onNoteChange\"\n\t\t\t\t\t\t@submit=\"onNoteSubmit\" />\n\t\t\t\t</template>\n\n\t\t\t\t<!-- external sharing via url (social...) -->\n\t\t\t\t<ActionLink v-for=\"({icon, url, name}, index) in externalActions\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t:href=\"url(shareLink)\"\n\t\t\t\t\t:icon=\"icon\"\n\t\t\t\t\ttarget=\"_blank\">\n\t\t\t\t\t{{ name }}\n\t\t\t\t</ActionLink>\n\n\t\t\t\t<ActionButton v-if=\"share.canDelete\"\n\t\t\t\t\ticon=\"icon-close\"\n\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t@click.prevent=\"onDelete\">\n\t\t\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t\t\t</ActionButton>\n\t\t\t\t<ActionButton v-if=\"!isEmailShareType && canReshare\"\n\t\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t\ticon=\"icon-add\"\n\t\t\t\t\t@click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t\t{{ t('files_sharing', 'Add another link') }}\n\t\t\t\t</ActionButton>\n\t\t\t</template>\n\n\t\t\t<!-- Create new share -->\n\t\t\t<ActionButton v-else-if=\"canReshare\"\n\t\t\t\tclass=\"new-share-link\"\n\t\t\t\t:icon=\"loading ? 'icon-loading-small' : 'icon-add'\"\n\t\t\t\t@click.prevent.stop=\"onNewLinkShare\">\n\t\t\t\t{{ t('files_sharing', 'Create a new share link') }}\n\t\t\t</ActionButton>\n\t\t</Actions>\n\n\t\t<!-- loading indicator to replace the menu -->\n\t\t<div v-else class=\"icon-loading-small sharing-entry__loading\" />\n\t</li>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\nimport Vue from 'vue'\n\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton'\nimport ActionCheckbox from '@nextcloud/vue/dist/Components/ActionCheckbox'\nimport ActionRadio from '@nextcloud/vue/dist/Components/ActionRadio'\nimport ActionInput from '@nextcloud/vue/dist/Components/ActionInput'\nimport ActionText from '@nextcloud/vue/dist/Components/ActionText'\nimport ActionTextEditable from '@nextcloud/vue/dist/Components/ActionTextEditable'\nimport ActionLink from '@nextcloud/vue/dist/Components/ActionLink'\nimport Actions from '@nextcloud/vue/dist/Components/Actions'\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\n\nimport GeneratePassword from '../utils/GeneratePassword'\nimport Share from '../models/Share'\nimport SharesMixin from '../mixins/SharesMixin'\n\nexport default {\n\tname: 'SharingEntryLink',\n\n\tcomponents: {\n\t\tActions,\n\t\tActionButton,\n\t\tActionCheckbox,\n\t\tActionRadio,\n\t\tActionInput,\n\t\tActionLink,\n\t\tActionText,\n\t\tActionTextEditable,\n\t\tAvatar,\n\t},\n\n\tdirectives: {\n\t\tTooltip,\n\t},\n\n\tmixins: [SharesMixin],\n\n\tprops: {\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcopySuccess: true,\n\t\t\tcopied: false,\n\n\t\t\t// Are we waiting for password/expiration date\n\t\t\tpending: false,\n\n\t\t\tpublicUploadRWValue: OC.PERMISSION_UPDATE | OC.PERMISSION_CREATE | OC.PERMISSION_READ | OC.PERMISSION_DELETE,\n\t\t\tpublicUploadRValue: OC.PERMISSION_READ,\n\t\t\tpublicUploadWValue: OC.PERMISSION_CREATE,\n\n\t\t\tExternalLinkActions: OCA.Sharing.ExternalLinkActions.state,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Return the current share permissions\n\t\t * We always ignore the SHARE permission as this is used for the\n\t\t * federated sharing.\n\t\t * @returns {number}\n\t\t */\n\t\tsharePermissions() {\n\t\t\treturn this.share.permissions & ~OC.PERMISSION_SHARE\n\t\t},\n\t\t/**\n\t\t * Generate a unique random id for this SharingEntryLink only\n\t\t * This allows ActionRadios to have the same name prop\n\t\t * but not to impact others SharingEntryLink\n\t\t * @returns {string}\n\t\t */\n\t\trandomId() {\n\t\t\treturn Math.random().toString(27).substr(2)\n\t\t},\n\n\t\t/**\n\t\t * Link share label\n\t\t * @returns {string}\n\t\t */\n\t\ttitle() {\n\t\t\t// if we have a valid existing share (not pending)\n\t\t\tif (this.share && this.share.id) {\n\t\t\t\tif (!this.isShareOwner && this.share.ownerDisplayName) {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\treturn t('files_sharing', '{shareWith} by {initiator}', {\n\t\t\t\t\t\t\tshareWith: this.share.shareWith,\n\t\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Shared via link by {initiator}', {\n\t\t\t\t\t\tinitiator: this.share.ownerDisplayName,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (this.share.label && this.share.label.trim() !== '') {\n\t\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\t\treturn t('files_sharing', 'Mail share ({label})', {\n\t\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\treturn t('files_sharing', 'Share link ({label})', {\n\t\t\t\t\t\tlabel: this.share.label.trim(),\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (this.isEmailShareType) {\n\t\t\t\t\treturn this.share.shareWith\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Share link')\n\t\t},\n\n\t\t/**\n\t\t * Show the email on a second line if a label is set for mail shares\n\t\t * @returns {string}\n\t\t */\n\t\tsubtitle() {\n\t\t\tif (this.isEmailShareType\n\t\t\t\t&& this.title !== this.share.shareWith) {\n\t\t\t\treturn this.share.shareWith\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\t/**\n\t\t * Does the current share have an expiration date\n\t\t * @returns {boolean}\n\t\t */\n\t\thasExpirationDate: {\n\t\t\tget() {\n\t\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t\t\t|| !!this.share.expireDate\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tlet dateString = moment(this.config.defaultExpirationDateString)\n\t\t\t\tif (!dateString.isValid()) {\n\t\t\t\t\tdateString = moment()\n\t\t\t\t}\n\t\t\t\tthis.share.state.expiration = enabled\n\t\t\t\t\t? dateString.format('YYYY-MM-DD')\n\t\t\t\t\t: ''\n\t\t\t\tconsole.debug('Expiration date status', enabled, this.share.expireDate)\n\t\t\t},\n\t\t},\n\n\t\tdateMaxEnforced() {\n\t\t\treturn this.config.isDefaultExpireDateEnforced\n\t\t\t\t&& moment().add(1 + this.config.defaultExpireDate, 'days')\n\t\t},\n\n\t\t/**\n\t\t * Is the current share password protected ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisPasswordProtected: {\n\t\t\tget() {\n\t\t\t\treturn this.config.enforcePasswordForPublicLink\n\t\t\t\t\t|| !!this.share.password\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\t// TODO: directly save after generation to make sure the share is always protected\n\t\t\t\tVue.set(this.share, 'password', enabled ? await GeneratePassword() : '')\n\t\t\t\tVue.set(this.share, 'newPassword', this.share.password)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is Talk enabled?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisTalkEnabled() {\n\t\t\treturn OC.appswebroots.spreed !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is it possible to protect the password by Talk?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalkAvailable() {\n\t\t\treturn this.isPasswordProtected && this.isTalkEnabled\n\t\t},\n\n\t\t/**\n\t\t * Is the current share password protected by Talk?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisPasswordProtectedByTalk: {\n\t\t\tget() {\n\t\t\t\treturn this.share.sendPasswordByTalk\n\t\t\t},\n\t\t\tasync set(enabled) {\n\t\t\t\tthis.share.sendPasswordByTalk = enabled\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is the current share an email share ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisEmailShareType() {\n\t\t\treturn this.share\n\t\t\t\t? this.share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL\n\t\t\t\t: false\n\t\t},\n\n\t\tcanTogglePasswordProtectedByTalkAvailable() {\n\t\t\tif (!this.isPasswordProtected) {\n\t\t\t\t// Makes no sense\n\t\t\t\treturn false\n\t\t\t} else if (this.isEmailShareType && !this.hasUnsavedPassword) {\n\t\t\t\t// For email shares we need a new password in order to enable or\n\t\t\t\t// disable\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\t// Anything else should be fine\n\t\t\treturn true\n\t\t},\n\n\t\t/**\n\t\t * Pending data.\n\t\t * If the share still doesn't have an id, it is not synced\n\t\t * Therefore this is still not valid and requires user input\n\t\t * @returns {boolean}\n\t\t */\n\t\tpendingPassword() {\n\t\t\treturn this.config.enforcePasswordForPublicLink && this.share && !this.share.id\n\t\t},\n\t\tpendingExpirationDate() {\n\t\t\treturn this.config.isDefaultExpireDateEnforced && this.share && !this.share.id\n\t\t},\n\n\t\t/**\n\t\t * Can the recipient edit the file ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanUpdate: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasUpdatePermission\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.permissions = enabled\n\t\t\t\t\t? OC.PERMISSION_READ | OC.PERMISSION_UPDATE\n\t\t\t\t\t: OC.PERMISSION_READ\n\t\t\t},\n\t\t},\n\n\t\t// if newPassword exists, but is empty, it means\n\t\t// the user deleted the original password\n\t\thasUnsavedPassword() {\n\t\t\treturn this.share.newPassword !== undefined\n\t\t},\n\n\t\t/**\n\t\t * Is the current share a folder ?\n\t\t * TODO: move to a proper FileInfo model?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\n\t\t/**\n\t\t * Does the current file/folder have create permissions\n\t\t * TODO: move to a proper FileInfo model?\n\t\t * @returns {boolean}\n\t\t */\n\t\tfileHasCreatePermission() {\n\t\t\treturn !!(this.fileInfo.permissions & OC.PERMISSION_CREATE)\n\t\t},\n\n\t\t/**\n\t\t * Return the public share link\n\t\t * @returns {string}\n\t\t */\n\t\tshareLink() {\n\t\t\treturn window.location.protocol + '//' + window.location.host + generateUrl('/s/') + this.share.token\n\t\t},\n\n\t\t/**\n\t\t * Clipboard v-tooltip message\n\t\t * @returns {string}\n\t\t */\n\t\tclipboardTooltip() {\n\t\t\tif (this.copied) {\n\t\t\t\treturn this.copySuccess\n\t\t\t\t\t? t('files_sharing', 'Link copied')\n\t\t\t\t\t: t('files_sharing', 'Cannot copy, please copy the link manually')\n\t\t\t}\n\t\t\treturn t('files_sharing', 'Copy to clipboard')\n\t\t},\n\n\t\t/**\n\t\t * External aditionnal actions for the menu\n\t\t * @returns {Array}\n\t\t */\n\t\texternalActions() {\n\t\t\treturn this.ExternalLinkActions.actions\n\t\t},\n\n\t\tisPasswordPolicyEnabled() {\n\t\t\treturn typeof this.config.passwordPolicy === 'object'\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Create a new share link and append it to the list\n\t\t */\n\t\tasync onNewLinkShare() {\n\t\t\t// do not run again if already loading\n\t\t\tif (this.loading) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst shareDefaults = {\n\t\t\t\tshare_type: OC.Share.SHARE_TYPE_LINK,\n\t\t\t}\n\t\t\tif (this.config.isDefaultExpireDateEnforced) {\n\t\t\t\t// default is empty string if not set\n\t\t\t\t// expiration is the share object key, not expireDate\n\t\t\t\tshareDefaults.expiration = this.config.defaultExpirationDateString\n\t\t\t}\n\t\t\tif (this.config.enableLinkPasswordByDefault) {\n\t\t\t\tshareDefaults.password = await GeneratePassword()\n\t\t\t}\n\n\t\t\t// do not push yet if we need a password or an expiration date: show pending menu\n\t\t\tif (this.config.enforcePasswordForPublicLink || this.config.isDefaultExpireDateEnforced) {\n\t\t\t\tthis.pending = true\n\n\t\t\t\t// if a share already exists, pushing it\n\t\t\t\tif (this.share && !this.share.id) {\n\t\t\t\t\t// if the share is valid, create it on the server\n\t\t\t\t\tif (this.checkShare(this.share)) {\n\t\t\t\t\t\tawait this.pushNewLinkShare(this.share, true)\n\t\t\t\t\t\treturn true\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.open = true\n\t\t\t\t\t\tOC.Notification.showTemporary(t('files_sharing', 'Error, please enter proper password and/or expiration date'))\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// ELSE, show the pending popovermenu\n\t\t\t\t// if password enforced, pre-fill with random one\n\t\t\t\tif (this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\tshareDefaults.password = await GeneratePassword()\n\t\t\t\t}\n\n\t\t\t\t// create share & close menu\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tconst component = await new Promise(resolve => {\n\t\t\t\t\tthis.$emit('add:share', share, resolve)\n\t\t\t\t})\n\n\t\t\t\t// open the menu on the\n\t\t\t\t// freshly created share component\n\t\t\t\tthis.open = false\n\t\t\t\tthis.pending = false\n\t\t\t\tcomponent.open = true\n\n\t\t\t// Nothing is enforced, creating share directly\n\t\t\t} else {\n\t\t\t\tconst share = new Share(shareDefaults)\n\t\t\t\tawait this.pushNewLinkShare(share)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Push a new link share to the server\n\t\t * And update or append to the list\n\t\t * accordingly\n\t\t *\n\t\t * @param {Share} share the new share\n\t\t * @param {boolean} [update=false] do we update the current share ?\n\t\t */\n\t\tasync pushNewLinkShare(share, update) {\n\t\t\ttry {\n\t\t\t\t// do nothing if we're already pending creation\n\t\t\t\tif (this.loading) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tthis.loading = true\n\t\t\t\tthis.errors = {}\n\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\t\t\t\tconst newShare = await this.createShare({\n\t\t\t\t\tpath,\n\t\t\t\t\tshareType: OC.Share.SHARE_TYPE_LINK,\n\t\t\t\t\tpassword: share.password,\n\t\t\t\t\texpireDate: share.expireDate,\n\t\t\t\t\t// we do not allow setting the publicUpload\n\t\t\t\t\t// before the share creation.\n\t\t\t\t\t// Todo: We also need to fix the createShare method in\n\t\t\t\t\t// lib/Controller/ShareAPIController.php to allow file drop\n\t\t\t\t\t// (currently not supported on create, only update)\n\t\t\t\t})\n\n\t\t\t\tthis.open = false\n\n\t\t\t\tconsole.debug('Link share created', newShare)\n\n\t\t\t\t// if share already exists, copy link directly on next tick\n\t\t\t\tlet component\n\t\t\t\tif (update) {\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('update:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\t// adding new share to the array and copying link to clipboard\n\t\t\t\t\t// using promise so that we can copy link in the same click function\n\t\t\t\t\t// and avoid firefox copy permissions issue\n\t\t\t\t\tcomponent = await new Promise(resolve => {\n\t\t\t\t\t\tthis.$emit('add:share', newShare, resolve)\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\t// Execute the copy link method\n\t\t\t\t// freshly created share component\n\t\t\t\t// ! somehow does not works on firefox !\n\t\t\t\tif (!this.config.enforcePasswordForPublicLink) {\n\t\t\t\t\t// Only copy the link when the password was not forced,\n\t\t\t\t\t// otherwise the user needs to copy/paste the password before finishing the share.\n\t\t\t\t\tcomponent.copyLink()\n\t\t\t\t}\n\n\t\t\t} catch ({ response }) {\n\t\t\t\tconst message = response.data.ocs.meta.message\n\t\t\t\tif (message.match(/password/i)) {\n\t\t\t\t\tthis.onSyncError('password', message)\n\t\t\t\t} else if (message.match(/date/i)) {\n\t\t\t\t\tthis.onSyncError('expireDate', message)\n\t\t\t\t} else {\n\t\t\t\t\tthis.onSyncError('pending', message)\n\t\t\t\t}\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 * On permissions change\n\t\t * @param {Event} event js event\n\t\t */\n\t\ttogglePermissions(event) {\n\t\t\tconst permissions = parseInt(event.target.value, 10)\n\t\t\tthis.share.permissions = permissions\n\t\t\tthis.queueUpdate('permissions')\n\t\t},\n\n\t\t/**\n\t\t * Label changed, let's save it to a different key\n\t\t * @param {String} label the share label\n\t\t */\n\t\tonLabelChange(label) {\n\t\t\tthis.$set(this.share, 'newLabel', label.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\tonLabelSubmit() {\n\t\t\tif (typeof this.share.newLabel === 'string') {\n\t\t\t\tthis.share.label = this.share.newLabel\n\t\t\t\tthis.$delete(this.share, 'newLabel')\n\t\t\t\tthis.queueUpdate('label')\n\t\t\t}\n\t\t},\n\t\tasync copyLink() {\n\t\t\ttry {\n\t\t\t\tawait this.$copyText(this.shareLink)\n\t\t\t\t// focus and show the tooltip\n\t\t\t\tthis.$refs.copyButton.$el.focus()\n\t\t\t\tthis.copySuccess = true\n\t\t\t\tthis.copied = true\n\t\t\t} catch (error) {\n\t\t\t\tthis.copySuccess = false\n\t\t\t\tthis.copied = true\n\t\t\t\tconsole.error(error)\n\t\t\t} finally {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.copySuccess = false\n\t\t\t\t\tthis.copied = false\n\t\t\t\t}, 4000)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update newPassword values\n\t\t * of share. If password is set but not newPassword\n\t\t * then the user did not changed the password\n\t\t * If both co-exists, the password have changed and\n\t\t * we show it in plain text.\n\t\t * Then on submit (or menu close), we sync it.\n\t\t * @param {string} password the changed password\n\t\t */\n\t\tonPasswordChange(password) {\n\t\t\tthis.$set(this.share, 'newPassword', password)\n\t\t},\n\n\t\t/**\n\t\t * Uncheck password protection\n\t\t * We need this method because @update:checked\n\t\t * is ran simultaneously as @uncheck, so\n\t\t * so we cannot ensure data is up-to-date\n\t\t */\n\t\tonPasswordDisable() {\n\t\t\tthis.share.password = ''\n\n\t\t\t// reset password state after sync\n\t\t\tthis.$delete(this.share, 'newPassword')\n\n\t\t\t// only update if valid share.\n\t\t\tif (this.share.id) {\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Menu have been closed or password has been submited.\n\t\t * The only property that does not get\n\t\t * synced automatically is the password\n\t\t * So let's check if we have an unsaved\n\t\t * password.\n\t\t * expireDate is saved on datepicker pick\n\t\t * or close.\n\t\t */\n\t\tonPasswordSubmit() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t\tthis.queueUpdate('password')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Update the password along with \"sendPasswordByTalk\".\n\t\t *\n\t\t * If the password was modified the new password is sent; otherwise\n\t\t * updating a mail share would fail, as in that case it is required that\n\t\t * a new password is set when enabling or disabling\n\t\t * \"sendPasswordByTalk\".\n\t\t */\n\t\tonPasswordProtectedByTalkChange() {\n\t\t\tif (this.hasUnsavedPassword) {\n\t\t\t\tthis.share.password = this.share.newPassword.trim()\n\t\t\t}\n\n\t\t\tthis.queueUpdate('sendPasswordByTalk', 'password')\n\t\t},\n\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onPasswordSubmit()\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\n\t\t/**\n\t\t * Cancel the share creation\n\t\t * Used in the pending popover\n\t\t */\n\t\tonCancel() {\n\t\t\t// this.share already exists at this point,\n\t\t\t// but is incomplete as not pushed to server\n\t\t\t// YET. We can safely delete the share :)\n\t\t\tthis.$emit('remove:share', this.share)\n\t\t},\n\t},\n\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sharing-entry {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: 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\tline-height: 1.2em;\n\t\toverflow: hidden;\n\n\t\th5 {\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\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::v-deep .avatar-link-share {\n\t\tbackground-color: var(--color-primary);\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-left: auto;\n\t}\n\n\t// put menus to the left\n\t// but only the first one\n\t.action-item {\n\t\tmargin-left: auto;\n\t\t~ .action-item,\n\t\t~ .sharing-entry__loading {\n\t\t\tmargin-left: 0;\n\t\t}\n\t}\n\n\t.icon-checkmark-color {\n\t\topacity: 1;\n\t}\n}\n</style>\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&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content 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=121ac5e6&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","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 - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<ul v-if=\"canLinkShare\" class=\"sharing-link-list\">\n\t\t<!-- If no link shares, show the add link default entry -->\n\t\t<SharingEntryLink v-if=\"!hasLinkShares && canReshare\"\n\t\t\t:can-reshare=\"canReshare\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t@add:share=\"addShare\" />\n\n\t\t<!-- Else we display the list -->\n\t\t<template v-if=\"hasShares\">\n\t\t\t<!-- using shares[index] to work with .sync -->\n\t\t\t<SharingEntryLink v-for=\"(share, index) in shares\"\n\t\t\t\t:key=\"share.id\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:share.sync=\"shares[index]\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t@add:share=\"addShare(...arguments)\"\n\t\t\t\t@update:share=\"awaitForShare(...arguments)\"\n\t\t\t\t@remove:share=\"removeShare\" />\n\t\t</template>\n\t</ul>\n</template>\n\n<script>\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share'\nimport ShareTypes from '../mixins/ShareTypes'\nimport SharingEntryLink from '../components/SharingEntryLink'\n\nexport default {\n\tname: 'SharingLinkList',\n\n\tcomponents: {\n\t\tSharingEntryLink,\n\t},\n\n\tmixins: [ShareTypes],\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\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t\tcanReshare: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tcanLinkShare: OC.getCapabilities().files_sharing.public.enabled,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Do we have link shares?\n\t\t * Using this to still show the `new link share`\n\t\t * button regardless of mail shares\n\t\t *\n\t\t * @returns {Array}\n\t\t */\n\t\thasLinkShares() {\n\t\t\treturn this.shares.filter(share => share.type === this.SHARE_TYPES.SHARE_TYPE_LINK).length > 0\n\t\t},\n\n\t\t/**\n\t\t * Do we have any link or email shares?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\thasShares() {\n\t\t\treturn this.shares.length > 0\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Add a new share into the link shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} resolve a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve) {\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.unshift(share)\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tconst newShare = this.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n","import { render, staticRenderFns } from \"./SharingEntryLink.vue?vue&type=template&id=121ac5e6&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=121ac5e6&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 \"121ac5e6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"sharing-entry sharing-entry__link\",class:{'sharing-entry--share': _vm.share}},[_c('Avatar',{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__desc\"},[_c('h5',{attrs:{\"title\":_vm.title}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.subtitle)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.subtitle)+\"\\n\\t\\t\")]):_vm._e()]),_vm._v(\" \"),(_vm.share && !_vm.isEmailShareType && _vm.share.token)?_c('Actions',{ref:\"copyButton\",staticClass:\"sharing-entry__copy\"},[_c('ActionLink',{attrs:{\"href\":_vm.shareLink,\"target\":\"_blank\",\"icon\":_vm.copied && _vm.copySuccess ? 'icon-checkmark-color' : 'icon-clippy'},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.copyLink.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.clipboardTooltip)+\"\\n\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),(!_vm.pending && (_vm.pendingPassword || _vm.pendingExpirationDate))?_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\",\"open\":_vm.open},on:{\"update:open\":function($event){_vm.open=$event},\"close\":_vm.onNewLinkShare}},[(_vm.errors.pending)?_c('ActionText',{class:{ error: _vm.errors.pending},attrs:{\"icon\":\"icon-error\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.errors.pending)+\"\\n\\t\\t\")]):_c('ActionText',{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('ActionText',{attrs:{\"icon\":\"icon-password\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password protection (enforced)'))+\"\\n\\t\\t\")]):(_vm.config.enableLinkPasswordByDefault)?_c('ActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event},\"uncheck\":_vm.onPasswordDisable}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Password protection'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingPassword || _vm.share.password)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\tcontent: _vm.errors.password,\n\t\t\t\tshow: _vm.errors.password,\n\t\t\t\ttrigger: 'manual',\n\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t}),expression:\"{\\n\\t\\t\\t\\tcontent: errors.password,\\n\\t\\t\\t\\tshow: errors.password,\\n\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t}\",modifiers:{\"auto\":true}}],staticClass:\"share-link-password\",attrs:{\"value\":_vm.share.password,\"disabled\":_vm.saving,\"required\":_vm.config.enableLinkPasswordByDefault || _vm.config.enforcePasswordForPublicLink,\"minlength\":_vm.isPasswordPolicyEnabled && _vm.config.passwordPolicy.minLength,\"icon\":\"\",\"autocomplete\":\"new-password\"},on:{\"update:value\":function($event){return _vm.$set(_vm.share, \"password\", $event)},\"submit\":_vm.onNewLinkShare}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a password'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingExpirationDate)?_c('ActionText',{attrs:{\"icon\":\"icon-calendar-dark\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Expiration date (enforced)'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.pendingExpirationDate)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\tcontent: _vm.errors.expireDate,\n\t\t\t\tshow: _vm.errors.expireDate,\n\t\t\t\ttrigger: 'manual',\n\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t}),expression:\"{\\n\\t\\t\\t\\tcontent: errors.expireDate,\\n\\t\\t\\t\\tshow: errors.expireDate,\\n\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t}\",modifiers:{\"auto\":true}}],staticClass:\"share-link-expire-date\",attrs:{\"disabled\":_vm.saving,\"first-day-of-week\":_vm.firstDay,\"lang\":_vm.lang,\"icon\":\"\",\"type\":\"date\",\"value-type\":\"format\",\"disabled-date\":_vm.disabledDate},model:{value:(_vm.share.expireDate),callback:function ($$v) {_vm.$set(_vm.share, \"expireDate\", $$v)},expression:\"share.expireDate\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionButton',{attrs:{\"icon\":\"icon-checkmark\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create share'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('ActionButton',{attrs:{\"icon\":\"icon-close\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onCancel.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Cancel'))+\"\\n\\t\\t\")])],1):(!_vm.loading)?_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"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('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.label,\n\t\t\t\t\t\tshow: _vm.errors.label,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '.app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.label,\\n\\t\\t\\t\\t\\t\\tshow: errors.label,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '.app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"label\",class:{ error: _vm.errors.label },attrs:{\"disabled\":_vm.saving,\"aria-label\":_vm.t('files_sharing', 'Share label'),\"value\":_vm.share.newLabel !== undefined ? _vm.share.newLabel : _vm.share.label,\"icon\":\"icon-edit\",\"maxlength\":\"255\"},on:{\"update:value\":_vm.onLabelChange,\"submit\":_vm.onLabelSubmit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Share label'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder && _vm.fileHasCreatePermission && _vm.config.isPublicUploadEnabled)?[_c('ActionRadio',{attrs:{\"checked\":_vm.sharePermissions === _vm.publicUploadRValue,\"value\":_vm.publicUploadRValue,\"name\":_vm.randomId,\"disabled\":_vm.saving},on:{\"change\":_vm.togglePermissions}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Read only'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionRadio',{attrs:{\"checked\":_vm.sharePermissions === _vm.publicUploadRWValue,\"value\":_vm.publicUploadRWValue,\"disabled\":_vm.saving,\"name\":_vm.randomId},on:{\"change\":_vm.togglePermissions}},[_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(\" \"),_c('ActionRadio',{staticClass:\"sharing-entry__action--public-upload\",attrs:{\"checked\":_vm.sharePermissions === _vm.publicUploadWValue,\"value\":_vm.publicUploadWValue,\"disabled\":_vm.saving,\"name\":_vm.randomId},on:{\"change\":_vm.togglePermissions}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'File drop (upload only)'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('ActionCheckbox',{attrs:{\"checked\":_vm.canUpdate,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.canUpdate=$event},\"change\":function($event){return _vm.queueUpdate('permissions')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionCheckbox',{attrs:{\"checked\":_vm.share.hideDownload,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){return _vm.$set(_vm.share, \"hideDownload\", $event)},\"change\":function($event){return _vm.queueUpdate('hideDownload')}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Hide download'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('ActionCheckbox',{staticClass:\"share-link-password-checkbox\",attrs:{\"checked\":_vm.isPasswordProtected,\"disabled\":_vm.config.enforcePasswordForPublicLink || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtected=$event},\"uncheck\":_vm.onPasswordDisable}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.config.enforcePasswordForPublicLink\n\t\t\t\t\t\t? _vm.t('files_sharing', 'Password protection (enforced)')\n\t\t\t\t\t\t: _vm.t('files_sharing', 'Password protect'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isPasswordProtected)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.password,\n\t\t\t\t\t\tshow: _vm.errors.password,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.password,\\n\\t\\t\\t\\t\\t\\tshow: errors.password,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"password\",staticClass:\"share-link-password\",class:{ error: _vm.errors.password},attrs:{\"disabled\":_vm.saving,\"required\":_vm.config.enforcePasswordForPublicLink,\"value\":_vm.hasUnsavedPassword ? _vm.share.newPassword : '***************',\"icon\":\"icon-password\",\"autocomplete\":\"new-password\",\"type\":_vm.hasUnsavedPassword ? 'text': 'password'},on:{\"update:value\":_vm.onPasswordChange,\"submit\":_vm.onPasswordSubmit}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a password'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isPasswordProtectedByTalkAvailable)?_c('ActionCheckbox',{staticClass:\"share-link-password-talk-checkbox\",attrs:{\"checked\":_vm.isPasswordProtectedByTalk,\"disabled\":!_vm.canTogglePasswordProtectedByTalkAvailable || _vm.saving},on:{\"update:checked\":function($event){_vm.isPasswordProtectedByTalk=$event},\"change\":_vm.onPasswordProtectedByTalkChange}},[_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('ActionCheckbox',{staticClass:\"share-link-expire-date-checkbox\",attrs:{\"checked\":_vm.hasExpirationDate,\"disabled\":_vm.config.isDefaultExpireDateEnforced || _vm.saving},on:{\"update:checked\":function($event){_vm.hasExpirationDate=$event},\"uncheck\":_vm.onExpirationDisable}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.config.isDefaultExpireDateEnforced\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('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.expireDate,\n\t\t\t\t\t\tshow: _vm.errors.expireDate,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.expireDate,\\n\\t\\t\\t\\t\\t\\tshow: errors.expireDate,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"expireDate\",staticClass:\"share-link-expire-date\",class:{ error: _vm.errors.expireDate},attrs:{\"disabled\":_vm.saving,\"first-day-of-week\":_vm.firstDay,\"lang\":_vm.lang,\"value\":_vm.share.expireDate,\"value-type\":\"format\",\"icon\":\"icon-calendar-dark\",\"type\":\"date\",\"disabled-date\":_vm.disabledDate},on:{\"update:value\":_vm.onExpirationChange}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionCheckbox',{attrs:{\"checked\":_vm.hasNote,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.hasNote=$event},\"uncheck\":function($event){return _vm.queueUpdate('note')}}},[_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.hasNote)?_c('ActionTextEditable',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.note,\n\t\t\t\t\t\tshow: _vm.errors.note,\n\t\t\t\t\t\ttrigger: 'manual',\n\t\t\t\t\t\tdefaultContainer: '#app-sidebar'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.note,\\n\\t\\t\\t\\t\\t\\tshow: errors.note,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual',\\n\\t\\t\\t\\t\\t\\tdefaultContainer: '#app-sidebar'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"note\",class:{ error: _vm.errors.note},attrs:{\"disabled\":_vm.saving,\"placeholder\":_vm.t('files_sharing', 'Enter a note for the share recipient'),\"value\":_vm.share.newNote || _vm.share.note,\"icon\":\"icon-edit\"},on:{\"update:value\":_vm.onNoteChange,\"submit\":_vm.onNoteSubmit}}):_vm._e()]:_vm._e(),_vm._v(\" \"),_vm._l((_vm.externalActions),function(ref,index){\n\t\t\t\t\tvar icon = ref.icon;\n\t\t\t\t\tvar url = ref.url;\n\t\t\t\t\tvar name = ref.name;\nreturn _c('ActionLink',{key:index,attrs:{\"href\":url(_vm.shareLink),\"icon\":icon,\"target\":\"_blank\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(name)+\"\\n\\t\\t\\t\")])}),_vm._v(\" \"),(_vm.share.canDelete)?_c('ActionButton',{attrs:{\"icon\":\"icon-close\",\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(!_vm.isEmailShareType && _vm.canReshare)?_c('ActionButton',{staticClass:\"new-share-link\",attrs:{\"icon\":\"icon-add\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Add another link'))+\"\\n\\t\\t\\t\")]):_vm._e()]:(_vm.canReshare)?_c('ActionButton',{staticClass:\"new-share-link\",attrs:{\"icon\":_vm.loading ? 'icon-loading-small' : 'icon-add'},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onNewLinkShare.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Create a new share link'))+\"\\n\\t\\t\")]):_vm._e()],2):_c('div',{staticClass:\"icon-loading-small sharing-entry__loading\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingLinkList.vue?vue&type=template&id=186b01ce&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.canLinkShare)?_c('ul',{staticClass:\"sharing-link-list\"},[(!_vm.hasLinkShares && _vm.canReshare)?_c('SharingEntryLink',{attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo},on:{\"add:share\":_vm.addShare}}):_vm._e(),_vm._v(\" \"),(_vm.hasShares)?_vm._l((_vm.shares),function(share,index){return _c('SharingEntryLink',{key:share.id,attrs:{\"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.apply(void 0, arguments)}],\"add:share\":function($event){return _vm.addShare.apply(void 0, arguments)},\"remove:share\":_vm.removeShare}})}):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<li class=\"sharing-entry\">\n\t\t<Avatar class=\"sharing-entry__avatar\"\n\t\t\t:is-no-user=\"share.type !== SHARE_TYPES.SHARE_TYPE_USER\"\n\t\t\t:user=\"share.shareWith\"\n\t\t\t:display-name=\"share.shareWithDisplayName\"\n\t\t\t:tooltip-message=\"share.type === SHARE_TYPES.SHARE_TYPE_USER ? share.shareWith : ''\"\n\t\t\t:menu-position=\"'left'\"\n\t\t\t:url=\"share.shareWithAvatar\" />\n\t\t<component :is=\"share.shareWithLink ? 'a' : 'div'\"\n\t\t\tv-tooltip.auto=\"tooltip\"\n\t\t\t:href=\"share.shareWithLink\"\n\t\t\tclass=\"sharing-entry__desc\">\n\t\t\t<h5>{{ title }}<span v-if=\"!isUnique\" class=\"sharing-entry__desc-unique\"> ({{ share.shareWithDisplayNameUnique }})</span></h5>\n\t\t\t<p v-if=\"hasStatus\">\n\t\t\t\t<span>{{ share.status.icon || '' }}</span>\n\t\t\t\t<span>{{ share.status.message || '' }}</span>\n\t\t\t</p>\n\t\t</component>\n\t\t<Actions\n\t\t\tmenu-align=\"right\"\n\t\t\tclass=\"sharing-entry__actions\"\n\t\t\t@close=\"onMenuClose\">\n\t\t\t<template v-if=\"share.canEdit\">\n\t\t\t\t<!-- edit permission -->\n\t\t\t\t<ActionCheckbox\n\t\t\t\t\tref=\"canEdit\"\n\t\t\t\t\t:checked.sync=\"canEdit\"\n\t\t\t\t\t:value=\"permissionsEdit\"\n\t\t\t\t\t:disabled=\"saving || !canSetEdit\">\n\t\t\t\t\t{{ t('files_sharing', 'Allow editing') }}\n\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t<!-- create permission -->\n\t\t\t\t<ActionCheckbox\n\t\t\t\t\tv-if=\"isFolder\"\n\t\t\t\t\tref=\"canCreate\"\n\t\t\t\t\t:checked.sync=\"canCreate\"\n\t\t\t\t\t:value=\"permissionsCreate\"\n\t\t\t\t\t:disabled=\"saving || !canSetCreate\">\n\t\t\t\t\t{{ t('files_sharing', 'Allow creating') }}\n\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t<!-- delete permission -->\n\t\t\t\t<ActionCheckbox\n\t\t\t\t\tv-if=\"isFolder\"\n\t\t\t\t\tref=\"canDelete\"\n\t\t\t\t\t:checked.sync=\"canDelete\"\n\t\t\t\t\t:value=\"permissionsDelete\"\n\t\t\t\t\t:disabled=\"saving || !canSetDelete\">\n\t\t\t\t\t{{ t('files_sharing', 'Allow deleting') }}\n\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t<!-- reshare permission -->\n\t\t\t\t<ActionCheckbox\n\t\t\t\t\tv-if=\"config.isResharingAllowed\"\n\t\t\t\t\tref=\"canReshare\"\n\t\t\t\t\t:checked.sync=\"canReshare\"\n\t\t\t\t\t:value=\"permissionsShare\"\n\t\t\t\t\t:disabled=\"saving || !canSetReshare\">\n\t\t\t\t\t{{ t('files_sharing', 'Allow resharing') }}\n\t\t\t\t</ActionCheckbox>\n\n\t\t\t\t<!-- expiration date -->\n\t\t\t\t<ActionCheckbox :checked.sync=\"hasExpirationDate\"\n\t\t\t\t\t:disabled=\"config.isDefaultInternalExpireDateEnforced || saving\"\n\t\t\t\t\t@uncheck=\"onExpirationDisable\">\n\t\t\t\t\t{{ config.isDefaultInternalExpireDateEnforced\n\t\t\t\t\t\t? t('files_sharing', 'Expiration date enforced')\n\t\t\t\t\t\t: t('files_sharing', 'Set expiration date') }}\n\t\t\t\t</ActionCheckbox>\n\t\t\t\t<ActionInput v-if=\"hasExpirationDate\"\n\t\t\t\t\tref=\"expireDate\"\n\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\tcontent: errors.expireDate,\n\t\t\t\t\t\tshow: errors.expireDate,\n\t\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t\t}\"\n\t\t\t\t\t:class=\"{ error: errors.expireDate}\"\n\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t:first-day-of-week=\"firstDay\"\n\t\t\t\t\t:lang=\"lang\"\n\t\t\t\t\t:value=\"share.expireDate\"\n\t\t\t\t\tvalue-type=\"format\"\n\t\t\t\t\ticon=\"icon-calendar-dark\"\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t\t:disabled-date=\"disabledDate\"\n\t\t\t\t\t@update:value=\"onExpirationChange\">\n\t\t\t\t\t{{ t('files_sharing', 'Enter a date') }}\n\t\t\t\t</ActionInput>\n\n\t\t\t\t<!-- note -->\n\t\t\t\t<template v-if=\"canHaveNote\">\n\t\t\t\t\t<ActionCheckbox\n\t\t\t\t\t\t:checked.sync=\"hasNote\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t@uncheck=\"queueUpdate('note')\">\n\t\t\t\t\t\t{{ t('files_sharing', 'Note to recipient') }}\n\t\t\t\t\t</ActionCheckbox>\n\t\t\t\t\t<ActionTextEditable v-if=\"hasNote\"\n\t\t\t\t\t\tref=\"note\"\n\t\t\t\t\t\tv-tooltip.auto=\"{\n\t\t\t\t\t\t\tcontent: errors.note,\n\t\t\t\t\t\t\tshow: errors.note,\n\t\t\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:class=\"{ error: errors.note}\"\n\t\t\t\t\t\t:disabled=\"saving\"\n\t\t\t\t\t\t:value=\"share.newNote || share.note\"\n\t\t\t\t\t\ticon=\"icon-edit\"\n\t\t\t\t\t\t@update:value=\"onNoteChange\"\n\t\t\t\t\t\t@submit=\"onNoteSubmit\" />\n\t\t\t\t</template>\n\t\t\t</template>\n\n\t\t\t<ActionButton v-if=\"share.canDelete\"\n\t\t\t\ticon=\"icon-close\"\n\t\t\t\t:disabled=\"saving\"\n\t\t\t\t@click.prevent=\"onDelete\">\n\t\t\t\t{{ t('files_sharing', 'Unshare') }}\n\t\t\t</ActionButton>\n\t\t</Actions>\n\t</li>\n</template>\n\n<script>\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport Actions from '@nextcloud/vue/dist/Components/Actions'\nimport ActionButton from '@nextcloud/vue/dist/Components/ActionButton'\nimport ActionCheckbox from '@nextcloud/vue/dist/Components/ActionCheckbox'\nimport ActionInput from '@nextcloud/vue/dist/Components/ActionInput'\nimport ActionTextEditable from '@nextcloud/vue/dist/Components/ActionTextEditable'\nimport Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'\n\nimport SharesMixin from '../mixins/SharesMixin'\n\nexport default {\n\tname: 'SharingEntry',\n\n\tcomponents: {\n\t\tActions,\n\t\tActionButton,\n\t\tActionCheckbox,\n\t\tActionInput,\n\t\tActionTextEditable,\n\t\tAvatar,\n\t},\n\n\tdirectives: {\n\t\tTooltip,\n\t},\n\n\tmixins: [SharesMixin],\n\n\tdata() {\n\t\treturn {\n\t\t\tpermissionsEdit: OC.PERMISSION_UPDATE,\n\t\t\tpermissionsCreate: OC.PERMISSION_CREATE,\n\t\t\tpermissionsDelete: OC.PERMISSION_DELETE,\n\t\t\tpermissionsRead: OC.PERMISSION_READ,\n\t\t\tpermissionsShare: OC.PERMISSION_SHARE,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\ttitle() {\n\t\t\tlet title = this.share.shareWithDisplayName\n\t\t\tif (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GROUP) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'group')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_ROOM) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'conversation')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'remote group')})`\n\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GUEST) {\n\t\t\t\ttitle += ` (${t('files_sharing', 'guest')})`\n\t\t\t}\n\t\t\treturn title\n\t\t},\n\n\t\ttooltip() {\n\t\t\tif (this.share.owner !== this.share.uidFileOwner) {\n\t\t\t\tconst data = {\n\t\t\t\t\t// todo: strong or italic?\n\t\t\t\t\t// but the t function escape any html from the data :/\n\t\t\t\t\tuser: this.share.shareWithDisplayName,\n\t\t\t\t\towner: this.share.ownerDisplayName,\n\t\t\t\t}\n\n\t\t\t\tif (this.share.type === this.SHARE_TYPES.SHARE_TYPE_GROUP) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the group {user} by {owner}', data)\n\t\t\t\t} else if (this.share.type === this.SHARE_TYPES.SHARE_TYPE_ROOM) {\n\t\t\t\t\treturn t('files_sharing', 'Shared with the conversation {user} by {owner}', data)\n\t\t\t\t}\n\n\t\t\t\treturn t('files_sharing', 'Shared with {user} by {owner}', data)\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\tcanHaveNote() {\n\t\t\treturn !this.isRemote\n\t\t},\n\n\t\tisRemote() {\n\t\t\treturn this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE\n\t\t\t\t|| this.share.type === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can edit the file ?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanSetEdit() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_UPDATE) || this.canEdit\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can create the file ?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanSetCreate() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_CREATE) || this.canCreate\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can delete the file ?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanSetDelete() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_DELETE) || this.canDelete\n\t\t},\n\n\t\t/**\n\t\t * Can the sharer set whether the sharee can reshare the file ?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tcanSetReshare() {\n\t\t\t// If the owner revoked the permission after the resharer granted it\n\t\t\t// the share still has the permission, and the resharer is still\n\t\t\t// allowed to revoke it too (but not to grant it again).\n\t\t\treturn (this.fileInfo.sharePermissions & OC.PERMISSION_SHARE) || this.canReshare\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee edit the shared file ?\n\t\t */\n\t\tcanEdit: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasUpdatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updatePermissions({ isEditChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee create the shared file ?\n\t\t */\n\t\tcanCreate: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasCreatePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updatePermissions({ isCreateChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee delete the shared file ?\n\t\t */\n\t\tcanDelete: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasDeletePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updatePermissions({ isDeleteChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Can the sharee reshare the file ?\n\t\t */\n\t\tcanReshare: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasSharePermission\n\t\t\t},\n\t\t\tset(checked) {\n\t\t\t\tthis.updatePermissions({ isReshareChecked: checked })\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is this share readable\n\t\t * Needed for some federated shares that might have been added from file drop links\n\t\t */\n\t\thasRead: {\n\t\t\tget() {\n\t\t\t\treturn this.share.hasReadPermission\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Is the current share a folder ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisFolder() {\n\t\t\treturn this.fileInfo.type === 'dir'\n\t\t},\n\n\t\t/**\n\t\t * Does the current share have an expiration date\n\t\t * @returns {boolean}\n\t\t */\n\t\thasExpirationDate: {\n\t\t\tget() {\n\t\t\t\treturn this.config.isDefaultInternalExpireDateEnforced || !!this.share.expireDate\n\t\t\t},\n\t\t\tset(enabled) {\n\t\t\t\tthis.share.expireDate = enabled\n\t\t\t\t\t? this.config.defaultInternalExpirationDateString !== ''\n\t\t\t\t\t\t? this.config.defaultInternalExpirationDateString\n\t\t\t\t\t\t: moment().format('YYYY-MM-DD')\n\t\t\t\t\t: ''\n\t\t\t},\n\t\t},\n\n\t\tdateMaxEnforced() {\n\t\t\tif (!this.isRemote) {\n\t\t\t\treturn this.config.isDefaultInternalExpireDateEnforced\n\t\t\t\t\t&& moment().add(1 + this.config.defaultInternalExpireDate, 'days')\n\t\t\t} else {\n\t\t\t\treturn this.config.isDefaultRemoteExpireDateEnforced\n\t\t\t\t\t&& moment().add(1 + this.config.defaultRemoteExpireDate, 'days')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @returns {bool}\n\t\t */\n\t\thasStatus() {\n\t\t\tif (this.share.type !== this.SHARE_TYPES.SHARE_TYPE_USER) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\treturn (typeof this.share.status === 'object' && !Array.isArray(this.share.status))\n\t\t},\n\n\t},\n\n\tmethods: {\n\t\tupdatePermissions({ isEditChecked = this.canEdit, isCreateChecked = this.canCreate, isDeleteChecked = this.canDelete, isReshareChecked = this.canReshare } = {}) {\n\t\t\t// calc permissions if checked\n\t\t\tconst permissions = 0\n\t\t\t\t| (this.hasRead ? this.permissionsRead : 0)\n\t\t\t\t| (isCreateChecked ? this.permissionsCreate : 0)\n\t\t\t\t| (isDeleteChecked ? this.permissionsDelete : 0)\n\t\t\t\t| (isEditChecked ? this.permissionsEdit : 0)\n\t\t\t\t| (isReshareChecked ? this.permissionsShare : 0)\n\n\t\t\tthis.share.permissions = permissions\n\t\t\tthis.queueUpdate('permissions')\n\t\t},\n\n\t\t/**\n\t\t * Save potential changed data on menu close\n\t\t */\n\t\tonMenuClose() {\n\t\t\tthis.onNoteSubmit()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\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\tline-height: 1.2em;\n\t\tp {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t\t&-unique {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\t&__actions {\n\t\tmargin-left: auto;\n\t}\n}\n</style>\n","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&\"","import api from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content 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=8e155ce6&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<ul class=\"sharing-sharee-list\">\n\t\t<SharingEntry v-for=\"share in shares\"\n\t\t\t:key=\"share.id\"\n\t\t\t:file-info=\"fileInfo\"\n\t\t\t:share=\"share\"\n\t\t\t:is-unique=\"isUnique(share)\"\n\t\t\t@remove:share=\"removeShare\" />\n\t</ul>\n</template>\n\n<script>\n// eslint-disable-next-line no-unused-vars\nimport Share from '../models/Share'\nimport SharingEntry from '../components/SharingEntry'\nimport ShareTypes from '../mixins/ShareTypes'\n\nexport default {\n\tname: 'SharingList',\n\n\tcomponents: {\n\t\tSharingEntry,\n\t},\n\n\tmixins: [ShareTypes],\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\tshares: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\thasShares() {\n\t\t\treturn this.shares.length === 0\n\t\t},\n\t\tisUnique() {\n\t\t\treturn (share) => {\n\t\t\t\treturn [...this.shares].filter((item) => {\n\t\t\t\t\treturn share.type === this.SHARE_TYPES.SHARE_TYPE_USER && share.shareWithDisplayName === item.shareWithDisplayName\n\t\t\t\t}).length <= 1\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Remove a share from the shares list\n\t\t *\n\t\t * @param {Share} share the share to remove\n\t\t */\n\t\tremoveShare(share) {\n\t\t\tconst index = this.shares.findIndex(item => item === share)\n\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\tthis.shares.splice(index, 1)\n\t\t},\n\t},\n}\n</script>\n","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&\"","import { render, staticRenderFns } from \"./SharingEntry.vue?vue&type=template&id=8e155ce6&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=8e155ce6&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 \"8e155ce6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"sharing-entry\"},[_c('Avatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"is-no-user\":_vm.share.type !== _vm.SHARE_TYPES.SHARE_TYPE_USER,\"user\":_vm.share.shareWith,\"display-name\":_vm.share.shareWithDisplayName,\"tooltip-message\":_vm.share.type === _vm.SHARE_TYPES.SHARE_TYPE_USER ? _vm.share.shareWith : '',\"menu-position\":'left',\"url\":_vm.share.shareWithAvatar}}),_vm._v(\" \"),_c(_vm.share.shareWithLink ? 'a' : 'div',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.tooltip),expression:\"tooltip\",modifiers:{\"auto\":true}}],tag:\"component\",staticClass:\"sharing-entry__desc\",attrs:{\"href\":_vm.share.shareWithLink}},[_c('h5',[_vm._v(_vm._s(_vm.title)),(!_vm.isUnique)?_c('span',{staticClass:\"sharing-entry__desc-unique\"},[_vm._v(\" (\"+_vm._s(_vm.share.shareWithDisplayNameUnique)+\")\")]):_vm._e()]),_vm._v(\" \"),(_vm.hasStatus)?_c('p',[_c('span',[_vm._v(_vm._s(_vm.share.status.icon || ''))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.share.status.message || ''))])]):_vm._e()]),_vm._v(\" \"),_c('Actions',{staticClass:\"sharing-entry__actions\",attrs:{\"menu-align\":\"right\"},on:{\"close\":_vm.onMenuClose}},[(_vm.share.canEdit)?[_c('ActionCheckbox',{ref:\"canEdit\",attrs:{\"checked\":_vm.canEdit,\"value\":_vm.permissionsEdit,\"disabled\":_vm.saving || !_vm.canSetEdit},on:{\"update:checked\":function($event){_vm.canEdit=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow editing'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.isFolder)?_c('ActionCheckbox',{ref:\"canCreate\",attrs:{\"checked\":_vm.canCreate,\"value\":_vm.permissionsCreate,\"disabled\":_vm.saving || !_vm.canSetCreate},on:{\"update:checked\":function($event){_vm.canCreate=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow creating'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.isFolder)?_c('ActionCheckbox',{ref:\"canDelete\",attrs:{\"checked\":_vm.canDelete,\"value\":_vm.permissionsDelete,\"disabled\":_vm.saving || !_vm.canSetDelete},on:{\"update:checked\":function($event){_vm.canDelete=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow deleting'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.config.isResharingAllowed)?_c('ActionCheckbox',{ref:\"canReshare\",attrs:{\"checked\":_vm.canReshare,\"value\":_vm.permissionsShare,\"disabled\":_vm.saving || !_vm.canSetReshare},on:{\"update:checked\":function($event){_vm.canReshare=$event}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Allow resharing'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_c('ActionCheckbox',{attrs:{\"checked\":_vm.hasExpirationDate,\"disabled\":_vm.config.isDefaultInternalExpireDateEnforced || _vm.saving},on:{\"update:checked\":function($event){_vm.hasExpirationDate=$event},\"uncheck\":_vm.onExpirationDisable}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.config.isDefaultInternalExpireDateEnforced\n\t\t\t\t\t? _vm.t('files_sharing', 'Expiration date enforced')\n\t\t\t\t\t: _vm.t('files_sharing', 'Set expiration date'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),(_vm.hasExpirationDate)?_c('ActionInput',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\tcontent: _vm.errors.expireDate,\n\t\t\t\t\tshow: _vm.errors.expireDate,\n\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\tcontent: errors.expireDate,\\n\\t\\t\\t\\t\\tshow: errors.expireDate,\\n\\t\\t\\t\\t\\ttrigger: 'manual'\\n\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"expireDate\",class:{ error: _vm.errors.expireDate},attrs:{\"disabled\":_vm.saving,\"first-day-of-week\":_vm.firstDay,\"lang\":_vm.lang,\"value\":_vm.share.expireDate,\"value-type\":\"format\",\"icon\":\"icon-calendar-dark\",\"type\":\"date\",\"disabled-date\":_vm.disabledDate},on:{\"update:value\":_vm.onExpirationChange}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Enter a date'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.canHaveNote)?[_c('ActionCheckbox',{attrs:{\"checked\":_vm.hasNote,\"disabled\":_vm.saving},on:{\"update:checked\":function($event){_vm.hasNote=$event},\"uncheck\":function($event){return _vm.queueUpdate('note')}}},[_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.hasNote)?_c('ActionTextEditable',{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:({\n\t\t\t\t\t\tcontent: _vm.errors.note,\n\t\t\t\t\t\tshow: _vm.errors.note,\n\t\t\t\t\t\ttrigger: 'manual'\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tcontent: errors.note,\\n\\t\\t\\t\\t\\t\\tshow: errors.note,\\n\\t\\t\\t\\t\\t\\ttrigger: 'manual'\\n\\t\\t\\t\\t\\t}\",modifiers:{\"auto\":true}}],ref:\"note\",class:{ error: _vm.errors.note},attrs:{\"disabled\":_vm.saving,\"value\":_vm.share.newNote || _vm.share.note,\"icon\":\"icon-edit\"},on:{\"update:value\":_vm.onNoteChange,\"submit\":_vm.onNoteSubmit}}):_vm._e()]:_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.share.canDelete)?_c('ActionButton',{attrs:{\"icon\":\"icon-close\",\"disabled\":_vm.saving},on:{\"click\":function($event){$event.preventDefault();return _vm.onDelete.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('files_sharing', 'Unshare'))+\"\\n\\t\\t\")]):_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SharingList.vue?vue&type=template&id=0b29d4c0&\"\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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"sharing-sharee-list\"},_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:{\"remove:share\":_vm.removeShare}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div :class=\"{ 'icon-loading': loading }\">\n\t\t<!-- error message -->\n\t\t<div v-if=\"error\" class=\"emptycontent\">\n\t\t\t<div class=\"icon icon-error\" />\n\t\t\t<h2>{{ error }}</h2>\n\t\t</div>\n\n\t\t<!-- shares content -->\n\t\t<template v-else>\n\t\t\t<!-- shared with me information -->\n\t\t\t<SharingEntrySimple v-if=\"isSharedWithMe\" v-bind=\"sharedWithMe\" class=\"sharing-entry__reshare\">\n\t\t\t\t<template #avatar>\n\t\t\t\t\t<Avatar\n\t\t\t\t\t\t:user=\"sharedWithMe.user\"\n\t\t\t\t\t\t:display-name=\"sharedWithMe.displayName\"\n\t\t\t\t\t\tclass=\"sharing-entry__avatar\"\n\t\t\t\t\t\ttooltip-message=\"\" />\n\t\t\t\t</template>\n\t\t\t</SharingEntrySimple>\n\n\t\t\t<!-- add new share input -->\n\t\t\t<SharingInput v-if=\"!loading\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t:link-shares=\"linkShares\"\n\t\t\t\t:reshare=\"reshare\"\n\t\t\t\t:shares=\"shares\"\n\t\t\t\t@add:share=\"addShare\" />\n\n\t\t\t<!-- link shares list -->\n\t\t\t<SharingLinkList v-if=\"!loading\"\n\t\t\t\tref=\"linkShareList\"\n\t\t\t\t:can-reshare=\"canReshare\"\n\t\t\t\t:file-info=\"fileInfo\"\n\t\t\t\t:shares=\"linkShares\" />\n\n\t\t\t<!-- other shares list -->\n\t\t\t<SharingList v-if=\"!loading\"\n\t\t\t\tref=\"shareList\"\n\t\t\t\t:shares=\"shares\"\n\t\t\t\t:file-info=\"fileInfo\" />\n\n\t\t\t<!-- inherited shares -->\n\t\t\t<SharingInherited v-if=\"canReshare && !loading\" :file-info=\"fileInfo\" />\n\n\t\t\t<!-- internal link copy -->\n\t\t\t<SharingEntryInternal :file-info=\"fileInfo\" />\n\n\t\t\t<!-- projects -->\n\t\t\t<CollectionList v-if=\"fileInfo\"\n\t\t\t\t:id=\"`${fileInfo.id}`\"\n\t\t\t\ttype=\"file\"\n\t\t\t\t:name=\"fileInfo.name\" />\n\n\t\t\t<!-- additionnal entries, use it with cautious -->\n\t\t\t<div v-for=\"(section, index) in sections\"\n\t\t\t\t:ref=\"'section-' + index\"\n\t\t\t\t:key=\"index\"\n\t\t\t\tclass=\"sharingTab__additionalContent\">\n\t\t\t\t<component :is=\"section($refs['section-'+index], fileInfo)\" :file-info=\"fileInfo\" />\n\t\t\t</div>\n\t\t</template>\n\t</div>\n</template>\n\n<script>\nimport { CollectionList } from 'nextcloud-vue-collections'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport Avatar from '@nextcloud/vue/dist/Components/Avatar'\nimport axios from '@nextcloud/axios'\n\nimport Config from '../services/ConfigService'\nimport { shareWithTitle } from '../utils/SharedWithMe'\nimport Share from '../models/Share'\nimport ShareTypes from '../mixins/ShareTypes'\nimport SharingEntryInternal from '../components/SharingEntryInternal'\nimport SharingEntrySimple from '../components/SharingEntrySimple'\nimport SharingInput from '../components/SharingInput'\n\nimport SharingInherited from './SharingInherited'\nimport SharingLinkList from './SharingLinkList'\nimport SharingList from './SharingList'\n\nexport default {\n\tname: 'SharingTab',\n\n\tcomponents: {\n\t\tAvatar,\n\t\tCollectionList,\n\t\tSharingEntryInternal,\n\t\tSharingEntrySimple,\n\t\tSharingInherited,\n\t\tSharingInput,\n\t\tSharingLinkList,\n\t\tSharingList,\n\t},\n\n\tmixins: [ShareTypes],\n\n\tdata() {\n\t\treturn {\n\t\t\tconfig: new Config(),\n\n\t\t\terror: '',\n\t\t\texpirationInterval: null,\n\t\t\tloading: true,\n\n\t\t\tfileInfo: null,\n\n\t\t\t// reshare Share object\n\t\t\treshare: null,\n\t\t\tsharedWithMe: {},\n\t\t\tshares: [],\n\t\t\tlinkShares: [],\n\n\t\t\tsections: OCA.Sharing.ShareTabSections.getSections(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Is this share shared with me?\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tisSharedWithMe() {\n\t\t\treturn Object.keys(this.sharedWithMe).length > 0\n\t\t},\n\n\t\tcanReshare() {\n\t\t\treturn !!(this.fileInfo.permissions & OC.PERMISSION_SHARE)\n\t\t\t\t|| !!(this.reshare && this.reshare.hasSharePermission && this.config.isResharingAllowed)\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Update current fileInfo and fetch new data\n\t\t * @param {Object} fileInfo the current file FileInfo\n\t\t */\n\t\tasync update(fileInfo) {\n\t\t\tthis.fileInfo = fileInfo\n\t\t\tthis.resetState()\n\t\t\tthis.getShares()\n\t\t},\n\n\t\t/**\n\t\t * Get the existing shares infos\n\t\t */\n\t\tasync getShares() {\n\t\t\ttry {\n\t\t\t\tthis.loading = true\n\n\t\t\t\t// init params\n\t\t\t\tconst shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')\n\t\t\t\tconst format = 'json'\n\t\t\t\t// TODO: replace with proper getFUllpath implementation of our own FileInfo model\n\t\t\t\tconst path = (this.fileInfo.path + '/' + this.fileInfo.name).replace('//', '/')\n\n\t\t\t\t// fetch shares\n\t\t\t\tconst fetchShares = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\treshares: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\tconst fetchSharedWithMe = axios.get(shareUrl, {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tformat,\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\tshared_with_me: true,\n\t\t\t\t\t},\n\t\t\t\t})\n\n\t\t\t\t// wait for data\n\t\t\t\tconst [shares, sharedWithMe] = await Promise.all([fetchShares, fetchSharedWithMe])\n\t\t\t\tthis.loading = false\n\n\t\t\t\t// process results\n\t\t\t\tthis.processSharedWithMe(sharedWithMe)\n\t\t\t\tthis.processShares(shares)\n\t\t\t} catch (error) {\n\t\t\t\tthis.error = t('files_sharing', 'Unable to load the shares list')\n\t\t\t\tthis.loading = false\n\t\t\t\tconsole.error('Error loading the shares list', error)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Reset the current view to its default state\n\t\t */\n\t\tresetState() {\n\t\t\tclearInterval(this.expirationInterval)\n\t\t\tthis.loading = true\n\t\t\tthis.error = ''\n\t\t\tthis.sharedWithMe = {}\n\t\t\tthis.shares = []\n\t\t\tthis.linkShares = []\n\t\t},\n\n\t\t/**\n\t\t * Update sharedWithMe.subtitle with the appropriate\n\t\t * expiration time left\n\t\t *\n\t\t * @param {Share} share the sharedWith Share object\n\t\t */\n\t\tupdateExpirationSubtitle(share) {\n\t\t\tconst expiration = moment(share.expireDate).unix()\n\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'Expires {relativetime}', {\n\t\t\t\trelativetime: OC.Util.relativeModifiedDate(expiration * 1000),\n\t\t\t}))\n\n\t\t\t// share have expired\n\t\t\tif (moment().unix() > expiration) {\n\t\t\t\tclearInterval(this.expirationInterval)\n\t\t\t\t// TODO: clear ui if share is expired\n\t\t\t\tthis.$set(this.sharedWithMe, 'subtitle', t('files_sharing', 'this share just expired.'))\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the current shares data\n\t\t * and init shares[]\n\t\t *\n\t\t * @param {Object} share the share ocs api request data\n\t\t * @param {Object} share.data the request data\n\t\t */\n\t\tprocessShares({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data.length > 0) {\n\t\t\t\t// create Share objects and sort by newest\n\t\t\t\tconst shares = data.ocs.data\n\t\t\t\t\t.map(share => new Share(share))\n\t\t\t\t\t.sort((a, b) => b.createdTime - a.createdTime)\n\n\t\t\t\tthis.linkShares = shares.filter(share => share.type === this.SHARE_TYPES.SHARE_TYPE_LINK || share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\t\t\t\tthis.shares = shares.filter(share => share.type !== this.SHARE_TYPES.SHARE_TYPE_LINK && share.type !== this.SHARE_TYPES.SHARE_TYPE_EMAIL)\n\n\t\t\t\tconsole.debug('Processed', this.linkShares.length, 'link share(s)')\n\t\t\t\tconsole.debug('Processed', this.shares.length, 'share(s)')\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Process the sharedWithMe share data\n\t\t * and init sharedWithMe\n\t\t *\n\t\t * @param {Object} share the share ocs api request data\n\t\t * @param {Object} share.data the request data\n\t\t */\n\t\tprocessSharedWithMe({ data }) {\n\t\t\tif (data.ocs && data.ocs.data && data.ocs.data[0]) {\n\t\t\t\tconst share = new Share(data)\n\t\t\t\tconst title = shareWithTitle(share)\n\t\t\t\tconst displayName = share.ownerDisplayName\n\t\t\t\tconst user = share.owner\n\n\t\t\t\tthis.sharedWithMe = {\n\t\t\t\t\tdisplayName,\n\t\t\t\t\ttitle,\n\t\t\t\t\tuser,\n\t\t\t\t}\n\t\t\t\tthis.reshare = share\n\n\t\t\t\t// If we have an expiration date, use it as subtitle\n\t\t\t\t// Refresh the status every 10s and clear if expired\n\t\t\t\tif (share.expireDate && moment(share.expireDate).unix() > moment().unix()) {\n\t\t\t\t\t// first update\n\t\t\t\t\tthis.updateExpirationSubtitle(share)\n\t\t\t\t\t// interval update\n\t\t\t\t\tthis.expirationInterval = setInterval(this.updateExpirationSubtitle, 10000, share)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add a new share into the shares list\n\t\t * and return the newly created share component\n\t\t *\n\t\t * @param {Share} share the share to add to the array\n\t\t * @param {Function} [resolve] a function to run after the share is added and its component initialized\n\t\t */\n\t\taddShare(share, resolve = () => {}) {\n\t\t\t// only catching share type MAIL as link shares are added differently\n\t\t\t// meaning: not from the ShareInput\n\t\t\tif (share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\tthis.linkShares.unshift(share)\n\t\t\t} else {\n\t\t\t\tthis.shares.unshift(share)\n\t\t\t}\n\t\t\tthis.awaitForShare(share, resolve)\n\t\t},\n\n\t\t/**\n\t\t * Await for next tick and render after the list updated\n\t\t * Then resolve with the matched vue component of the\n\t\t * provided share object\n\t\t *\n\t\t * @param {Share} share newly created share\n\t\t * @param {Function} resolve a function to execute after\n\t\t */\n\t\tawaitForShare(share, resolve) {\n\t\t\tlet listComponent = this.$refs.shareList\n\t\t\t// Only mail shares comes from the input, link shares\n\t\t\t// are managed internally in the SharingLinkList component\n\t\t\tif (share.type === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {\n\t\t\t\tlistComponent = this.$refs.linkShareList\n\t\t\t}\n\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tconst newShare = listComponent.$children.find(component => component.share === share)\n\t\t\t\tif (newShare) {\n\t\t\t\t\tresolve(newShare)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\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 * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst shareWithTitle = function(share) {\n\tif (share.type === OC.Share.SHARE_TYPE_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 === OC.Share.SHARE_TYPE_CIRCLE) {\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 === OC.Share.SHARE_TYPE_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 { render, staticRenderFns } from \"./SharingTab.vue?vue&type=template&id=6af617e4&\"\nimport script from \"./SharingTab.vue?vue&type=script&lang=js&\"\nexport * from \"./SharingTab.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 () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'icon-loading': _vm.loading }},[(_vm.error)?_c('div',{staticClass:\"emptycontent\"},[_c('div',{staticClass:\"icon icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._v(_vm._s(_vm.error))])]):[(_vm.isSharedWithMe)?_c('SharingEntrySimple',_vm._b({staticClass:\"sharing-entry__reshare\",scopedSlots:_vm._u([{key:\"avatar\",fn:function(){return [_c('Avatar',{staticClass:\"sharing-entry__avatar\",attrs:{\"user\":_vm.sharedWithMe.user,\"display-name\":_vm.sharedWithMe.displayName,\"tooltip-message\":\"\"}})]},proxy:true}],null,false,1643724538)},'SharingEntrySimple',_vm.sharedWithMe,false)):_vm._e(),_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},on:{\"add:share\":_vm.addShare}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingLinkList',{ref:\"linkShareList\",attrs:{\"can-reshare\":_vm.canReshare,\"file-info\":_vm.fileInfo,\"shares\":_vm.linkShares}}):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('SharingList',{ref:\"shareList\",attrs:{\"shares\":_vm.shares,\"file-info\":_vm.fileInfo}}):_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}}),_vm._v(\" \"),(_vm.fileInfo)?_c('CollectionList',{attrs:{\"id\":(\"\" + (_vm.fileInfo.id)),\"type\":\"file\",\"name\":_vm.fileInfo.name}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.sections),function(section,index){return _c('div',{key:index,ref:'section-' + index,refInFor:true,staticClass:\"sharingTab__additionalContent\"},[_c(section(_vm.$refs['section-'+index], _vm.fileInfo),{tag:\"component\",attrs:{\"file-info\":_vm.fileInfo}})],1)})]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ShareSearch {\n\n\t_state;\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.results = []\n\t\tconsole.debug('OCA.Sharing.ShareSearch initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ShareSearch\n\t * @returns {Object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new result\n\t * Mostly used by the guests app.\n\t * We should consider deprecation and add results via php ?\n\t *\n\t * @param {Object} result entry to append\n\t * @param {string} [result.user] entry user\n\t * @param {string} result.displayName entry first line\n\t * @param {string} [result.desc] entry second line\n\t * @param {string} [result.icon] entry icon\n\t * @param {function} result.handler function to run on entry selection\n\t * @param {function} [result.condition] condition to add entry or not\n\t * @returns {boolean}\n\t */\n\taddNewResult(result) {\n\t\tif (result.displayName.trim() !== ''\n\t\t\t&& typeof result.handler === 'function') {\n\t\t\tthis._state.results.push(result)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid search result provided', result)\n\t\treturn false\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ExternalLinkActions {\n\n\t_state;\n\n\tconstructor() {\n\t\t// init empty state\n\t\tthis._state = {}\n\n\t\t// init default values\n\t\tthis._state.actions = []\n\t\tconsole.debug('OCA.Sharing.ExternalLinkActions initialized')\n\t}\n\n\t/**\n\t * Get the state\n\t *\n\t * @readonly\n\t * @memberof ExternalLinkActions\n\t * @returns {Object} the data state\n\t */\n\tget state() {\n\t\treturn this._state\n\t}\n\n\t/**\n\t * Register a new action for the link share\n\t * Mostly used by the social sharing app.\n\t *\n\t * @param {Object} action new action component to register\n\t * @returns {boolean}\n\t */\n\tregisterAction(action) {\n\t\tif (typeof action === 'object' && action.icon && action.name && action.url) {\n\t\t\tthis._state.actions.push(action)\n\t\t\treturn true\n\t\t}\n\t\tconsole.error('Invalid action provided', action)\n\t\treturn false\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class TabSections {\n\n\t_sections;\n\n\tconstructor() {\n\t\tthis._sections = []\n\t}\n\n\t/**\n\t * @param {registerSectionCallback} section To be called to mount the section to the sharing sidebar\n\t */\n\tregisterSection(section) {\n\t\tthis._sections.push(section)\n\t}\n\n\tgetSections() {\n\t\treturn this._sections\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport VueClipboard from 'vue-clipboard2'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\n\nimport SharingTab from './views/SharingTab'\nimport ShareSearch from './services/ShareSearch'\nimport ExternalLinkActions from './services/ExternalLinkActions'\nimport TabSections from './services/TabSections'\n\n// Init Sharing Tab Service\nif (!window.OCA.Sharing) {\n\twindow.OCA.Sharing = {}\n}\nObject.assign(window.OCA.Sharing, { ShareSearch: new ShareSearch() })\nObject.assign(window.OCA.Sharing, { ExternalLinkActions: new ExternalLinkActions() })\nObject.assign(window.OCA.Sharing, { ShareTabSections: new TabSections() })\n\nVue.prototype.t = t\nVue.prototype.n = n\nVue.use(VueClipboard)\n\n// Init Sharing tab component\nconst View = Vue.extend(SharingTab)\nlet TabInstance = null\n\nwindow.addEventListener('DOMContentLoaded', function() {\n\tif (OCA.Files && OCA.Files.Sidebar) {\n\t\tOCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({\n\t\t\tid: 'sharing',\n\t\t\tname: t('files_sharing', 'Sharing'),\n\t\t\ticon: 'icon-share',\n\n\t\t\tasync mount(el, fileInfo, context) {\n\t\t\t\tif (TabInstance) {\n\t\t\t\t\tTabInstance.$destroy()\n\t\t\t\t}\n\t\t\t\tTabInstance = new View({\n\t\t\t\t\t// Better integration with vue parent component\n\t\t\t\t\tparent: context,\n\t\t\t\t})\n\t\t\t\t// Only mount after we have all the info we need\n\t\t\t\tawait TabInstance.update(fileInfo)\n\t\t\t\tTabInstance.$mount(el)\n\t\t\t},\n\t\t\tupdate(fileInfo) {\n\t\t\t\tTabInstance.update(fileInfo)\n\t\t\t},\n\t\t\tdestroy() {\n\t\t\t\tTabInstance.$destroy()\n\t\t\t\tTabInstance = null\n\t\t\t},\n\t\t}))\n\t}\n})\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @class AbstractParser\n * @classdesc\n */\nexport default class AbstractParser {\n\n\t/**\n\t * @constructor\n\t *\n\t * @param {Object=} options Object of options\n\t * @param {Boolean=} options.extractGlobalProperties Whether or not to preserve properties from the VCALENDAR component (defaults to false)\n\t * @param {Boolean=} options.removeRSVPForAttendees Whether or not to remove RSVP from attendees (defaults to false)\n\t * @param {Boolean=} options.includeTimezones Whether or not to include timezones (defaults to false)\n\t * @param {Boolean=} options.preserveMethod Whether or not to preserve the iCalendar method (defaults to false)\n\t * @param {Boolean=} options.processFreeBusy Whether or not to process VFreeBusy components (defaults to false)\n\t */\n\tconstructor(options = {}) {\n\t\tif (new.target === AbstractParser) {\n\t\t\tthrow new TypeError('Cannot instantiate abstract class AbstractParser')\n\t\t}\n\n\t\t/**\n\t\t * Options for the parser\n\t\t *\n\t\t * @type {{removeRSVPForAttendees: Boolean}}\n\t\t * @private\n\t\t */\n\t\tthis._options = Object.assign({}, options)\n\n\t\t/**\n\t\t * A name extracted from the calendar-data\n\t\t *\n\t\t * @type {String|null}\n\t\t * @protected\n\t\t */\n\t\tthis._name = null\n\n\t\t/**\n\t\t * A color extracted from the calendar-data\n\t\t *\n\t\t * @type {String|null}\n\t\t * @protected\n\t\t */\n\t\tthis._color = null\n\n\t\t/**\n\t\t * Gets the url that this icalendar file can be updated from\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._sourceURL = null\n\n\t\t/**\n\t\t * Gets the update interval if this icalendar file can be updated from a source\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._refreshInterval = null\n\n\t\t/**\n\t\t * Gets the default timezone of this calendar\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._calendarTimezone = null\n\n\t\t/**\n\t\t * Error count during parsing\n\t\t *\n\t\t * @type {Array}\n\t\t * @protected\n\t\t */\n\t\tthis._errors = []\n\t}\n\n\t/**\n\t * Gets the name extracted from the calendar-data\n\t *\n\t * @returns {String|null}\n\t */\n\tgetName() {\n\t\treturn this._name\n\t}\n\n\t/**\n\t * Gets the color extracted from the calendar-data\n\t *\n\t * @returns {String|null}\n\t */\n\tgetColor() {\n\t\treturn this._color\n\t}\n\n\t/**\n\t * Gets whether this import can be converted into a webcal subscription\n\t *\n\t * @returns {boolean}\n\t */\n\toffersWebcalFeed() {\n\t\treturn this._sourceURL !== null\n\t}\n\n\t/**\n\t * Gets the url pointing to the webcal source\n\t *\n\t * @returns {String|null}\n\t */\n\tgetSourceURL() {\n\t\treturn this._sourceURL\n\t}\n\n\t/**\n\t * Gets the recommended refresh rate to update this subscription\n\t *\n\t * @returns {String|null}\n\t */\n\tgetRefreshInterval() {\n\t\treturn this._refreshInterval\n\t}\n\n\t/**\n\t * Gets the default timezone of this calendar\n\t *\n\t * @returns {String}\n\t */\n\tgetCalendarTimezone() {\n\t\treturn this._calendarTimezone\n\t}\n\n\t/**\n\t * {String|Object} data\n\t *\n\t * @param {any} data The data to parse\n\t * @throws TypeError\n\t */\n\tparse(data) {\n\t\tthrow new TypeError('Abstract method not implemented by subclass')\n\t}\n\n\t/**\n\t * Returns one CalendarComponent at a time\n\t */\n\t* getItemIterator() { // eslint-disable-line require-yield\n\t\tthrow new TypeError('Abstract method not implemented by subclass')\n\t}\n\n\t/**\n\t * Get an array of all items\n\t *\n\t * @returns {CalendarComponent[]}\n\t */\n\tgetAllItems() {\n\t\treturn Array.from(this.getItemIterator())\n\t}\n\n\t/**\n\t * Returns a boolean whether or not the parsed data contains vevents\n\t *\n\t * @returns {boolean}\n\t */\n\tcontainsVEvents() {\n\t\treturn false\n\t}\n\n\t/**\n\t * Returns a boolean whether or not the parsed data contains vjournals\n\t *\n\t * @returns {boolean}\n\t */\n\tcontainsVJournals() {\n\t\treturn false\n\t}\n\n\t/**\n\t * Returns a boolean whether or not the parsed data contains vtodos\n\t *\n\t * @returns {boolean}\n\t */\n\tcontainsVTodos() {\n\t\treturn false\n\t}\n\n\t/**\n\t * Returns a boolean whether or not the parsed data contains vfreebusys\n\t *\n\t * @returns {boolean}\n\t */\n\tcontainsVFreeBusy() {\n\t\treturn false\n\t}\n\n\t/**\n\t * Returns a boolean whether\n\t *\n\t * @returns {boolean}\n\t */\n\thasErrors() {\n\t\treturn this._errors.length !== 0\n\t}\n\n\t/**\n\t * Get a list of all errors that occurred\n\t *\n\t * @returns {*[]}\n\t */\n\tgetErrorList() {\n\t\treturn this._errors.slice()\n\t}\n\n\t/**\n\t * Returns the number of calendar-objects in parser\n\t *\n\t * @returns {number}\n\t */\n\tgetItemCount() {\n\t\treturn 0\n\t}\n\n\t/**\n\t * Gets an option provided\n\t *\n\t * @param {String} name The name of the option to get\n\t * @param {*} defaultValue The default value to return if option not provided\n\t * @returns {any}\n\t * @protected\n\t */\n\t_getOption(name, defaultValue) {\n\t\treturn Object.prototype.hasOwnProperty.call(this._options, name)\n\t\t\t? this._options[name]\n\t\t\t: defaultValue\n\t}\n\n\t/**\n\t * Return list of supported mime types\n\t *\n\t * @static\n\t */\n\tstatic getMimeTypes() {\n\t\tthrow new TypeError('Abstract method not implemented by subclass')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ModificationNotAllowedError extends Error {}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ModificationNotAllowedError from '../errors/modificationNotAllowedError.js'\n\nexport default function lockableTrait(baseClass) {\n\n\t/**\n\t * @class LockableTrait\n\t */\n\treturn class extends baseClass {\n\n\t\t/**\n\t\t * Constructor\n\t\t */\n\t\tconstructor(...args) {\n\t\t\tsuper(...args)\n\n\t\t\t/**\n\t\t\t * Indicator whether this value was locked for changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t * @private\n\t\t\t */\n\t\t\tthis._mutable = true\n\t\t}\n\n\t\t/**\n\t\t * Returns whether or not this object is locked\n\t\t *\n\t\t * @returns {boolean}\n\t\t */\n\t\tisLocked() {\n\t\t\treturn !this._mutable\n\t\t}\n\n\t\t/**\n\t\t * Marks this object is immutable\n\t\t * locks it against further modification\n\t\t */\n\t\tlock() {\n\t\t\tthis._mutable = false\n\t\t}\n\n\t\t/**\n\t\t * Marks this object as mutable\n\t\t * allowing further modification\n\t\t */\n\t\tunlock() {\n\t\t\tthis._mutable = true\n\t\t}\n\n\t\t/**\n\t\t * Check if modifications are allowed\n\t\t *\n\t\t * @throws {ModificationNotAllowedError} if this object is locked for modification\n\t\t * @protected\n\t\t */\n\t\t_modify() {\n\t\t\tif (!this._mutable) {\n\t\t\t\tthrow new ModificationNotAllowedError()\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Check if modification of content is allowed\n\t\t *\n\t\t * @throws {ModificationNotAllowedError} if this object is locked for modification\n\t\t * @protected\n\t\t */\n\t\t_modifyContent() {\n\t\t\tthis._modify()\n\t\t}\n\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class ExpectedICalJSError extends Error {}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Turns the entire string lowercase\n *\n * @param {String} str The string to turn lowercase\n * @returns {string}\n */\nexport function lc(str) {\n\treturn str.toLowerCase()\n}\n\n/**\n * Compares two strings, It is case-insensitive.\n *\n * @param {String} str1 String 1 to compare\n * @param {String} str2 String 2 to compare\n * @returns {Boolean}\n */\nexport function strcasecmp(str1, str2) {\n\treturn uc(str1) === uc(str2)\n}\n\n/**\n * Turns the entire string uppercase\n *\n * @param {String} str The string to turn uppercase\n * @returns {string}\n */\nexport function uc(str) {\n\treturn str.toUpperCase()\n}\n\n/**\n * Capitalizes the string\n *\n * @param {String} str The string of which the first character will be turned uppercase\n * @returns {string}\n */\nexport function ucFirst(str) {\n\treturn str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n/**\n * Makes sure that a string starts with a certain other string\n * This is mostly used in the attendeeProperty to assure the uri starts with mailto:\n *\n * @param {String} str The string to check for the prefix and prepend if necessary\n * @param {String} startWith The prefix to be added if necessary\n * @returns {string}\n */\nexport function startStringWith(str, startWith) {\n\tif (!str.startsWith(startWith)) {\n\t\tstr = startWith + str\n\t}\n\n\treturn str\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @type {Map<String, *>}\n */\nconst GLOBAL_CONFIG = new Map()\n\n/**\n * Sets a new config key\n *\n * @param {String} key The config-key to set\n * @param {*} value The value to set for given config-key\n */\nexport function setConfig(key, value) {\n\tGLOBAL_CONFIG.set(key, value)\n}\n\n/**\n * Checks if a config for a certain key is present\n *\n * @param {String} key The config-key to check\n * @returns {boolean}\n */\nexport function hasConfig(key) {\n\treturn GLOBAL_CONFIG.has(key)\n}\n\n/**\n * gets value of a config key\n *\n * @param {String} key The config-key to get\n * @param {*} defaultValue Default value of config does not exist\n * @returns {*}\n */\nexport function getConfig(key, defaultValue) {\n\treturn GLOBAL_CONFIG.get(key) || defaultValue\n}\n\n/**\n * deletes a config key\n *\n * @param {String} key The config-key to delete\n */\nexport function deleteConfig(key) {\n\tGLOBAL_CONFIG.delete(key)\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { lc } from '../helpers/stringHelper.js'\nimport { getConfig } from '../config.js'\nimport ICAL from 'ical.js'\n\n/**\n * creates a new ICAL.Component object\n *\n * @param {string} componentName The name of the component to create\n * @returns {ICAL.Component}\n */\nexport function createComponent(componentName) {\n\treturn new ICAL.Component(lc(componentName))\n}\n\n/**\n * creates a new ICAL.Property object\n *\n * @param {string} propertyName The name of the property to create\n * @returns {ICAL.Property}\n */\nexport function createProperty(propertyName) {\n\treturn new ICAL.Property(lc(propertyName))\n}\n\n/**\n * creates a new calendar component\n *\n * @param {String=} method Name of the method to include in VCALENDAR component\n * @returns {ICAL.Component}\n */\nexport function createCalendarComponent(method = null) {\n\tconst calendarComp = createComponent('VCALENDAR')\n\n\tcalendarComp.addPropertyWithValue('prodid', getConfig('PRODID', '-//IDN georgehrke.com//calendar-js//EN'))\n\tcalendarComp.addPropertyWithValue('calscale', 'GREGORIAN')\n\tcalendarComp.addPropertyWithValue('version', '2.0')\n\n\tif (method) {\n\t\tcalendarComp.addPropertyWithValue('method', method)\n\t}\n\n\treturn calendarComp\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default function observerTrait(baseClass) {\n\n\t/**\n\t * @class ObserverTrait\n\t */\n\treturn class extends baseClass {\n\n\t\t/**\n\t\t * Constructor\n\t\t */\n\t\tconstructor(...args) {\n\t\t\tsuper(...args)\n\n\t\t\t/**\n\t\t\t * List of subscribers\n\t\t\t *\n\t\t\t * @type {Function[]}\n\t\t\t * @private\n\t\t\t */\n\t\t\tthis._subscribers = []\n\t\t}\n\n\t\t/**\n\t\t * Adds a new subscriber\n\t\t *\n\t\t * @param {Function} handler - Handler to be called when modification happens\n\t\t */\n\t\tsubscribe(handler) {\n\t\t\tthis._subscribers.push(handler)\n\t\t}\n\n\t\t/**\n\t\t * Removes a subscriber\n\t\t *\n\t\t * @param {Function} handler - Handler to be no longer called when modification happens\n\t\t */\n\t\tunsubscribe(handler) {\n\t\t\tconst index = this._subscribers.indexOf(handler)\n\t\t\tif (index === -1) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis._subscribers.splice(index, 1)\n\t\t}\n\n\t\t/**\n\t\t * Notify all subscribed handlers\n\t\t *\n\t\t * @protected\n\t\t */\n\t\t_notifySubscribers(...args) {\n\t\t\tfor (const handler of this._subscribers) {\n\t\t\t\thandler(...args)\n\t\t\t}\n\t\t}\n\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { uc } from '../helpers/stringHelper.js'\nimport lockableTrait from '../traits/lockable.js'\nimport observerTrait from '../traits/observer.js'\n\n/**\n * @class Parameter\n * @classdesc This class represents a property parameters as defined in RFC 5545 Section 3.2\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.2\n * @url\n */\nexport default class Parameter extends observerTrait(lockableTrait(class {})) {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {string} name The name of the parameter\n\t * @param {string|Array|null} value The value of the parameter\n\t */\n\tconstructor(name, value = null) {\n\t\tsuper()\n\n\t\t/**\n\t\t * Name of the parameter\n\t\t *\n\t\t * @type {string}\n\t\t * @private\n\t\t */\n\t\tthis._name = uc(name)\n\n\t\t/**\n\t\t * Value of the parameter\n\t\t *\n\t\t * @type {string|Array|null}\n\t\t * @private\n\t\t */\n\t\tthis._value = value\n\t}\n\n\t/**\n\t * Get parameter name\n\t *\n\t * @readonly\n\t * @returns {String}\n\t */\n\tget name() {\n\t\treturn this._name\n\t}\n\n\t/**\n\t * Get parameter value\n\t *\n\t * @returns {String|Array}\n\t */\n\tget value() {\n\t\treturn this._value\n\t}\n\n\t/**\n\t * Set new parameter value\n\t *\n\t * @throws {ModificationNotAllowedError} if parameter is locked for modification\n\t * @param {String|Array} value The new value to set\n\t */\n\tset value(value) {\n\t\tthis._modifyContent()\n\t\tthis._value = value\n\t}\n\n\t/**\n\t * Gets the first value of this parameter\n\t *\n\t * @returns {String|null}\n\t */\n\tgetFirstValue() {\n\t\tif (!this.isMultiValue()) {\n\t\t\treturn this.value\n\t\t} else {\n\t\t\tif (this.value.length > 0) {\n\t\t\t\treturn this.value[0]\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Gets an iterator for all values\n\t */\n\t* getValueIterator() {\n\t\tif (this.isMultiValue()) {\n\t\t\tyield * this.value.slice()[Symbol.iterator]()\n\t\t} else {\n\t\t\tyield this.value\n\t\t}\n\t}\n\n\t/**\n\t * Returns whether or not the value is a multivalue\n\t *\n\t * @returns {Boolean}\n\t */\n\tisMultiValue() {\n\t\treturn Array.isArray(this._value)\n\t}\n\n\t/**\n\t * Creates a copy of this parameter\n\t *\n\t * @returns {Parameter}\n\t */\n\tclone() {\n\t\tconst parameter = new this.constructor(this._name)\n\t\tif (this.isMultiValue()) {\n\t\t\t// only copy array values, don't copy array reference\n\t\t\tparameter.value = this._value.slice()\n\t\t} else {\n\t\t\tparameter.value = this._value\n\t\t}\n\n\t\t// cloned parameters are always mutable\n\t\treturn parameter\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\t_modifyContent() {\n\t\tsuper._modifyContent()\n\t\tthis._notifySubscribers()\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport lockableTrait from '../traits/lockable.js'\nimport observerTrait from '../traits/observer.js'\n\n/**\n * @class AbstractValue\n * @classdesc BaseClass for all values\n */\nexport default class AbstractValue extends observerTrait(lockableTrait(class {})) {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {ICAL.Binary|ICAL.Duration|ICAL.Period|ICAL.Recur|ICAL.Time|ICAL.UtcOffset} icalValue The ICAL.JS object to wrap\n\t */\n\tconstructor(icalValue) {\n\t\tif (new.target === AbstractValue) {\n\t\t\tthrow new TypeError('Cannot instantiate abstract class AbstractValue')\n\t\t}\n\t\tsuper()\n\n\t\t/**\n\t\t * Wrapped ICAL.js value\n\t\t *\n\t\t * @type {ICAL.Binary|ICAL.Duration|ICAL.Period|ICAL.Recur|ICAL.Time|ICAL.UtcOffset}\n\t\t */\n\t\tthis._innerValue = icalValue\n\t}\n\n\t/**\n\t * Gets wrapped ICAL.JS object\n\t *\n\t * @returns {*}\n\t */\n\ttoICALJs() {\n\t\treturn this._innerValue\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\t_modifyContent() {\n\t\tsuper._modifyContent()\n\t\tthis._notifySubscribers()\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class BinaryValue\n * @classdesc Wrapper for ICAL.Binary\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.1.3\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/binary.js\n */\nexport default class BinaryValue extends AbstractValue {\n\n\t/**\n\t * Sets the raw b64 encoded value\n\t *\n\t * @returns {String}\n\t */\n\tget rawValue() {\n\t\treturn this._innerValue.value\n\t}\n\n\t/**\n\t * Gets the raw b64 encoded value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} value - The new raw value\n\t */\n\tset rawValue(value) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.value = value\n\t}\n\n\t/**\n\t * Gets the decoded value\n\t *\n\t * @returns {String}\n\t */\n\tget value() {\n\t\treturn this._innerValue.decodeValue()\n\t}\n\n\t/**\n\t * Sets the decoded Value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} decodedValue - The new encoded value\n\t */\n\tset value(decodedValue) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.setEncodedValue(decodedValue)\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {BinaryValue}\n\t */\n\tclone() {\n\t\treturn BinaryValue.fromRawValue(this._innerValue.value)\n\t}\n\n\t/**\n\t * Create a new BinaryValue object from an ICAL.Binary object\n\t *\n\t * @param {ICAL.Binary} icalValue - The ICAL.Binary object\n\t * @returns {BinaryValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new BinaryValue(icalValue)\n\t}\n\n\t/**\n\t * Create a new BinaryValue object from a raw b64 encoded value\n\t *\n\t * @param {String} rawValue - The raw value\n\t * @returns {BinaryValue}\n\t */\n\tstatic fromRawValue(rawValue) {\n\t\tconst icalBinary = new ICAL.Binary(rawValue)\n\t\treturn BinaryValue.fromICALJs(icalBinary)\n\t}\n\n\t/**\n\t * Create a new BinaryValue object from decoded value\n\t *\n\t * @param {String} decodedValue - The encoded value\n\t * @returns {BinaryValue}\n\t */\n\tstatic fromDecodedValue(decodedValue) {\n\t\tconst icalBinary = new ICAL.Binary()\n\t\ticalBinary.setEncodedValue(decodedValue)\n\t\treturn BinaryValue.fromICALJs(icalBinary)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class DurationValue\n * @classdesc Wrapper for ICAL.Duration\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.6\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/duration.js\n */\nexport default class DurationValue extends AbstractValue {\n\n\t/**\n\t * Gets the weeks of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget weeks() {\n\t\treturn this._innerValue.weeks\n\t}\n\n\t/**\n\t * Sets the weeks of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} weeks Amount of weeks\n\t */\n\tset weeks(weeks) {\n\t\tthis._modifyContent()\n\t\tif (weeks < 0) {\n\t\t\tthrow new TypeError('Weeks cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.weeks = weeks\n\t}\n\n\t/**\n\t * Gets the days of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget days() {\n\t\treturn this._innerValue.days\n\t}\n\n\t/**\n\t * Sets the days of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} days Amount of days\n\t */\n\tset days(days) {\n\t\tthis._modifyContent()\n\t\tif (days < 0) {\n\t\t\tthrow new TypeError('Days cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.days = days\n\t}\n\n\t/**\n\t * Gets the hours of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget hours() {\n\t\treturn this._innerValue.hours\n\t}\n\n\t/**\n\t * Sets the weeks of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} hours Amount of hours\n\t */\n\tset hours(hours) {\n\t\tthis._modifyContent()\n\t\tif (hours < 0) {\n\t\t\tthrow new TypeError('Hours cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.hours = hours\n\t}\n\n\t/**\n\t * Gets the minutes of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget minutes() {\n\t\treturn this._innerValue.minutes\n\t}\n\n\t/**\n\t * Sets the minutes of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} minutes Amount of minutes\n\t */\n\tset minutes(minutes) {\n\t\tthis._modifyContent()\n\t\tif (minutes < 0) {\n\t\t\tthrow new TypeError('Minutes cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.minutes = minutes\n\t}\n\n\t/**\n\t * Gets the seconds of the stored duration-value\n\t *\n\t * @returns {Number}\n\t */\n\tget seconds() {\n\t\treturn this._innerValue.seconds\n\t}\n\n\t/**\n\t * Sets the seconds of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if value is negative\n\t * @param {Number} seconds Amount of seconds\n\t */\n\tset seconds(seconds) {\n\t\tthis._modifyContent()\n\t\tif (seconds < 0) {\n\t\t\tthrow new TypeError('Seconds cannot be negative, use isNegative instead')\n\t\t}\n\n\t\tthis._innerValue.seconds = seconds\n\t}\n\n\t/**\n\t * Gets the negative-indicator of the stored duration-value\n\t *\n\t * @returns {Boolean}\n\t */\n\tget isNegative() {\n\t\treturn this._innerValue.isNegative\n\t}\n\n\t/**\n\t * Gets the negative-indicator of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Boolean} isNegative Whether or not the duration is negative\n\t */\n\tset isNegative(isNegative) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.isNegative = !!isNegative\n\t}\n\n\t/**\n\t * Gets the amount of total seconds of the stored duration-value\n\t *\n\t * @returns {*|Number}\n\t */\n\tget totalSeconds() {\n\t\treturn this._innerValue.toSeconds()\n\t}\n\n\t/**\n\t * Sets the amount of total seconds of the stored duration-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} totalSeconds The total amounts of seconds to set\n\t */\n\tset totalSeconds(totalSeconds) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.fromSeconds(totalSeconds)\n\t}\n\n\t/**\n\t * Compares this duration to another one\n\t *\n\t * @param {DurationValue} otherDuration The duration to compare to\n\t * @returns {Number} -1, 0 or 1 for less/equal/greater\n\t */\n\tcompare(otherDuration) {\n\t\treturn this._innerValue.compare(otherDuration.toICALJs())\n\t}\n\n\t/**\n\t * Adds the value of another duration to this one\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DurationValue} otherDuration The duration to add\n\t */\n\taddDuration(otherDuration) {\n\t\tthis._modifyContent()\n\t\tthis.totalSeconds += otherDuration.totalSeconds\n\t\tthis._innerValue.normalize()\n\t}\n\n\t/**\n\t * Subtract the value of another duration from this one\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DurationValue} otherDuration The duration to subtract\n\t */\n\tsubtractDuration(otherDuration) {\n\t\tthis._modifyContent()\n\t\tthis.totalSeconds -= otherDuration.totalSeconds\n\t\tthis._innerValue.normalize()\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {DurationValue}\n\t */\n\tclone() {\n\t\treturn DurationValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new DurationValue object from an ICAL.Duration object\n\t *\n\t * @param {ICAL.Duration} icalValue The ical.js duration value\n\t * @returns {DurationValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new DurationValue(icalValue)\n\t}\n\n\t/**\n\t * Create a new DurationValue object from a number of seconds\n\t *\n\t * @param {Number} seconds Total amount of seconds\n\t * @returns {DurationValue}\n\t */\n\tstatic fromSeconds(seconds) {\n\t\tconst icalDuration = ICAL.Duration.fromSeconds(seconds)\n\t\treturn new DurationValue(icalDuration)\n\n\t}\n\n\t/**\n\t * Create a new DurationValue object from data\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {Number=} data.weeks Number of weeks to set\n\t * @param {Number=} data.days Number of days to set\n\t * @param {Number=} data.hours Number of hours to set\n\t * @param {Number=} data.minutes Number of minutes to set\n\t * @param {Number=} data.seconds Number of seconds to set\n\t * @param {Boolean=} data.isNegative Whether or not duration is negative\n\t * @returns {DurationValue}\n\t */\n\tstatic fromData(data) {\n\t\tconst icalDuration = ICAL.Duration.fromData(data)\n\t\treturn new DurationValue(icalDuration)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport DurationValue from './durationValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class DateTimeValue\n * @classdesc Wrapper for ICAL.Time\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.4\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.5\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.12\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/time.js\n */\nexport default class DateTimeValue extends AbstractValue {\n\n\t/**\n\t * Gets the year of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget year() {\n\t\treturn this._innerValue.year\n\t}\n\n\t/**\n\t * Sets the year of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} year Number of years to set\n\t */\n\tset year(year) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.year = year\n\t}\n\n\t/**\n\t * Gets the month of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget month() {\n\t\treturn this._innerValue.month\n\t}\n\n\t/**\n\t * Sets the month of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} month Number of months to set\n\t */\n\tset month(month) {\n\t\tthis._modifyContent()\n\t\tif (month < 1 || month > 12) {\n\t\t\tthrow new TypeError('Month out of range')\n\t\t}\n\n\t\tthis._innerValue.month = month\n\t}\n\n\t/**\n\t * Gets the day of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget day() {\n\t\treturn this._innerValue.day\n\t}\n\n\t/**\n\t * Sets the day of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if out of range\n\t * @param {Number} day Number of days to set\n\t */\n\tset day(day) {\n\t\tthis._modifyContent()\n\t\tif (day < 1 || day > 31) {\n\t\t\tthrow new TypeError('Day out of range')\n\t\t}\n\n\t\tthis._innerValue.day = day\n\t}\n\n\t/**\n\t * Gets the hour of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget hour() {\n\t\treturn this._innerValue.hour\n\t}\n\n\t/**\n\t * Sets the hour of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if out of range\n\t * @param {Number} hour Number of hours to set\n\t */\n\tset hour(hour) {\n\t\tthis._modifyContent()\n\t\tif (hour < 0 || hour > 23) {\n\t\t\tthrow new TypeError('Hour out of range')\n\t\t}\n\n\t\tthis._innerValue.hour = hour\n\t}\n\n\t/**\n\t * Gets the minute of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget minute() {\n\t\treturn this._innerValue.minute\n\t}\n\n\t/**\n\t * Sets the minute of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if out of range\n\t * @param {Number} minute Number of minutes to set\n\t */\n\tset minute(minute) {\n\t\tthis._modifyContent()\n\t\tif (minute < 0 || minute > 59) {\n\t\t\tthrow new TypeError('Minute out of range')\n\t\t}\n\n\t\tthis._innerValue.minute = minute\n\t}\n\n\t/**\n\t * Gets the second of the stored date-time-value\n\t *\n\t * @returns {Number}\n\t */\n\tget second() {\n\t\treturn this._innerValue.second\n\t}\n\n\t/**\n\t * Sets the second of the stored date-time-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if out of range\n\t * @param {Number} second Number of seconds to set\n\t */\n\tset second(second) {\n\t\tthis._modifyContent()\n\t\tif (second < 0 || second > 59) {\n\t\t\tthrow new TypeError('Second out of range')\n\t\t}\n\n\t\tthis._innerValue.second = second\n\t}\n\n\t/**\n\t * Gets the timezone of this date-time-value\n\t *\n\t * @returns {String|null}\n\t */\n\tget timezoneId() {\n\t\t// If zone.tzid is set and it's not 'floating' nor 'UTC', then it's a proper\n\t\t// timezone that we also have a timezone id for\n\t\tif (this._innerValue.zone.tzid && this._innerValue.zone.tzid !== 'floating' && this._innerValue.zone.tzid === 'UTC') {\n\t\t\treturn this._innerValue.zone.tzid\n\t\t}\n\n\t\t// If there is a timezone set, but we didn't have a zone.tzid in the previous if,\n\t\t// this means that the tzid does not have a definition stored along it.\n\t\t// we will keep this information anyway to not lose it\n\t\tif (this._innerValue.timezone) {\n\t\t\treturn this._innerValue.timezone\n\t\t}\n\n\t\t// this is the case when it's floating / UTC\n\t\treturn this._innerValue.zone.tzid || null\n\t}\n\n\t/**\n\t * Gets whether this date-time-value is a date or date-time\n\t *\n\t * @returns {boolean}\n\t */\n\tget isDate() {\n\t\treturn this._innerValue.isDate\n\t}\n\n\t/**\n\t * Sets whether this date-time-value is a date or date-time\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {boolean} isDate Whether this is a date or date-time value\n\t */\n\tset isDate(isDate) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.isDate = !!isDate\n\n\t\tif (isDate) {\n\t\t\tthis._innerValue.hour = 0\n\t\t\tthis._innerValue.minute = 0\n\t\t\tthis._innerValue.second = 0\n\t\t}\n\t}\n\n\t/**\n\t * Gets the unix-time\n\t *\n\t * @returns {Number}\n\t */\n\tget unixTime() {\n\t\treturn this._innerValue.toUnixTime()\n\t}\n\n\t/**\n\t * returns vanilla javascript date object\n\t *\n\t * @returns {Date}\n\t */\n\tget jsDate() {\n\t\treturn this._innerValue.toJSDate()\n\t}\n\n\t/**\n\t * Adds a duration to this date-time-value\n\t *\n\t * @param {DurationValue} duration The duration to ad\n\t */\n\taddDuration(duration) {\n\t\tthis._innerValue.addDuration(duration.toICALJs())\n\t}\n\n\t/**\n\t * Subtract another date excluding timezones\n\t *\n\t * @param {DateTimeValue} other The date-time value to subtract\n\t * @returns {DurationValue}\n\t */\n\tsubtractDateWithoutTimezone(other) {\n\t\tconst icalDuration = this._innerValue.subtractDate(other.toICALJs())\n\t\treturn DurationValue.fromICALJs(icalDuration)\n\t}\n\n\t/**\n\t * Subtract another date, taking timezones into account\n\t *\n\t * @param {DateTimeValue} other The date-time value to subtract\n\t * @returns {DurationValue}\n\t */\n\tsubtractDateWithTimezone(other) {\n\t\tconst icalDuration = this._innerValue.subtractDateTz(other.toICALJs())\n\t\treturn DurationValue.fromICALJs(icalDuration)\n\t}\n\n\t/**\n\t * Compares this DateTimeValue object with another one\n\t *\n\t * @param {DateTimeValue} other The date-time to compare to\n\t * @returns {Number} -1, 0 or 1 for less/equal/greater\n\t */\n\tcompare(other) {\n\t\treturn this._innerValue.compare(other.toICALJs())\n\t}\n\n\t/**\n\t * Compares only the date part in a given timezone\n\t *\n\t * @param {DateTimeValue} other The date-time to compare to\n\t * @param {Timezone} timezone The timezone to compare in\n\t * @returns {Number} -1, 0 or 1 for less/equal/greater\n\t */\n\tcompareDateOnlyInGivenTimezone(other, timezone) {\n\t\treturn this._innerValue.compareDateOnlyTz(other.toICALJs(), timezone.toICALTimezone())\n\t}\n\n\t/**\n\t * Returns a clone of this object which was converted to a different timezone\n\t *\n\t * @param {Timezone} timezone TimezoneId to convert to\n\t * @returns {DateTimeValue}\n\t */\n\tgetInTimezone(timezone) {\n\t\tconst clonedICALTime = this._innerValue.convertToZone(timezone.toICALTimezone())\n\t\treturn DateTimeValue.fromICALJs(clonedICALTime)\n\t}\n\n\t/**\n\t * Get the inner ICAL.Timezone\n\t *\n\t * @returns {ICAL.Timezone}\n\t * @package\n\t */\n\tgetICALTimezone() {\n\t\treturn this._innerValue.zone\n\t}\n\n\t/**\n\t * Returns a clone of this object which was converted to a different timezone\n\t *\n\t * @param {ICAL.Timezone} timezone TimezoneId to convert to\n\t * @returns {DateTimeValue}\n\t * @package\n\t */\n\tgetInICALTimezone(timezone) {\n\t\tconst clonedICALTime = this._innerValue.convertToZone(timezone)\n\t\treturn DateTimeValue.fromICALJs(clonedICALTime)\n\t}\n\n\t/**\n\t * Returns a clone of this object which was converted to UTC\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tgetInUTC() {\n\t\tconst clonedICALTime = this._innerValue.convertToZone(ICAL.Timezone.utcTimezone)\n\t\treturn DateTimeValue.fromICALJs(clonedICALTime)\n\t}\n\n\t/**\n\t * This silently replaces the inner timezone without converting the actual time\n\t *\n\t * @param {ICAL.Timezone} timezone The timezone to replace with\n\t * @package\n\t */\n\tsilentlyReplaceTimezone(timezone) {\n\t\tthis._modify()\n\t\tthis._innerValue = new ICAL.Time({\n\t\t\tyear: this.year,\n\t\t\tmonth: this.month,\n\t\t\tday: this.day,\n\t\t\thour: this.hour,\n\t\t\tminute: this.minute,\n\t\t\tsecond: this.second,\n\t\t\tisDate: this.isDate,\n\t\t\ttimezone,\n\t\t})\n\t}\n\n\t/**\n\t * Replaces the inner timezone without converting the actual time\n\t *\n\t * @param {Timezone} timezone The timezone to replace with\n\t */\n\treplaceTimezone(timezone) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue = ICAL.Time.fromData({\n\t\t\tyear: this.year,\n\t\t\tmonth: this.month,\n\t\t\tday: this.day,\n\t\t\thour: this.hour,\n\t\t\tminute: this.minute,\n\t\t\tsecond: this.second,\n\t\t\tisDate: this.isDate,\n\t\t}, timezone.toICALTimezone())\n\t}\n\n\t/**\n\t * Calculates the UTC offset of the date-time-value in its timezone\n\t *\n\t * @returns {Number}\n\t */\n\tutcOffset() {\n\t\treturn this._innerValue.utcOffset()\n\t}\n\n\t/**\n\t * Check if this is an event with floating time\n\t *\n\t * @returns {boolean}\n\t */\n\tisFloatingTime() {\n\t\treturn this._innerValue.zone.tzid === 'floating'\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tclone() {\n\t\treturn DateTimeValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new DateTimeValue object from an ICAL.Time object\n\t *\n\t * @param {ICAL.Time} icalValue The ical.js Date value to initialise from\n\t * @returns {DateTimeValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new DateTimeValue(icalValue)\n\t}\n\n\t/**\n\t * Creates a new DateTimeValue object based on a vanilla javascript object\n\t *\n\t * @param {Date} jsDate The JavaScript date to initialise from\n\t * @param {Boolean=} useUTC Whether or not to treat it as UTC\n\t * @returns {DateTimeValue}\n\t */\n\tstatic fromJSDate(jsDate, useUTC = false) {\n\t\tconst icalValue = ICAL.Time.fromJSDate(jsDate, useUTC)\n\t\treturn DateTimeValue.fromICALJs(icalValue)\n\t}\n\n\t/**\n\t * Creates a new DateTimeValue object based on simple parameters\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {Number=} data.year Amount of years to set\n\t * @param {Number=} data.month Amount of month to set (1-based)\n\t * @param {Number=} data.day Amount of days to set\n\t * @param {Number=} data.hour Amount of hours to set\n\t * @param {Number=} data.minute Amount of minutes to set\n\t * @param {Number=} data.second Amount of seconds to set\n\t * @param {Boolean=} data.isDate Whether this is a date or date-time\n\t * @param {Timezone=} timezone The timezone of the DateTimeValue\n\t * @returns {DateTimeValue}\n\t */\n\tstatic fromData(data, timezone) {\n\t\tconst icalValue = ICAL.Time.fromData(data, timezone\n\t\t\t? timezone.toICALTimezone()\n\t\t\t: undefined)\n\t\treturn DateTimeValue.fromICALJs(icalValue)\n\t}\n\n}\n\nDateTimeValue.SUNDAY = ICAL.Time.SUNDAY\nDateTimeValue.MONDAY = ICAL.Time.MONDAY\nDateTimeValue.TUESDAY = ICAL.Time.TUESDAY\nDateTimeValue.WEDNESDAY = ICAL.Time.WEDNESDAY\nDateTimeValue.THURSDAY = ICAL.Time.THURSDAY\nDateTimeValue.FRIDAY = ICAL.Time.FRIDAY\nDateTimeValue.SATURDAY = ICAL.Time.SATURDAY\n\nDateTimeValue.DEFAULT_WEEK_START = DateTimeValue.MONDAY\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport DateTimeValue from './dateTimeValue.js'\nimport DurationValue from './durationValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class PeriodValue\n * @classdesc Wrapper for ICAL.Period\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.9\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/period.js\n */\nexport default class PeriodValue extends AbstractValue {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(...args) {\n\t\tsuper(...args)\n\n\t\t/**\n\t\t * DateTimeValue object for start\n\t\t *\n\t\t * @type {DateTimeValue}\n\t\t * @private\n\t\t */\n\t\tthis._start = DateTimeValue.fromICALJs(this._innerValue.start)\n\n\t\t/**\n\t\t * DateTimeValue object for end\n\t\t *\n\t\t * @type {DateTimeValue|null}\n\t\t * @private\n\t\t */\n\t\tthis._end = null\n\n\t\t/**\n\t\t * DurationValue object for duration\n\t\t *\n\t\t * @type {DurationValue|null}\n\t\t * @private\n\t\t */\n\t\tthis._duration = null\n\t}\n\n\t/**\n\t * Gets the start of the period-value\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget start() {\n\t\treturn this._start\n\t}\n\n\t/**\n\t * Sets the start of the period-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DateTimeValue} start The start of the period\n\t */\n\tset start(start) {\n\t\tthis._modifyContent()\n\t\tthis._start = start\n\t\tthis._innerValue.start = start.toICALJs()\n\t}\n\n\t/**\n\t * Gets the end of the period-value\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget end() {\n\t\tif (!this._end) {\n\t\t\tif (this._duration) {\n\t\t\t\tthis._duration.lock()\n\t\t\t\tthis._duration = null\n\t\t\t}\n\n\t\t\tthis._innerValue.end = this._innerValue.getEnd()\n\t\t\tthis._end = DateTimeValue.fromICALJs(this._innerValue.end)\n\t\t\tthis._innerValue.duration = null\n\n\t\t\tif (this.isLocked()) {\n\t\t\t\tthis._end.lock()\n\t\t\t}\n\t\t}\n\n\t\treturn this._end\n\t}\n\n\t/**\n\t * Sets the end of the period-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DateTimeValue} end The end of the period\n\t */\n\tset end(end) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.duration = null\n\t\tthis._innerValue.end = end.toICALJs()\n\t\tthis._end = end\n\t}\n\n\t/**\n\t * Gets the duration of the period-value\n\t * The value is automatically locked.\n\t * If you want to edit the value, clone it and it as new duration\n\t *\n\t * @returns {DurationValue}\n\t */\n\tget duration() {\n\t\tif (!this._duration) {\n\t\t\tif (this._end) {\n\t\t\t\tthis._end.lock()\n\t\t\t\tthis._end = null\n\t\t\t}\n\n\t\t\tthis._innerValue.duration = this._innerValue.getDuration()\n\t\t\tthis._duration = DurationValue.fromICALJs(this._innerValue.duration)\n\t\t\tthis._innerValue.end = null\n\n\t\t\tif (this.isLocked()) {\n\t\t\t\tthis._duration.lock()\n\t\t\t}\n\t\t}\n\n\t\treturn this._duration\n\t}\n\n\t/**\n\t * Sets the duration of the period-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DurationValue} duration The duration to set\n\t */\n\tset duration(duration) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.end = null\n\t\tthis._innerValue.duration = duration.toICALJs()\n\t\tthis._duration = duration\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tlock() {\n\t\tsuper.lock()\n\t\tthis.start.lock()\n\n\t\tif (this._end) {\n\t\t\tthis._end.lock()\n\t\t}\n\t\tif (this._duration) {\n\t\t\tthis._duration.lock()\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tunlock() {\n\t\tsuper.unlock()\n\t\tthis.start.unlock()\n\n\t\tif (this._end) {\n\t\t\tthis._end.unlock()\n\t\t}\n\t\tif (this._duration) {\n\t\t\tthis._duration.unlock()\n\t\t}\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {PeriodValue}\n\t */\n\tclone() {\n\t\treturn PeriodValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new PeriodValue object from a ICAL.Period object\n\t *\n\t * @param {ICAL.Period} icalValue The ical.js period value to initialise from\n\t * @returns {PeriodValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new PeriodValue(icalValue)\n\t}\n\n\t/**\n\t * Create a new PeriodValue object from start and end\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {DateTimeValue} data.start The start of the period\n\t * @param {DateTimeValue} data.end The end of the period\n\t * @returns {PeriodValue}\n\t */\n\tstatic fromDataWithEnd(data) {\n\t\tconst icalPeriod = ICAL.Period.fromData({\n\t\t\tstart: data.start.toICALJs(),\n\t\t\tend: data.end.toICALJs(),\n\t\t})\n\t\treturn PeriodValue.fromICALJs(icalPeriod)\n\t}\n\n\t/**\n\t * Create a new PeriodValue object from start and duration\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {DateTimeValue} data.start The start of the period\n\t * @param {DurationValue} data.duration The duration of the period\n\t * @returns {PeriodValue}\n\t */\n\tstatic fromDataWithDuration(data) {\n\t\tconst icalPeriod = ICAL.Period.fromData({\n\t\t\tstart: data.start.toICALJs(),\n\t\t\tduration: data.duration.toICALJs(),\n\t\t})\n\t\treturn PeriodValue.fromICALJs(icalPeriod)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport DateTimeValue from './dateTimeValue.js'\nimport { uc } from '../helpers/stringHelper.js'\nimport ICAL from 'ical.js'\n\nconst ALLOWED_FREQ = ['SECONDLY', 'MINUTELY', 'HOURLY', 'DAILY', 'WEEKLY', 'MONTHLY', 'YEARLY']\n\n/**\n * @class RecurValue\n * @classdesc Wrapper for ICAL.Recur\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.10\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/recur.js\n */\nexport default class RecurValue extends AbstractValue {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {ICAL.Recur} icalValue The ical.js rrule value\n\t * @param {DateTimeValue?} until The Until date\n\t */\n\tconstructor(icalValue, until) {\n\t\tsuper(icalValue)\n\n\t\t/**\n\t\t * DateTimeValue object for Until\n\t\t *\n\t\t * @type {DateTimeValue}\n\t\t * @private\n\t\t */\n\t\tthis._until = until\n\t}\n\n\t/**\n\t * Gets the stored interval of this recurrence rule\n\t *\n\t * @returns {Number}\n\t */\n\tget interval() {\n\t\treturn this._innerValue.interval\n\t}\n\n\t/**\n\t * Sets the stored interval of this recurrence rule\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} interval New Interval to set\n\t */\n\tset interval(interval) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.interval = parseInt(interval, 10)\n\t}\n\n\t/**\n\t * Gets the weekstart used to calculate the recurrence expansion\n\t *\n\t * @returns {Number}\n\t */\n\tget weekStart() {\n\t\treturn this._innerValue.wkst\n\t}\n\n\t/**\n\t * Sets the weekstart used to calculate the recurrence expansion\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if weekstart out of range\n\t * @param {Number} weekStart New start of week to set\n\t */\n\tset weekStart(weekStart) {\n\t\tthis._modifyContent()\n\t\tif (weekStart < DateTimeValue.SUNDAY || weekStart > DateTimeValue.SATURDAY) {\n\t\t\tthrow new TypeError('Weekstart out of range')\n\t\t}\n\n\t\tthis._innerValue.wkst = weekStart\n\t}\n\n\t/**\n\t * Gets the until value if set\n\t * The value is automatically locked.\n\t * If you want to edit the value, clone it and it as new until\n\t *\n\t * @returns {null|DateTimeValue}\n\t */\n\tget until() {\n\t\tif (!this._until && this._innerValue.until) {\n\t\t\tthis._until = DateTimeValue.fromICALJs(this._innerValue.until)\n\t\t}\n\n\t\treturn this._until\n\t}\n\n\t/**\n\t * Sets the until value, automatically removes count\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {DateTimeValue} until New until date to set\n\t */\n\tset until(until) {\n\t\tthis._modifyContent()\n\n\t\tif (this._until) {\n\t\t\tthis._until.lock()\n\t\t}\n\n\t\tthis._until = until\n\t\tthis._innerValue.count = null\n\t\tthis._innerValue.until = until.toICALJs()\n\t}\n\n\t/**\n\t * Gets the count value if set\n\t *\n\t * @returns {null|Number}\n\t */\n\tget count() {\n\t\treturn this._innerValue.count\n\t}\n\n\t/**\n\t * Sets the count value, automatically removes until\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} count New occurrence limit to set\n\t */\n\tset count(count) {\n\t\tthis._modifyContent()\n\n\t\tif (this._until) {\n\t\t\tthis._until.lock()\n\t\t\tthis._until = null\n\t\t}\n\n\t\tthis._innerValue.until = null\n\t\tthis._innerValue.count = parseInt(count, 10)\n\t}\n\n\t/**\n\t * Gets the frequency of the recurrence rule\n\t *\n\t * @returns {String} see\n\t */\n\tget frequency() {\n\t\treturn this._innerValue.freq\n\t}\n\n\t/**\n\t * Sets the frequency of the recurrence rule\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if frequency is unknown\n\t * @param {String} freq New frequency to set\n\t */\n\tset frequency(freq) {\n\t\tthis._modifyContent()\n\t\tif (!ALLOWED_FREQ.includes(freq)) {\n\t\t\tthrow new TypeError('Unknown frequency')\n\t\t}\n\n\t\tthis._innerValue.freq = freq\n\t}\n\n\t/**\n\t * Modifies this recurrence-value to unset count and until\n\t */\n\tsetToInfinite() {\n\t\tthis._modifyContent()\n\n\t\tif (this._until) {\n\t\t\tthis._until.lock()\n\t\t\tthis._until = null\n\t\t}\n\n\t\tthis._innerValue.until = null\n\t\tthis._innerValue.count = null\n\t}\n\n\t/**\n\t * Checks whether the stored rule is finite\n\t *\n\t * @returns {Boolean}\n\t */\n\tisFinite() {\n\t\treturn this._innerValue.isFinite()\n\t}\n\n\t/**\n\t * Checks whether the recurrence rule is limited by count\n\t *\n\t * @returns {Boolean}\n\t */\n\tisByCount() {\n\t\treturn this._innerValue.isByCount()\n\t}\n\n\t/**\n\t * Adds a part to a component to the recurrence-rule\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} componentName The name of the recurrence-component to add\n\t * @param {String|Number} value The value to add\n\t */\n\taddComponent(componentName, value) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.addComponent(componentName, value)\n\t}\n\n\t/**\n\t * Sets / overwrites a component to the recurrence-rule\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} componentName The name of the component to set\n\t * @param {Number[]|String[]} value The value to set\n\t */\n\tsetComponent(componentName, value) {\n\t\tthis._modifyContent()\n\n\t\tif (value.length === 0) {\n\t\t\tdelete this._innerValue.parts[componentName.toUpperCase()]\n\t\t} else {\n\t\t\tthis._innerValue.setComponent(componentName, value)\n\t\t}\n\t}\n\n\t/**\n\t * Removes all parts of a component\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {String} componentName The name of the component to remove\n\t */\n\tremoveComponent(componentName) {\n\t\tdelete this._innerValue.parts[uc(componentName)]\n\t}\n\n\t/**\n\t * Gets all parts of a component\n\t *\n\t * @param {String} componentName The name of the component to get\n\t * @returns {Array}\n\t */\n\tgetComponent(componentName) {\n\t\treturn this._innerValue.getComponent(componentName)\n\t}\n\n\t/**\n\t * Checks if this recurrence rule is valid according to RFC 5545\n\t *\n\t * @returns {boolean}\n\t */\n\tisRuleValid() {\n\t\treturn true\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tlock() {\n\t\tsuper.lock()\n\n\t\tif (this._until) {\n\t\t\tthis._until.lock()\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tunlock() {\n\t\tsuper.unlock()\n\n\t\tif (this._until) {\n\t\t\tthis._until.unlock()\n\t\t}\n\t}\n\n\t/**\n\t * clones this value\n\t *\n\t * @returns {RecurValue}\n\t */\n\tclone() {\n\t\treturn RecurValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new RecurValue object from a ICAL.Recur object\n\t *\n\t * @param {ICAL.Recur} icalValue The ICAL.JS Recur value\n\t * @param {DateTimeValue?} until The Until date\n\t * @returns {RecurValue}\n\t */\n\tstatic fromICALJs(icalValue, until = null) {\n\t\treturn new RecurValue(icalValue, until)\n\t}\n\n\t/**\n\t * Create a new RecurValue object from a data object\n\t *\n\t * @param {Object} data The destructuring object\n\t * @param {String=} data.freq FREQ part of RRULE\n\t * @param {Number=} data.interval INTERVAL part of RRULE\n\t * @param {Number=} data.wkst WEEKSTART part of RRULE\n\t * @param {DateTimeValue=} data.until UNTIL part of RRULE\n\t * @param {Number=} data.count COUNT part of RRULE\n\t * @param {Number[]=} data.bysecond BYSECOND part of RRULE\n\t * @param {Number[]=} data.byminute BYMINUTE part of RRULE\n\t * @param {Number[]=} data.byhour BYHOUR part of RRULE\n\t * @param {String[]=} data.byday BYDAY part of RRULE\n\t * @param {Number[]=} data.bymonthday BYMONTHDAY part of RRULE\n\t * @param {Number[]=} data.byyearday BYYEARDAY part of RRULE\n\t * @param {Number[]=} data.byweekno BYWEEKNO part of RRULE\n\t * @param {Number[]=} data.bymonth BYMONTH part of RRULE\n\t * @param {Number[]=} data.bysetpos BYSETPOS part of RRULE\n\t * @returns {RecurValue}\n\t */\n\tstatic fromData(data) {\n\t\tlet until = null\n\n\t\tif (data.until) {\n\t\t\tuntil = data.until\n\t\t\tdata.until = data.until.toICALJs()\n\t\t}\n\n\t\tconst icalRecur = ICAL.Recur.fromData(data)\n\t\treturn RecurValue.fromICALJs(icalRecur, until)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractValue from './abstractValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class UTCOffsetValue\n * @classdesc Wrapper for ICAL.UtcOffset\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.3.14\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/utc_offset.js\n */\nexport default class UTCOffsetValue extends AbstractValue {\n\n\t/**\n\t * Gets the hour part of the offset-value\n\t *\n\t * @returns {Number}\n\t */\n\tget hours() {\n\t\treturn this._innerValue.hours\n\t}\n\n\t/**\n\t * Sets the hour part of the offset-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n \t * @param {Number} hours - New hours to set\n\t */\n\tset hours(hours) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.hours = hours\n\t}\n\n\t/**\n\t * Gets the minute part of the offset-value\n\t *\n\t * @returns {Number}\n\t */\n\tget minutes() {\n\t\treturn this._innerValue.minutes\n\t}\n\n\t/**\n\t * Sets the minute part of the offset-value\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} minutes - New minutes to set\n\t */\n\tset minutes(minutes) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.minutes = minutes\n\t}\n\n\t/**\n\t * Gets the factor\n\t *\n\t * @returns {Number}\n\t */\n\tget factor() {\n\t\treturn this._innerValue.factor\n\t}\n\n\t/**\n\t * Sets the factor\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @throws {TypeError} if factor is neither 1 nor -1\n\t * @param {Number} factor - New factor to set, 1 for positive, -1 for negative\n\t */\n\tset factor(factor) {\n\t\tthis._modifyContent()\n\t\tif (factor !== 1 && factor !== -1) {\n\t\t\tthrow new TypeError('Factor may only be set to 1 or -1')\n\t\t}\n\n\t\tthis._innerValue.factor = factor\n\t}\n\n\t/**\n\t * Gets the total amount of seconds\n\t *\n\t * @returns {Number}\n\t */\n\tget totalSeconds() {\n\t\treturn this._innerValue.toSeconds()\n\t}\n\n\t/**\n\t * Sets the total amount of seconds\n\t *\n\t * @throws {ModificationNotAllowedError} if value is locked for modification\n\t * @param {Number} totalSeconds - New number of total seconds to set\n\t */\n\tset totalSeconds(totalSeconds) {\n\t\tthis._modifyContent()\n\t\tthis._innerValue.fromSeconds(totalSeconds)\n\t}\n\n\t/**\n\t * Compares this UTCOffset to another one\n\t *\n\t * @param {UTCOffsetValue} other - The other UTCOffsetValue to compare with\n\t * @returns {Number} -1, 0 or 1 for less/equal/greater\n\t */\n\tcompare(other) {\n\t\treturn this._innerValue.compare(other.toICALJs())\n\t}\n\n\t/**\n\t * Clones this value\n\t *\n\t * @returns {UTCOffsetValue}\n\t */\n\tclone() {\n\t\treturn UTCOffsetValue.fromICALJs(this._innerValue.clone())\n\t}\n\n\t/**\n\t * Create a new UTCOffsetValue object from a ICAL.UTCOffset object\n\t *\n\t * @param {ICAL.UtcOffset} icalValue - The ICAL.UtcOffset object to initialize this object from\n\t * @returns {UTCOffsetValue}\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\treturn new UTCOffsetValue(icalValue)\n\t}\n\n\t/**\n\t * Create a new UTCOffsetValue object from a data object\n\t *\n\t * @param {Object} data - Object with data to create UTCOffsetValue object from\n\t * @param {Number=} data.hours - The number of hours to set\n\t * @param {Number=} data.minutes - The number of minutes to set\n\t * @param {Number=} data.factor - The factor to use, 1 for positive, -1 for negative\n\t * @returns {UTCOffsetValue}\n\t */\n\tstatic fromData(data) {\n\t\tconst icalUTCOffset = new ICAL.UtcOffset()\n\t\ticalUTCOffset.fromData(data)\n\t\treturn UTCOffsetValue.fromICALJs(icalUTCOffset)\n\t}\n\n\t/**\n\t * Create a new UTCOffsetValue object from an amount of seconds\n\t *w\n\t * @param {Number} seconds - The total number of seconds to create the UTCOffsetValue object from\n\t * @returns {UTCOffsetValue}\n\t */\n\tstatic fromSeconds(seconds) {\n\t\tconst icalUTCOffset = ICAL.UtcOffset.fromSeconds(seconds)\n\t\treturn UTCOffsetValue.fromICALJs(icalUTCOffset)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class UnknownICALTypeError extends Error {}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ExpectedICalJSError from '../errors/expectedICalJSError.js'\nimport Parameter from '../parameters/parameter.js'\nimport { createProperty } from '../factories/icalFactory.js'\nimport { lc, uc } from '../helpers/stringHelper.js'\nimport { getConstructorForICALType } from '../values'\nimport AbstractValue from '../values/abstractValue.js'\nimport DateTimeValue from '../values/dateTimeValue.js'\nimport lockableTrait from '../traits/lockable.js'\nimport observerTrait from '../traits/observer.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class Property\n * @classdesc This class represents a property as defined in RFC 5545 Section 3.5\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.5\n * @url https://github.com/mozilla-comm/ical.js/blob/master/lib/ical/property.js\n */\nexport default class Property extends observerTrait(lockableTrait(class {})) {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {String} name The name of the property\n\t * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value of the property\n\t * @param {Parameter[]|[String][]} parameters Array of parameters\n\t * @param {CalendarComponent|null} root The root of the calendar-document\n\t * @param {AbstractComponent|null} parent The parent-element of this property\n\t */\n\tconstructor(name, value = null, parameters = [], root = null, parent = null) {\n\t\tsuper()\n\n\t\t/**\n\t\t * Name of the property\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._name = uc(name)\n\n\t\t/**\n\t\t * Value of the property\n\t\t *\n\t\t * @type {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n\t\t * @protected\n\t\t */\n\t\tthis._value = value\n\n\t\t/**\n\t\t * List of parameters associated with this parameter\n\t\t *\n\t\t * @type {Map<String, Parameter>}\n\t\t */\n\t\tthis._parameters = new Map()\n\n\t\t/**\n\t\t * Root node of ical document\n\t\t *\n\t\t * @type {CalendarComponent|null}\n\t\t * @protected\n\t\t */\n\t\tthis._root = root\n\n\t\t/**\n\t\t * Parent node\n\t\t *\n\t\t * @type {AbstractComponent|null}\n\t\t * @protected\n\t\t */\n\t\tthis._parent = parent\n\n\t\tthis._setParametersFromConstructor(parameters)\n\t\tif (value instanceof AbstractValue) {\n\t\t\tvalue.subscribe(() => this._notifySubscribers())\n\t\t}\n\t}\n\n\t/**\n\t * Get property name\n\t *\n\t * @readonly\n\t * @returns {String}\n\t */\n\tget name() {\n\t\treturn this._name\n\t}\n\n\t/**\n\t * Get parameter value\n\t *\n\t * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n\t */\n\tget value() {\n\t\treturn this._value\n\t}\n\n\t/**\n\t * Set new parameter value\n\t *\n\t * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value of the property\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tset value(value) {\n\t\tthis._modifyContent()\n\t\tthis._value = value\n\n\t\tif (value instanceof AbstractValue) {\n\t\t\tvalue.subscribe(() => this._notifySubscribers())\n\t\t}\n\t}\n\n\t/**\n\t * Gets the root of this property\n\t *\n\t * @returns {CalendarComponent|null}\n\t */\n\tget root() {\n\t\treturn this._root\n\t}\n\n\t/**\n\t * Sets the root of this property\n\t *\n\t * @param {CalendarComponent|null} root The root of the calendar-document\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tset root(root) {\n\t\tthis._modify()\n\t\tthis._root = root\n\t}\n\n\t/**\n\t * Gets the direct parent element of this property\n\t *\n\t * @returns {AbstractComponent}\n\t */\n\tget parent() {\n\t\treturn this._parent\n\t}\n\n\t/**\n\t * Sets the direct parent element of this property\n\t *\n\t * @param {AbstractComponent|null} parent The parent element of this property\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tset parent(parent) {\n\t\tthis._modify()\n\t\tthis._parent = parent\n\t}\n\n\t/**\n\t * Gets the first value of this property\n\t *\n\t * @returns {null|String|Number|AbstractValue}\n\t */\n\tgetFirstValue() {\n\t\tif (!this.isMultiValue()) {\n\t\t\treturn this.value\n\t\t} else {\n\t\t\tif (this.value.length > 0) {\n\t\t\t\treturn this.value[0]\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Gets an iterator over all values\n\t */\n\t* getValueIterator() {\n\t\tif (this.isMultiValue()) {\n\t\t\tyield * this.value.slice()[Symbol.iterator]()\n\t\t} else {\n\t\t\tyield this.value\n\t\t}\n\t}\n\n\t/**\n\t * Adds a value to the multi-value property\n\t *\n\t * @param {String|AbstractValue} value Value to add\n\t */\n\taddValue(value) {\n\t\tif (!this.isMultiValue()) {\n\t\t\tthrow new TypeError('This is not a multivalue property')\n\t\t}\n\n\t\tthis._modifyContent()\n\t\tthis.value.push(value)\n\t}\n\n\t/**\n\t * Checks if a value is inside this multi-value property\n\t *\n\t * @param {String|AbstractValue} value Value to check for\n\t * @returns {Boolean}\n\t */\n\thasValue(value) {\n\t\tif (!this.isMultiValue()) {\n\t\t\tthrow new TypeError('This is not a multivalue property')\n\t\t}\n\n\t\treturn this.value.includes(value)\n\t}\n\n\t/**\n\t * Removes a value from this multi-value property\n\t *\n\t * @param {String|AbstractValue} value Value to remove\n\t */\n\tremoveValue(value) {\n\t\tif (!this.hasValue(value)) {\n\t\t\treturn\n\t\t}\n\n\t\tthis._modifyContent()\n\t\tconst index = this.value.indexOf(value)\n\t\tthis.value.splice(index, 1)\n\t}\n\n\t/**\n\t * Sets a parameter on this property\n\t *\n\t * @param {Parameter} parameter The parameter to set\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tsetParameter(parameter) {\n\t\tthis._modify()\n\t\tthis._parameters.set(parameter.name, parameter)\n\t\tparameter.subscribe(() => this._notifySubscribers())\n\t}\n\n\t/**\n\t * Gets a parameter on this property by its name\n\t *\n\t * @param {String} parameterName Name of the parameter to get\n\t * @returns {Parameter}\n\t */\n\tgetParameter(parameterName) {\n\t\treturn this._parameters.get(uc(parameterName))\n\t}\n\n\t/**\n\t * Gets an iterator over all available parameters\n\t */\n\t* getParametersIterator() {\n\t\tyield * this._parameters.values()\n\t}\n\n\t/**\n\t * Get first value of a parameter\n\t *\n\t * @param {String} parameterName Name of the parameter\n\t * @returns {null|String}\n\t */\n\tgetParameterFirstValue(parameterName) {\n\t\tconst parameter = this.getParameter(parameterName)\n\t\tif (parameter instanceof Parameter) {\n\t\t\tif (parameter.isMultiValue()) {\n\t\t\t\treturn parameter.value[0]\n\t\t\t} else {\n\t\t\t\treturn parameter.value\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Returns whether a parameter exists on this property\n\t *\n\t * @param {String} parameterName Name of the parameter\n\t * @returns {boolean}\n\t */\n\thasParameter(parameterName) {\n\t\treturn this._parameters.has(uc(parameterName))\n\t}\n\n\t/**\n\t * Deletes a parameter on this property\n\t *\n\t * @param {String} parameterName Name of the parameter\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tdeleteParameter(parameterName) {\n\t\tthis._modify()\n\t\tthis._parameters.delete(uc(parameterName))\n\t}\n\n\t/**\n\t * update a parameter if it exists,\n\t * create a new one if it doesn't\n\t *\n\t * @param {String} parameterName Name of the parameter\n\t * @param {string|Array|null} value Value to set\n\t * @throws {ModificationNotAllowedError} if property is locked for modification\n\t */\n\tupdateParameterIfExist(parameterName, value) {\n\t\tthis._modify()\n\t\tif (this.hasParameter(parameterName)) {\n\t\t\tconst parameter = this.getParameter(parameterName)\n\t\t\tparameter.value = value\n\t\t} else {\n\t\t\tconst parameter = new Parameter(uc(parameterName), value)\n\t\t\tthis.setParameter(parameter)\n\t\t}\n\t}\n\n\t/**\n\t * Returns whether or not the value is a multivalue\n\t *\n\t * @returns {Boolean}\n\t */\n\tisMultiValue() {\n\t\treturn Array.isArray(this._value)\n\t}\n\n\t/**\n\t * Returns whether or not this valus is decorated\n\t *\n\t * @returns {boolean}\n\t */\n\tisDecoratedValue() {\n\t\tif (this.isMultiValue()) {\n\t\t\treturn this._value[0] instanceof AbstractValue\n\t\t} else {\n\t\t\treturn this._value instanceof AbstractValue\n\t\t}\n\t}\n\n\t/**\n\t * Marks this parameter is immutable\n\t * locks it against further modification\n\t */\n\tlock() {\n\t\tsuper.lock()\n\n\t\tfor (const parameter of this.getParametersIterator()) {\n\t\t\tparameter.lock()\n\t\t}\n\n\t\tif (this.isDecoratedValue()) {\n\t\t\tfor (const value of this.getValueIterator()) {\n\t\t\t\tvalue.lock()\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Marks this parameter as mutable\n\t * allowing further modification\n\t */\n\tunlock() {\n\t\tsuper.unlock()\n\n\t\tfor (const parameter of this.getParametersIterator()) {\n\t\t\tparameter.unlock()\n\t\t}\n\n\t\tif (this.isDecoratedValue()) {\n\t\t\tfor (const value of this.getValueIterator()) {\n\t\t\t\tvalue.unlock()\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Creates a copy of this parameter\n\t *\n\t * @returns {Property}\n\t */\n\tclone() {\n\t\tconst parameters = []\n\t\tfor (const parameter of this.getParametersIterator()) {\n\t\t\tparameters.push(parameter.clone())\n\t\t}\n\n\t\treturn new this.constructor(this.name, this._cloneValue(), parameters, this.root, this.parent)\n\t}\n\n\t/**\n\t * Copies the values of this property\n\t *\n\t * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n\t * @protected\n\t */\n\t_cloneValue() {\n\t\tif (this.isDecoratedValue()) {\n\t\t\tif (this.isMultiValue()) {\n\t\t\t\treturn this._value.map((val) => val.clone())\n\t\t\t} else {\n\t\t\t\treturn this._value.clone()\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.isMultiValue()) {\n\t\t\t\t// only copy array values, don't copy array reference\n\t\t\t\treturn this._value.slice()\n\t\t\t} else {\n\t\t\t\treturn this._value\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Sets parameters from the constructor\n\t *\n\t * @param {Parameter[]|[String][]} parameters Array of parameters to set\n\t * @private\n\t */\n\t_setParametersFromConstructor(parameters) {\n\t\tparameters.forEach((parameter) => {\n\t\t\tif (!(parameter instanceof Parameter)) {\n\t\t\t\tparameter = new Parameter(parameter[0], parameter[1])\n\t\t\t}\n\n\t\t\tthis.setParameter(parameter)\n\t\t})\n\t}\n\n\t/**\n\t * Creates a new Component based on an ical object\n\t *\n\t * @param {ICAL.Property} icalProperty The ical.js property to initialise from\n\t * @param {CalendarComponent=} root The root of the calendar-document\n\t * @param {AbstractComponent=} parent The parent element of this property\n\t * @returns {Property}\n\t */\n\tstatic fromICALJs(icalProperty, root = null, parent = null) {\n\t\tif (!(icalProperty instanceof ICAL.Property)) {\n\t\t\tthrow new ExpectedICalJSError()\n\t\t}\n\n\t\tlet value\n\t\tif (icalProperty.isDecorated) {\n\t\t\tconst constructor = getConstructorForICALType(icalProperty.getFirstValue().icaltype)\n\t\t\tif (icalProperty.isMultiValue) {\n\t\t\t\tvalue = icalProperty.getValues().map((val) => constructor.fromICALJs(val))\n\t\t\t} else {\n\t\t\t\tvalue = constructor.fromICALJs(icalProperty.getFirstValue())\n\t\t\t}\n\t\t} else {\n\t\t\tif (icalProperty.isMultiValue) {\n\t\t\t\tvalue = icalProperty.getValues()\n\t\t\t} else {\n\t\t\t\tvalue = icalProperty.getFirstValue()\n\t\t\t}\n\t\t}\n\n\t\tconst parameters = []\n\t\tconst paramNames = Object.keys(Object.assign({}, icalProperty.toJSON()[1]))\n\t\tparamNames.forEach((paramName) => {\n\t\t\t// Timezone id is handled by DateTimeValue\n\t\t\tif (uc(paramName) === 'TZID') {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tparameters.push([paramName, icalProperty.getParameter(paramName)])\n\t\t})\n\n\t\treturn new this(icalProperty.name, value, parameters, root, parent)\n\t}\n\n\t/**\n\t * Returns an ICAL.js property based on this Property\n\t *\n\t * @returns {ICAL.Property}\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = createProperty(lc(this.name))\n\n\t\tif (this.isMultiValue()) {\n\t\t\tif (this.isDecoratedValue()) {\n\t\t\t\ticalProperty.setValues(this.value.map((val) => val.toICALJs()))\n\t\t\t} else {\n\t\t\t\ticalProperty.setValues(this.value)\n\t\t\t}\n\t\t} else {\n\t\t\tif (this.isDecoratedValue()) {\n\t\t\t\ticalProperty.setValue(this.value.toICALJs())\n\t\t\t} else {\n\t\t\t\ticalProperty.setValue(this.value)\n\n\t\t\t}\n\t\t}\n\n\t\tfor (const parameter of this.getParametersIterator()) {\n\t\t\ticalProperty.setParameter(lc(parameter.name), parameter.value)\n\t\t}\n\n\t\tconst firstValue = this.getFirstValue()\n\t\tif (firstValue instanceof DateTimeValue\n\t\t\t&& firstValue.timezoneId !== 'floating'\n\t\t\t&& firstValue.timezoneId !== 'UTC'\n\t\t\t&& !firstValue.isDate) {\n\t\t\ticalProperty.setParameter('tzid', firstValue.timezoneId)\n\t\t}\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\t_modifyContent() {\n\t\tsuper._modifyContent()\n\t\tthis._notifySubscribers()\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport BinaryValue from './binaryValue.js'\nimport DurationValue from './durationValue.js'\nimport PeriodValue from './periodValue.js'\nimport RecurValue from './recurValue.js'\nimport DateTimeValue from './dateTimeValue.js'\nimport UTCOffsetValue from './utcOffsetValue.js'\nimport UnknownICALTypeError from '../errors/unknownICALTypeError.js'\nimport { lc } from '../helpers/stringHelper.js'\n\n/**\n *\n * @param {String} icaltype The icaltype to get a Value constructor for\n * @returns {RecurValue|PeriodValue|BinaryValue|DurationValue|UTCOffsetValue|DateTimeValue}\n */\nexport function getConstructorForICALType(icaltype) {\n\tswitch (lc(icaltype)) {\n\tcase 'binary':\n\t\treturn BinaryValue\n\n\tcase 'date':\n\tcase 'date-time':\n\t\treturn DateTimeValue\n\n\tcase 'duration':\n\t\treturn DurationValue\n\n\tcase 'period':\n\t\treturn PeriodValue\n\n\tcase 'recur':\n\t\treturn RecurValue\n\n\tcase 'utc-offset':\n\t\treturn UTCOffsetValue\n\n\tdefault:\n\t\tthrow new UnknownICALTypeError()\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport BinaryValue from '../values/binaryValue.js'\n\n/**\n * @class AttachmentProperty\n * @classdesc This class represents an attachment property as defined in RFC 5545 Section 3.8.1.1\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.1\n */\nexport default class AttachmentProperty extends Property {\n\n\t/**\n\t * Gets the format-type of this attachment\n\t *\n\t * @returns {String}\n\t */\n\tget formatType() {\n\t\treturn this.getParameterFirstValue('FMTTYPE')\n\t}\n\n\t/**\n\t * Sets the format-type of this attachment\n\t *\n\t * @param {String} fmtType Mime-type of attachment\n\t */\n\tset formatType(fmtType) {\n\t\tthis.updateParameterIfExist('FMTTYPE', fmtType)\n\t}\n\n\t/**\n\t * Gets the uri of this attachment\n\t *\n\t * @returns {String|null}\n\t */\n\tget uri() {\n\t\tif (this._value instanceof BinaryValue) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn this._value\n\t}\n\n\t/**\n\t * Sets the uri of this attachment\n\t *\n\t * @param {String} uri Link to attachment if applicable\n\t */\n\tset uri(uri) {\n\t\tthis.value = uri\n\t}\n\n\t/**\n\t * Gets the encoding of this attachment\n\t *\n\t * @returns {string|null}\n\t */\n\tget encoding() {\n\t\tif (this._value instanceof BinaryValue) {\n\t\t\treturn 'BASE64'\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Gets the data stored in this attachment\n\t *\n\t * @returns {String|null}\n\t */\n\tget data() {\n\t\tif (this._value instanceof BinaryValue) {\n\t\t\treturn this._value.value\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Sets the data stored in this attachment\n\t *\n\t * @param {String} data The data of the attachment\n\t */\n\tset data(data) {\n\t\tif (this.value instanceof BinaryValue) {\n\t\t\tthis.value.value = data\n\t\t} else {\n\t\t\tthis.value = BinaryValue.fromDecodedValue(data)\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = super.toICALJs()\n\t\tif (this._value instanceof BinaryValue) {\n\t\t\ticalProperty.setParameter('ENCODING', 'BASE64')\n\t\t}\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * Creates a new AttachmentProperty based on data\n\t *\n\t * @param {String} data The data of the attachment\n\t * @param {String=} formatType The mime-type of the data\n\t * @returns {AttachmentProperty}\n\t */\n\tstatic fromData(data, formatType = null) {\n\t\tconst binaryValue = BinaryValue.fromDecodedValue(data)\n\t\tconst property = new AttachmentProperty('ATTACH', binaryValue)\n\n\t\tif (formatType) {\n\t\t\tproperty.formatType = formatType\n\t\t}\n\n\t\treturn property\n\t}\n\n\t/**\n\t * Creates a new AttachmentProperty based on a link\n\t *\n\t * @param {String} uri The URI for the attachment\n\t * @param {String=} formatType The mime-type of the uri\n\t * @returns {AttachmentProperty}\n\t */\n\tstatic fromLink(uri, formatType = null) {\n\t\tconst property = new AttachmentProperty('ATTACH', uri)\n\n\t\tif (formatType) {\n\t\t\tproperty.formatType = formatType\n\t\t}\n\n\t\treturn property\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport { startStringWith, uc } from '../helpers/stringHelper.js'\n\n/**\n * @class AttendeeProperty\n * @classdesc This class represents an attendee property as defined in RFC 5545 Section 3.8.4.1\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n */\nexport default class AttendeeProperty extends Property {\n\n\t/**\n\t * Returns the role of the attendee.\n\t *\n\t * @returns {string}\n\t */\n\tget role() {\n\t\tconst allowed = ['CHAIR', 'REQ-PARTICIPANT', 'OPT-PARTICIPANT', 'NON-PARTICIPANT']\n\t\tconst defaultValue = 'REQ-PARTICIPANT'\n\n\t\tif (this.hasParameter('ROLE')) {\n\t\t\tconst value = this.getParameterFirstValue('ROLE')\n\t\t\tif (allowed.includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\t\t}\n\n\t\treturn defaultValue\n\t}\n\n\t/**\n\t * Sets new role of the attendee\n\t *\n\t * @param {String} role The role of the attendee (e.g. CHAIR, REQ-PARTICIPANT)\n\t */\n\tset role(role) {\n\t\tthis.updateParameterIfExist('ROLE', role)\n\t}\n\n\t/**\n\t * Returns the calendar-user-type of an attendee\n\t *\n\t * @returns {string}\n\t */\n\tget userType() {\n\t\tconst allowed = ['INDIVIDUAL', 'GROUP', 'RESOURCE', 'ROOM', 'UNKNOWN']\n\n\t\tif (!this.hasParameter('CUTYPE')) {\n\t\t\treturn 'INDIVIDUAL'\n\t\t} else {\n\t\t\tconst value = this.getParameterFirstValue('CUTYPE')\n\t\t\tif (allowed.includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\n\t\t\treturn 'UNKNOWN'\n\t\t}\n\t}\n\n\t/**\n\t * Sets new calendar-user-type of attendee\n\t *\n\t * @param {String} userType The type of user (e.g. INDIVIDUAL, GROUP)\n\t */\n\tset userType(userType) {\n\t\tthis.updateParameterIfExist('CUTYPE', userType)\n\t}\n\n\t/**\n\t * Returns the \"Répondez s'il vous plaît\" value for attendee\n\t *\n\t * @returns {boolean}\n\t */\n\tget rsvp() {\n\t\tif (!this.hasParameter('RSVP')) {\n\t\t\treturn false\n\t\t} else {\n\t\t\tconst value = this.getParameterFirstValue('RSVP')\n\t\t\treturn uc(value) === 'TRUE'\n\t\t}\n\t}\n\n\t/**\n\t * Updates the \"Répondez s'il vous plaît\" value for attendee\n\t *\n\t * @param {boolean} rsvp Whether or not to send out an invitation\n\t */\n\tset rsvp(rsvp) {\n\t\tthis.updateParameterIfExist('RSVP', rsvp ? 'TRUE' : 'FALSE')\n\t}\n\n\t/**\n\t * Returns the common-name of the attendee\n\t *\n\t * @returns {string|null}\n\t */\n\tget commonName() {\n\t\treturn this.getParameterFirstValue('CN')\n\t}\n\n\t/**\n\t * Sets a new common-name of the attendee\n\t *\n\t * @param {string} commonName The display name of the attendee\n\t */\n\tset commonName(commonName) {\n\t\tthis.updateParameterIfExist('CN', commonName)\n\t}\n\n\t/**\n\t * Returns the participation-status of the attendee\n\t *\n\t * @returns {string}\n\t */\n\tget participationStatus() {\n\t\tlet vobjectType\n\t\tif (this.parent) {\n\t\t\tvobjectType = this.parent.name\n\t\t} else {\n\t\t\t// let's assume we are inside an event\n\t\t\t// if we don't know better\n\t\t\tvobjectType = 'VEVENT'\n\t\t}\n\n\t\tconst allowed = {\n\t\t\tVEVENT: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED', 'TENTATIVE', 'DELEGATED'],\n\t\t\tVJOURNAL: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED'],\n\t\t\tVTODO: ['NEEDS-ACTION', 'ACCEPTED', 'DECLINED', 'TENTATIVE', 'DELEGATED', 'COMPLETED', 'IN-PROCESS'],\n\t\t}\n\n\t\tif (!this.hasParameter('PARTSTAT')) {\n\t\t\treturn 'NEEDS-ACTION'\n\t\t} else {\n\t\t\tconst value = this.getParameterFirstValue('PARTSTAT')\n\t\t\tif (allowed[vobjectType].includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\n\t\t\treturn 'NEEDS-ACTION'\n\t\t}\n\t}\n\n\t/**\n\t * Sets a new participation-status of the attendee\n\t *\n\t * @param {String} participationStatus The participation status (e.g. ACCEPTED, DECLINED)\n\t */\n\tset participationStatus(participationStatus) {\n\t\tthis.updateParameterIfExist('PARTSTAT', participationStatus)\n\t}\n\n\t/**\n\t * Gets this attendee's language\n\t *\n\t * @returns {String}\n\t */\n\tget language() {\n\t\treturn this.getParameterFirstValue('LANGUAGE')\n\t}\n\n\t/**\n\t * Sets this attendee's language\n\t * This can be used to influence the language of the invitation email\n\t *\n\t * @param {String} language The preferred language of the attendee\n\t */\n\tset language(language) {\n\t\tthis.updateParameterIfExist('LANGUAGE', language)\n\t}\n\n\t/**\n\t * Gets the email of the attendee\n\t *\n\t * @returns {String}\n\t */\n\tget email() {\n\t\treturn this.value\n\t}\n\n\t/**\n\t * Sets the email address of the attendee\n\t *\n\t * @param {String} email The e-email address of the attendee\n\t */\n\tset email(email) {\n\t\tthis.value = startStringWith(email, 'mailto:')\n\t}\n\n\t/**\n\t * Is this attendee the organizer?\n\t *\n\t * @returns {boolean}\n\t */\n\tisOrganizer() {\n\t\treturn this._name === 'ORGANIZER'\n\t}\n\n\t/**\n\t * Creates a new AttendeeProperty from name and email\n\t *\n\t * @param {String} name The display name\n\t * @param {String} email The email address\n\t * @param {Boolean=} isOrganizer Whether this is the organizer or an attendee\n\t * @returns {AttendeeProperty}\n\t */\n\tstatic fromNameAndEMail(name, email, isOrganizer = false) {\n\t\tconst propertyName = isOrganizer\n\t\t\t? 'ORGANIZER'\n\t\t\t: 'ATTENDEE'\n\n\t\temail = startStringWith(email, 'mailto:')\n\t\treturn new AttendeeProperty(propertyName, email, [['CN', name]])\n\t}\n\n\t/**\n\t * Creates a new AttendeeProperty from name, email, role, userType and rsvp\n\t *\n\t * @param {String} name The display name\n\t * @param {String} email The email address\n\t * @param {String} role The role\n\t * @param {String} userType The type of user\n\t * @param {Boolean} rsvp Whether to send out an invitation\n\t * @param {Boolean=} isOrganizer Whether this is the organizer or an attendee\n\t * @returns {AttendeeProperty}\n\t */\n\tstatic fromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp, isOrganizer = false) {\n\t\tconst propertyName = isOrganizer\n\t\t\t? 'ORGANIZER'\n\t\t\t: 'ATTENDEE'\n\n\t\temail = startStringWith(email, 'mailto:')\n\t\treturn new AttendeeProperty(propertyName, email, [\n\t\t\t['CN', name],\n\t\t\t['ROLE', role],\n\t\t\t['CUTYPE', userType],\n\t\t\t['RSVP', rsvp ? 'TRUE' : 'FALSE'],\n\t\t])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport ICAL from 'ical.js'\n\nICAL.design.icalendar.property.conference = {\n\tdefaultType: 'uri',\n}\n\nICAL.design.icalendar.param.feature = {\n\tvalueType: 'cal-address',\n\tmultiValue: ',',\n}\n\n/**\n * @class ConferenceProperty\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n */\nexport default class ConferenceProperty extends Property {\n\n\t/**\n\t * Iterator that iterates over all supported features\n\t * of the conference system\n\t */\n\t* getFeatureIterator() {\n\t\tif (!this.hasParameter('FEATURE')) {\n\t\t\treturn\n\t\t}\n\n\t\tconst parameter = this.getParameter('FEATURE')\n\t\tyield * parameter.getValueIterator()\n\t}\n\n\t/**\n\t * Lists all supported features of the conference system\n\t *\n\t * @returns {String[]}\n\t */\n\tlistAllFeatures() {\n\t\tif (!this.hasParameter('FEATURE')) {\n\t\t\treturn []\n\t\t}\n\n\t\treturn this.getParameter('FEATURE').value.slice()\n\t}\n\n\t/**\n\t * Adds a supported feature to the conference system\n\t *\n\t * @param {String} featureToAdd Feature to add\n\t */\n\taddFeature(featureToAdd) {\n\t\tthis._modify()\n\t\tif (!this.hasParameter('FEATURE')) {\n\t\t\tthis.updateParameterIfExist('FEATURE', [featureToAdd])\n\t\t} else {\n\t\t\tif (this.hasFeature(featureToAdd)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst parameter = this.getParameter('FEATURE')\n\t\t\tparameter.value.push(featureToAdd)\n\t\t}\n\t}\n\n\t/**\n\t * Removes a supported feature\n\t *\n\t * @param {String} feature The feature to remove\n\t */\n\tremoveFeature(feature) {\n\t\tthis._modify()\n\t\tif (!this.hasFeature(feature)) {\n\t\t\treturn\n\t\t}\n\n\t\tconst parameter = this.getParameter('FEATURE')\n\t\tconst index = parameter.value.indexOf(feature)\n\t\tparameter.value.splice(index, 1)\n\t}\n\n\t/**\n\t * Removes all supported features from this conference system\n\t */\n\tclearAllFeatures() {\n\t\tthis.deleteParameter('FEATURE')\n\t}\n\n\t/**\n\t * Check if this conference system supports a feature\n\t *\n\t * @param {String} feature The feature to check\n\t * @returns {boolean}\n\t */\n\thasFeature(feature) {\n\t\tif (!this.hasParameter('FEATURE')) {\n\t\t\treturn false\n\t\t}\n\n\t\tconst parameter = this.getParameter('FEATURE')\n\t\tif (!Array.isArray(parameter.value)) {\n\t\t\treturn false\n\t\t}\n\n\t\treturn parameter.value.includes(feature)\n\t}\n\n\t/**\n\t * Gets label for the conference system\n\t *\n\t * @returns {String}\n\t */\n\tget label() {\n\t\treturn this.getParameterFirstValue('LABEL')\n\t}\n\n\t/**\n\t * Updates the label for the conference system\n\t *\n\t * @param {String} label The label to set\n\t */\n\tset label(label) {\n\t\tthis.updateParameterIfExist('LABEL', label)\n\t}\n\n\t/**\n\t * Gets the uri for this conference system\n\t */\n\tget uri() {\n\t\treturn this.value\n\t}\n\n\t/**\n\t * Sets the uri for this conference system\n\t *\n\t * @param {String} uri The URI to set\n\t */\n\tset uri(uri) {\n\t\tthis.value = uri\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = super.toICALJs()\n\t\ticalProperty.setParameter('value', 'URI')\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * Creates a new ConferenceProperty based on URI, label and features\n\t *\n\t * @param {String} uri URI of the Conference\n\t * @param {String=} label Label of the conference\n\t * @param {String[]=} features Features of the conference\n\t * @returns {ConferenceProperty}\n\t */\n\tstatic fromURILabelAndFeatures(uri, label = null, features = null) {\n\t\tconst property = new ConferenceProperty('CONFERENCE', uri)\n\n\t\tif (label) {\n\t\t\tproperty.updateParameterIfExist('label', label)\n\t\t}\n\n\t\tif (features) {\n\t\t\tproperty.updateParameterIfExist('feature', features)\n\t\t}\n\n\t\treturn property\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\n\n/**\n * @class FreeBusyProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.6\n */\nexport default class FreeBusyProperty extends Property {\n\n\t/**\n\t * Gets the type of this FreeBusyProperty\n\t *\n\t * @returns {String}\n\t */\n\tget type() {\n\t\tconst allowed = ['FREE', 'BUSY', 'BUSY-UNAVAILABLE', 'BUSY-TENTATIVE']\n\t\tconst defaultValue = 'BUSY'\n\n\t\tif (this.hasParameter('FBTYPE')) {\n\t\t\tconst value = this.getParameterFirstValue('FBTYPE')\n\t\t\tif (allowed.includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\t\t}\n\n\t\treturn defaultValue\n\t}\n\n\t/**\n\t * Sets the type of this FreeBusyProperty\n\t *\n\t * @param {String} type The type of information (e.g. FREE, BUSY, etc.)\n\t */\n\tset type(type) {\n\t\tthis.updateParameterIfExist('FBTYPE', type)\n\t}\n\n\t/**\n\t * Creates a new FreeBusyProperty based on period and type\n\t *\n\t * @param {PeriodValue} period The period for FreeBusy Information\n\t * @param {String} type The type of the period\n\t * @returns {FreeBusyProperty}\n\t */\n\tstatic fromPeriodAndType(period, type) {\n\t\treturn new FreeBusyProperty('FREEBUSY', period, [['fbtype', type]])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport { createProperty } from '../factories/icalFactory.js'\nimport { lc } from '../helpers/stringHelper.js'\n\n/**\n * @class GeoProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n */\nexport default class GeoProperty extends Property {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(name, value = [0, 0], parameters = [], root = null, parent = null) {\n\t\tsuper(name, value, parameters, root, parent)\n\t}\n\n\t/**\n\t * Gets the latitude stored in this property\n\t *\n\t * @returns {Number}\n\t */\n\tget latitude() {\n\t\treturn this._value[0]\n\t}\n\n\t/**\n\t * Sets the latitude stored in this property\n\t *\n\t * @param {String|Number} lat Latitude\n\t */\n\tset latitude(lat) {\n\t\tthis._modifyContent()\n\t\tif (typeof lat !== 'number') {\n\t\t\tlat = parseFloat(lat)\n\t\t}\n\n\t\tthis._value[0] = lat\n\t}\n\n\t/**\n\t * Gets the longitude stored in this property\n\t */\n\tget longitude() {\n\t\treturn this._value[1]\n\t}\n\n\t/**\n\t * Sets the longitude stored in this property\n\t *\n\t * @param {String|Number} long Longitude\n\t */\n\tset longitude(long) {\n\t\tthis._modifyContent()\n\t\tif (typeof long !== 'number') {\n\t\t\tlong = parseFloat(long)\n\t\t}\n\n\t\tthis._value[1] = long\n\t}\n\n\t/**\n\t * @inheritDoc\n\t *\n\t * TODO: this is an ugly hack right now.\n\t * As soon as the value is an array, we assume it's multivalue\n\t * but GEO is a (the one and only besides request-status) structured value and is also\n\t * stored inside an array.\n\t *\n\t * Calling icalProperty.setValues will throw an error\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = createProperty(lc(this.name))\n\t\ticalProperty.setValue(this.value)\n\n\t\tthis._parameters.forEach((parameter) => {\n\t\t\ticalProperty.setParameter(lc(parameter.name), parameter.value)\n\t\t})\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * Creates a new GeoProperty based on a latitude and a longitude value\n\t *\n\t * @param {Number} lat Latitude\n\t * @param {Number} long Longitude\n\t * @returns {GeoProperty}\n\t */\n\tstatic fromPosition(lat, long) {\n\t\treturn new GeoProperty('GEO', [lat, long])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AttachmentProperty from './attachmentProperty.js'\nimport BinaryValue from '../values/binaryValue.js'\n\n/**\n * @class ImageProperty\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.10\n */\nexport default class ImageProperty extends AttachmentProperty {\n\n\t/**\n\t * Gets the image-type\n\t */\n\tget display() {\n\t\treturn this.getParameterFirstValue('DISPLAY') || 'BADGE'\n\t}\n\n\t/**\n\t * Gets the image-type\n\t *\n\t * @param {String} display The display-type image is optimized for\n\t */\n\tset display(display) {\n\t\tthis.updateParameterIfExist('DISPLAY', display)\n\t}\n\n\t/**\n\t * Creates a new ImageProperty based on data\n\t *\n\t * @param {String} data The data of the image\n\t * @param {String=} display The display-type it's optimized for\n\t * @param {String=} formatType The mime-type of the image\n\t * @returns {ImageProperty}\n\t */\n\tstatic fromData(data, display = null, formatType = null) {\n\t\tconst binaryValue = BinaryValue.fromDecodedValue(data)\n\t\tconst property = new ImageProperty('IMAGE', binaryValue)\n\n\t\tif (display) {\n\t\t\tproperty.display = display\n\t\t}\n\n\t\tif (formatType) {\n\t\t\tproperty.formatType = formatType\n\t\t}\n\n\t\treturn property\n\t}\n\n\t/**\n\t * Creates a new ImageProperty based on a link\n\t *\n\t * @param {String} uri The uri of the image\n\t * @param {String=} display The display-type it's optimized for\n\t * @param {String=} formatType The mime-type of the image\n\t * @returns {ImageProperty}\n\t */\n\tstatic fromLink(uri, display = null, formatType = null) {\n\t\tconst property = new ImageProperty('IMAGE', uri)\n\n\t\tif (display) {\n\t\t\tproperty.display = display\n\t\t}\n\n\t\tif (formatType) {\n\t\t\tproperty.formatType = formatType\n\t\t}\n\n\t\treturn property\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\n\n/**\n * @class RelationProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.5\n */\nexport default class RelationProperty extends Property {\n\n\t/**\n\t * Get's the relation-type of this related-to property\n\t *\n\t * @returns {String}\n\t */\n\tget relationType() {\n\t\tconst allowed = ['PARENT', 'CHILD', 'SIBLING']\n\t\tconst defaultValue = 'PARENT'\n\n\t\tif (!this.hasParameter('RELTYPE')) {\n\t\t\treturn defaultValue\n\t\t} else {\n\t\t\tconst value = this.getParameterFirstValue('RELTYPE')\n\t\t\tif (allowed.includes(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\n\t\t\treturn defaultValue\n\t\t}\n\t}\n\n\t/**\n\t * Sets a new relation type\n\t *\n\t * @param {String} relationType The type of relation (e.g. SIBLING, PARENT, etc.)\n\t */\n\tset relationType(relationType) {\n\t\tthis.updateParameterIfExist('RELTYPE', relationType)\n\t}\n\n\t/**\n\t * Gets Id of related object\n\t *\n\t * @returns {String}\n\t */\n\tget relatedId() {\n\t\treturn this.value\n\t}\n\n\t/**\n\t * Sets a new related id\n\t *\n\t * @param {String} relatedId The Id of the related document\n\t */\n\tset relatedId(relatedId) {\n\t\tthis.value = relatedId\n\t}\n\n\t/**\n\t * Creates a new RELATED-TO property based on a relation-type and id\n\t *\n\t * @param {String} relType The type of the relation (e.g. SIBLING, CHILD)\n\t * @param {String} relId The Id of the related document\n\t * @returns {RelationProperty}\n\t */\n\tstatic fromRelTypeAndId(relType, relId) {\n\t\treturn new RelationProperty('RELATED-TO', relId, [['RELTYPE', relType]])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport { createProperty } from '../factories/icalFactory.js'\nimport { lc } from '../helpers/stringHelper.js'\n\n/**\n * @class RequestStatusProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.8.3\n */\nexport default class RequestStatusProperty extends Property {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(name, value = ['1', 'Pending'], parameters = [], root = null, parent = null) {\n\t\tsuper(name, value, parameters, root, parent)\n\t}\n\n\t/**\n\t * Gets the status code of the request status\n\t *\n\t * @returns {Number}\n\t */\n\tget statusCode() {\n\t\treturn parseFloat(this.value[0])\n\t}\n\n\t/**\n\t * Sets the status code of the request status\n\t *\n\t * @param {Number} statusCode The statusCode of the request\n\t */\n\tset statusCode(statusCode) {\n\t\tthis._modifyContent()\n\n\t\tthis.value[0] = statusCode.toString()\n\n\t\t// This makes sure 2.0 is actually saved as 2.0, not 2\n\t\tif (statusCode === Math.floor(statusCode)) {\n\t\t\tthis.value[0] += '.0'\n\t\t}\n\t}\n\n\t/**\n\t * Gets the status message of the request status\n\t *\n\t * @returns {string}\n\t */\n\tget statusMessage() {\n\t\treturn this.value[1]\n\t}\n\n\t/**\n\t * Sets the status message of the request status\n\t *\n\t * @param {String} statusMessage The message of the request\n\t */\n\tset statusMessage(statusMessage) {\n\t\tthis._modifyContent()\n\t\tthis.value[1] = statusMessage\n\t}\n\n\t/**\n\t * Gets the exception data of the request status if available\n\t *\n\t * @returns {null|String}\n\t */\n\tget exceptionData() {\n\t\tif (!this.value[2]) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn this.value[2]\n\t}\n\n\t/**\n\t * Sets the exception dtat of the request status\n\t *\n\t * @param {String} exceptionData The additional exception-data\n\t */\n\tset exceptionData(exceptionData) {\n\t\tthis._modifyContent()\n\t\tthis.value[2] = exceptionData\n\t}\n\n\t/**\n\t * Check if request is pending\n\t *\n\t * @returns {boolean}\n\t */\n\tisPending() {\n\t\treturn this.statusCode >= 1 && this.statusCode < 2\n\t}\n\n\t/**\n\t * Check if request was successful\n\t *\n\t * @returns {boolean}\n\t */\n\tisSuccessful() {\n\t\treturn this.statusCode >= 2 && this.statusCode < 3\n\t}\n\n\t/**\n\t * Check if a client error occurred\n\t *\n\t * @returns {boolean}\n\t */\n\tisClientError() {\n\t\treturn this.statusCode >= 3 && this.statusCode < 4\n\t}\n\n\t/**\n\t * Check if a scheduling error occurred\n\t *\n\t * @returns {boolean}\n\t */\n\tisSchedulingError() {\n\t\treturn this.statusCode >= 4 && this.statusCode < 5\n\t}\n\n\t/**\n\t * @inheritDoc\n\t *\n\t * TODO: this is an ugly hack right now.\n\t * As soon as the value is an array, we assume it's multivalue\n\t * but REQUEST-STATUS is a (the one and only besides GEO) structured value and is also\n\t * stored inside an array.\n\t *\n\t * Calling icalProperty.setValues will throw an error\n\t */\n\ttoICALJs() {\n\t\tconst icalProperty = createProperty(lc(this.name))\n\t\ticalProperty.setValue(this.value)\n\n\t\tthis._parameters.forEach((parameter) => {\n\t\t\ticalProperty.setParameter(lc(parameter.name), parameter.value)\n\t\t})\n\n\t\treturn icalProperty\n\t}\n\n\t/**\n\t * Creates a new RequestStatusProperty from a code and a status message\n\t *\n\t * @param {Number} code The status-code of the request\n\t * @param {String} message The message of the request\n\t * @returns {RequestStatusProperty}\n\t */\n\tstatic fromCodeAndMessage(code, message) {\n\t\treturn new RequestStatusProperty('REQUEST-STATUS', [code.toString(), message])\n\t}\n\n}\n\n// All request statuses registered in RFC 5546\nRequestStatusProperty.SUCCESS = [2.0, 'Success']\nRequestStatusProperty.SUCCESS_FALLBACK = [2.1, 'Success, but fallback taken on one or more property values.']\nRequestStatusProperty.SUCCESS_PROP_IGNORED = [2.2, 'Success; invalid property ignored.']\nRequestStatusProperty.SUCCESS_PROPPARAM_IGNORED = [2.3, 'Success; invalid property parameter ignored.']\nRequestStatusProperty.SUCCESS_NONSTANDARD_PROP_IGNORED = [2.4, 'Success; unknown, non-standard property ignored.']\nRequestStatusProperty.SUCCESS_NONSTANDARD_PROPPARAM_IGNORED = [2.5, 'Success; unknown, non-standard property value ignored.']\nRequestStatusProperty.SUCCESS_COMP_IGNORED = [2.6, 'Success; invalid calendar component ignored.']\nRequestStatusProperty.SUCCESS_FORWARDED = [2.7, 'Success; request forwarded to Calendar User.']\nRequestStatusProperty.SUCCESS_REPEATING_IGNORED = [2.8, 'Success; repeating event ignored. Scheduled as a single component.']\nRequestStatusProperty.SUCCESS_TRUNCATED_END = [2.9, 'Success; truncated end date time to date boundary.']\nRequestStatusProperty.SUCCESS_REPEATING_VTODO_IGNORED = [2.10, 'Success; repeating VTODO ignored. Scheduled as a single VTODO.']\nRequestStatusProperty.SUCCESS_UNBOUND_RRULE_CLIPPED = [2.11, 'Success; unbounded RRULE clipped at some finite number of instances.']\n\nRequestStatusProperty.CLIENT_INVALID_PROPNAME = [3.0, 'Invalid property name.']\nRequestStatusProperty.CLIENT_INVALID_PROPVALUE = [3.1, 'Invalid property value.']\nRequestStatusProperty.CLIENT_INVALID_PROPPARAM = [3.2, 'Invalid property parameter.']\nRequestStatusProperty.CLIENT_INVALID_PROPPARAMVALUE = [3.3, 'Invalid property parameter value.']\nRequestStatusProperty.CLIENT_INVALUD_CALENDAR_COMP_SEQ = [3.4, 'Invalid calendar component sequence.']\nRequestStatusProperty.CLIENT_INVALID_DATE_TIME = [3.5, 'Invalid date or time.']\nRequestStatusProperty.CLIENT_INVALID_RRULE = [3.6, 'Invalid rule.']\nRequestStatusProperty.CLIENT_INVALID_CU = [3.7, 'Invalid Calendar User.']\nRequestStatusProperty.CLIENT_NO_AUTHORITY = [3.8, 'No authority.']\nRequestStatusProperty.CLIENT_UNSUPPORTED_VERSION = [3.9, 'Unsupported version.']\nRequestStatusProperty.CLIENT_TOO_LARGE = [3.10, 'Request entity too large.']\nRequestStatusProperty.CLIENT_REQUIRED_COMP_OR_PROP_MISSING = [3.11, 'Required component or property missing.']\nRequestStatusProperty.CLIENT_UNKNOWN_COMP_OR_PROP = [3.12, 'Unknown component or property found.']\nRequestStatusProperty.CLIENT_UNSUPPORTED_COMP_OR_PROP = [3.13, 'Unsupported component or property found.']\nRequestStatusProperty.CLIENT_UNSUPPORTED_CAPABILITY = [3.14, 'Unsupported capability.']\n\nRequestStatusProperty.SCHEDULING_EVENT_CONFLICT = [4.0, 'Event conflict. Date/time is busy.']\n\nRequestStatusProperty.SERVER_REQUEST_NOT_SUPPORTED = [5.0, 'Request not supported.']\nRequestStatusProperty.SERVER_SERVICE_UNAVAILABLE = [5.1, 'Service unavailable.']\nRequestStatusProperty.SERVER_INVALID_CALENDAR_SERVICE = [5.2, 'Invalid calendar service.']\nRequestStatusProperty.SERVER_NO_SCHEDULING_FOR_USER = [5.3, 'No scheduling support for user.']\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\n\n/**\n * @class TextProperty\n * @classdesc\n */\nexport default class TextProperty extends Property {\n\n\t/**\n\t * Gets the alternate text\n\t *\n\t * @returns {String}\n\t */\n\tget alternateText() {\n\t\treturn this.getParameterFirstValue('ALTREP')\n\t}\n\n\t/**\n\t * Sets the alternate text\n\t *\n\t * @param {String} altRep The alternative text\n\t */\n\tset alternateText(altRep) {\n\t\tthis.updateParameterIfExist('ALTREP', altRep)\n\t}\n\n\t/**\n\t * Gets language of this property\n\t *\n\t * @returns {String}\n\t */\n\tget language() {\n\t\treturn this.getParameterFirstValue('LANGUAGE')\n\t}\n\n\t/**\n\t * Sets language of this property\n\t *\n\t * @param {String} language The language of the text\n\t */\n\tset language(language) {\n\t\tthis.updateParameterIfExist('LANGUAGE', language)\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from './property.js'\nimport DurationValue from '../values/durationValue.js'\nimport DateTimeValue from '../values/dateTimeValue.js'\n\n/**\n * @class TriggerProperty\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.3\n */\nexport default class TriggerProperty extends Property {\n\n\t/**\n\t * Gets the related parameter\n\t *\n\t * @returns {String}\n\t */\n\tget related() {\n\t\tif (!this.hasParameter('RELATED')) {\n\t\t\treturn 'START'\n\t\t}\n\n\t\treturn this.getParameterFirstValue('RELATED')\n\t}\n\n\t/**\n\t * Sets the related parameter\n\t *\n\t * @param {String} related Either START or END\n\t */\n\tset related(related) {\n\t\tthis.updateParameterIfExist('RELATED', related)\n\t}\n\n\t/**\n\t * Gets the value of this trigger\n\t * (If you override the setter, you also have to override the getter or\n\t * it will simply be undefined)\n\t *\n\t * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]}\n\t */\n\tget value() {\n\t\treturn super.value\n\t}\n\n\t/**\n\t * Set the value of this trigger\n\t *\n\t * @param {DurationValue|DateTimeValue} value The time of trigger\n\t */\n\tset value(value) {\n\t\tsuper.value = value\n\n\t\t// If it's not a duration, remove related parameter\n\t\tif (value instanceof DateTimeValue) {\n\t\t\tthis.deleteParameter('RELATED')\n\t\t\tsuper.value = value.getInUTC()\n\t\t}\n\t}\n\n\t/**\n\t * Gets whether this alarm trigger is relative\n\t *\n\t * @returns {boolean}\n\t */\n\tisRelative() {\n\t\treturn this.getFirstValue() instanceof DurationValue\n\t}\n\n\t/**\n\t * Creates a new absolute trigger\n\t *\n\t * @param {DateTimeValue} alarmTime Time to create Trigger from\n\t * @returns {TriggerProperty}\n\t */\n\tstatic fromAbsolute(alarmTime) {\n\t\treturn new TriggerProperty('TRIGGER', alarmTime.getInUTC())\n\t}\n\n\t/**\n\t * Creates a new relative trigger\n\t *\n\t * @param {DurationValue} alarmOffset Duration to create Trigger from\n\t * @param {Boolean=} relatedToStart Related to Start or end?\n\t * @returns {TriggerProperty}\n\t */\n\tstatic fromRelativeAndRelated(alarmOffset, relatedToStart = true) {\n\t\treturn new TriggerProperty('TRIGGER', alarmOffset, [['RELATED', relatedToStart ? 'START' : 'END']])\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AttachmentProperty from './attachmentProperty.js'\nimport AttendeeProperty from './attendeeProperty.js'\nimport ConferenceProperty from './conferenceProperty.js'\nimport FreeBusyProperty from './freeBusyProperty.js'\nimport GeoProperty from './geoProperty.js'\nimport ImageProperty from './imageProperty.js'\nimport RelationProperty from './relationProperty.js'\nimport RequestStatusProperty from './requestStatusProperty.js'\nimport TextProperty from './textProperty.js'\nimport TriggerProperty from './triggerProperty.js'\nimport Property from './property.js'\nimport { uc } from '../helpers/stringHelper.js'\n\n/**\n *\n * @param {String} propName Name of the prop to get constructor for\n * @returns {AttendeeProperty|GeoProperty|ConferenceProperty|Property|AttachmentProperty|ImageProperty|RelationProperty|RequestStatusProperty}\n */\nexport function getConstructorForPropertyName(propName) {\n\tswitch (uc(propName)) {\n\tcase 'ATTACH':\n\t\treturn AttachmentProperty\n\n\tcase 'ATTENDEE':\n\tcase 'ORGANIZER':\n\t\treturn AttendeeProperty\n\n\tcase 'CONFERENCE':\n\t\treturn ConferenceProperty\n\n\tcase 'FREEBUSY':\n\t\treturn FreeBusyProperty\n\n\tcase 'GEO':\n\t\treturn GeoProperty\n\n\tcase 'IMAGE':\n\t\treturn ImageProperty\n\n\tcase 'RELATED-TO':\n\t\treturn RelationProperty\n\n\tcase 'REQUEST-STATUS':\n\t\treturn RequestStatusProperty\n\n\tcase 'TRIGGER':\n\t\treturn TriggerProperty\n\n\tcase 'COMMENT':\n\tcase 'CONTACT':\n\tcase 'DESCRIPTION':\n\tcase 'LOCATION':\n\tcase 'SUMMARY':\n\t\treturn TextProperty\n\n\tdefault:\n\t\treturn Property\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport lockableTrait from '../traits/lockable.js'\nimport ExpectedICalJSError from '../errors/expectedICalJSError.js'\nimport { lc, uc, ucFirst } from '../helpers/stringHelper.js'\nimport { createComponent } from '../factories/icalFactory.js'\nimport { getConstructorForPropertyName } from '../properties'\nimport Property from '../properties/property.js'\nimport Parameter from '../parameters/parameter.js'\nimport observerTrait from '../traits/observer.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class AbstractComponent\n */\nexport default class AbstractComponent extends observerTrait(lockableTrait(class {})) {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {String} name - Name of component\n\t * @param {Property[]} properties - Array of properties stored inside the component\n\t * @param {AbstractComponent[]} components - Array of subcomponents stored inside this component\n\t * @param {CalendarComponent|null} root - The root of this calendar document\n\t * @param {AbstractComponent|null} parent - The parent component of this element\n\t */\n\tconstructor(name, properties = [], components = [], root = null, parent = null) {\n\t\tsuper()\n\n\t\t/**\n\t\t * Name of component\n\t\t *\n\t\t * @type {String}\n\t\t * @private\n\t\t */\n\t\tthis._name = uc(name)\n\n\t\t/**\n\t\t * All properties in this component\n\t\t *\n\t\t * @type {Map<String, Property[]>}\n\t\t * @private\n\t\t */\n\t\tthis._properties = new Map()\n\n\t\t/**\n\t\t * All subcomponents of this component\n\t\t *\n\t\t * @type {Map<String, AbstractComponent[]>}\n\t\t * @private\n\t\t */\n\t\tthis._components = new Map()\n\n\t\t/**\n\t\t * Root node of ical document\n\t\t *\n\t\t * @type {CalendarComponent|null}\n\t\t * @private\n\t\t */\n\t\tthis._root = root\n\n\t\t/**\n\t\t * Parent node\n\t\t *\n\t\t * @type {AbstractComponent|null}\n\t\t * @private\n\t\t */\n\t\tthis._parent = parent\n\n\t\tthis._setPropertiesFromConstructor(properties)\n\t\tthis._setComponentsFromConstructor(components)\n\t}\n\n\t/**\n\t * Get the component's name\n\t *\n\t * @returns {String}\n\t */\n\tget name() {\n\t\treturn this._name\n\t}\n\n\t/**\n\t * Gets the root of this calendar-document\n\t *\n\t * @returns {CalendarComponent}\n\t */\n\tget root() {\n\t\treturn this._root\n\t}\n\n\t/**\n\t * Sets the root of this calendar-document\n\t *\n\t * @param {CalendarComponent} root The new root element\n\t */\n\tset root(root) {\n\t\tthis._modify()\n\t\tthis._root = root\n\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tproperty.root = root\n\t\t}\n\n\t\tfor (const component of this.getComponentIterator()) {\n\t\t\tcomponent.root = root\n\t\t}\n\n\t}\n\n\t/**\n\t * Gets the parent component\n\t *\n\t * @returns {AbstractComponent}\n\t */\n\tget parent() {\n\t\treturn this._parent\n\t}\n\n\t/**\n\t * Sets the parent component\n\t *\n\t * @param {AbstractComponent} parent The new parent element\n\t */\n\tset parent(parent) {\n\t\tthis._modify()\n\t\tthis._parent = parent\n\t}\n\n\t/**\n\t * Gets the first property that matches the given propertyName\n\t *\n\t * @param {String} propertyName Name of the property to get\n\t * @returns {Property|null}\n\t */\n\tgetFirstProperty(propertyName) {\n\t\tif (!this._properties.has(uc(propertyName))) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn this._properties.get(uc(propertyName))[0]\n\t}\n\n\t/**\n\t * Gets the first value of the first property matching that name\n\t *\n\t * @param {String} propertyName Name of the property to get first value of\n\t * @returns {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null}\n\t */\n\tgetFirstPropertyFirstValue(propertyName) {\n\t\tconst property = this.getFirstProperty(propertyName)\n\t\tif (!property) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn property.getFirstValue()\n\t}\n\n\t/**\n\t * update a property if it exists,\n\t * create a new one if it doesn't\n\t *\n\t * @param {String} propertyName Name of the property to update / create\n\t * @param {String|Number|AbstractValue|String[]|Number[]|AbstractValue[]|null} value The value to set\n\t */\n\tupdatePropertyWithValue(propertyName, value) {\n\t\tthis._modify()\n\t\tconst property = this.getFirstProperty(propertyName)\n\t\tif (property) {\n\t\t\tproperty.value = value\n\t\t} else {\n\t\t\tconst constructor = getConstructorForPropertyName(propertyName)\n\t\t\tconst newProperty = new constructor(propertyName, value, [], this, this.root)\n\t\t\tthis.addProperty(newProperty)\n\t\t}\n\t}\n\n\t/**\n\t * Returns iterator for all properties of a given propertyName\n\t * or if no propertyName was given over all available properties\n\t *\n\t * @param {String=} propertyName Name of the property to get an iterator for\n\t */\n\t* getPropertyIterator(propertyName = null) {\n\t\tif (propertyName) {\n\t\t\tif (!this.hasProperty(propertyName)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// this._properties.get() returns an array\n\t\t\t// [Symbol.iterator]() creates an iterator from that array\n\t\t\tyield * this._properties.get(uc(propertyName)).slice()[Symbol.iterator]()\n\t\t} else {\n\t\t\tfor (const key of this._properties.keys()) {\n\t\t\t\tyield * this.getPropertyIterator(key)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get all properties by name that match the given LANG parameter\n\t *\n\t * @param {String} propertyName The name of the property\n\t * @param {String|null} lang The lang to query\n\t * @private\n\t */\n\t* _getAllOfPropertyByLang(propertyName, lang) {\n\t\tfor (const property of this.getPropertyIterator(propertyName)) {\n\t\t\t// getParameterFirstValue will return null if language not set, so no language parameter will match lang=null\n\t\t\tif (property.getParameterFirstValue('LANGUAGE') === lang) {\n\t\t\t\tyield property\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the first property by name that matches the given LANG parameter\n\t *\n\t * @param {String} propertyName The name of the property\n\t * @param {String|null} lang The lang to query\n\t * @returns {Property|null}\n\t * @private\n\t */\n\t_getFirstOfPropertyByLang(propertyName, lang) {\n\t\tconst iterator = this._getAllOfPropertyByLang(propertyName, lang)\n\t\treturn iterator.next().value || null\n\t}\n\n\t/**\n\t * Adds a property\n\t *\n\t * @param {Property} property The property to add\n\t * @returns {boolean}\n\t */\n\taddProperty(property) {\n\t\tthis._modify()\n\n\t\tproperty.root = this.root\n\t\tproperty.parent = this\n\n\t\tif (this._properties.has(property.name)) {\n\t\t\tconst arr = this._properties.get(property.name)\n\t\t\tif (arr.indexOf(property) !== -1) {\n\t\t\t\t// If the property is already part of this component,\n\t\t\t\t// return false to indicate an error\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tarr.push(property)\n\t\t} else {\n\t\t\tthis._properties.set(property.name, [property])\n\t\t}\n\n\t\tproperty.subscribe(() => this._notifySubscribers())\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Checks if this component has a property of the given name\n\t *\n\t * @param {String} propertyName The name of the property\n\t * @returns {boolean}\n\t */\n\thasProperty(propertyName) {\n\t\treturn this._properties.has(uc(propertyName))\n\t}\n\n\t/**\n\t * Removes the given property from this component\n\t *\n\t * @param {Property} property The property to delete\n\t * @returns {boolean}\n\t */\n\tdeleteProperty(property) {\n\t\tthis._modify()\n\t\tif (!this._properties.has(property.name)) {\n\t\t\treturn false\n\t\t}\n\n\t\tconst arr = this._properties.get(property.name)\n\t\tconst index = arr.indexOf(property)\n\t\tif (index === -1) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (index !== -1 && arr.length === 1) {\n\t\t\t// If this is the last property of the given name,\n\t\t\t// remove the entire array from _properties\n\t\t\t// This is required for hasProperty to work properly\n\t\t\tthis._properties.delete(property.name)\n\t\t} else {\n\t\t\tarr.splice(index, 1)\n\t\t}\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Removes all properties of a given name\n\t *\n\t * @param {String} propertyName The name of the property\n\t * @returns {boolean}\n\t */\n\tdeleteAllProperties(propertyName) {\n\t\tthis._modify()\n\t\treturn this._properties.delete(uc(propertyName))\n\t}\n\n\t/**\n\t * Gets the first component of a given name\n\t *\n\t * @param {String} componentName The name of the component\n\t * @returns {AbstractComponent|null}\n\t */\n\tgetFirstComponent(componentName) {\n\t\tif (!this.hasComponent(componentName)) {\n\t\t\treturn null\n\t\t}\n\n\t\treturn this._components.get(uc(componentName))[0]\n\t}\n\n\t/**\n\t * Returns iterator for all components of a given componentName\n\t * or if no componentName was given over all available components\n\t *\n\t * @param {String=} componentName The name of the component\n\t */\n\t* getComponentIterator(componentName) {\n\t\tif (componentName) {\n\t\t\tif (!this.hasComponent(componentName)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// this._components.get() returns an array\n\t\t\t// [Symbol.iterator]() creates an iterator from that array\n\t\t\tyield * this._components.get(uc(componentName)).slice()[Symbol.iterator]()\n\t\t} else {\n\t\t\tfor (const key of this._components.keys()) {\n\t\t\t\tyield * this.getComponentIterator(key)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Adds a new component to this component\n\t *\n\t * @param {AbstractComponent} component The component to add\n\t * @returns {Boolean}\n\t */\n\taddComponent(component) {\n\t\tthis._modify()\n\n\t\tcomponent.root = this.root\n\t\tcomponent.parent = this\n\n\t\tif (this._components.has(component.name)) {\n\t\t\tconst arr = this._components.get(component.name)\n\t\t\tif (arr.indexOf(component) !== -1) {\n\t\t\t\t// If the property is already part of this component,\n\t\t\t\t// return false to indicate an error\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tarr.push(component)\n\t\t} else {\n\t\t\tthis._components.set(component.name, [component])\n\t\t}\n\n\t\tcomponent.subscribe(() => this._notifySubscribers())\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Checks if this component has a component of the given name\n\t *\n\t * @param {String} componentName The name of the component\n\t * @returns {boolean}\n\t */\n\thasComponent(componentName) {\n\t\treturn this._components.has(uc(componentName))\n\t}\n\n\t/**\n\t * Removes the given component from this component\n\t *\n\t * @param {AbstractComponent} component The component to delete\n\t * @returns {boolean}\n\t */\n\tdeleteComponent(component) {\n\t\tthis._modify()\n\t\tif (!this._components.has(component.name)) {\n\t\t\treturn false\n\t\t}\n\n\t\tconst arr = this._components.get(component.name)\n\t\tconst index = arr.indexOf(component)\n\t\tif (index === -1) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (index !== -1 && arr.length === 1) {\n\t\t\t// If this is the last component of the given name,\n\t\t\t// remove the entire array from _components\n\t\t\t// This is required for hasComponent to work properly\n\t\t\tthis._components.delete(component.name)\n\t\t} else {\n\t\t\tarr.splice(index, 1)\n\t\t}\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Removes all components of a given name\n\t *\n\t * @param {String} componentName The name of the component\n\t * @returns {boolean}\n\t */\n\tdeleteAllComponents(componentName) {\n\t\tthis._modify()\n\t\treturn this._components.delete(uc(componentName))\n\t}\n\n\t/**\n\t * Marks this parameter is immutable\n\t * locks it against further modification\n\t */\n\tlock() {\n\t\tsuper.lock()\n\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tproperty.lock()\n\t\t}\n\n\t\tfor (const component of this.getComponentIterator()) {\n\t\t\tcomponent.lock()\n\t\t}\n\t}\n\n\t/**\n\t * Marks this parameter as mutable\n\t * allowing further modification\n\t */\n\tunlock() {\n\t\tsuper.unlock()\n\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tproperty.unlock()\n\t\t}\n\n\t\tfor (const component of this.getComponentIterator()) {\n\t\t\tcomponent.unlock()\n\t\t}\n\t}\n\n\t/**\n\t * Creates a copy of this parameter\n\t *\n\t * @returns {AbstractComponent}\n\t */\n\tclone() {\n\t\tconst properties = []\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tproperties.push(property.clone())\n\t\t}\n\n\t\tconst components = []\n\t\tfor (const component of this.getComponentIterator()) {\n\t\t\tcomponents.push(component.clone())\n\t\t}\n\n\t\treturn new this.constructor(this.name, properties, components, this.root, this.parent)\n\t}\n\n\t/**\n\t * Adds properties from constructor to this._properties\n\t *\n\t * @param {Property[]} properties Array of properties\n\t * @private\n\t */\n\t_setPropertiesFromConstructor(properties) {\n\t\tfor (let property of properties) {\n\t\t\tif (Array.isArray(property)) {\n\t\t\t\tconst constructor = getConstructorForPropertyName(property[0])\n\t\t\t\tproperty = new constructor(property[0], property[1])\n\t\t\t}\n\n\t\t\tthis.addProperty(property)\n\t\t}\n\t}\n\n\t/**\n\t * Adds components from constructor to this._components\n\t *\n\t * @param {AbstractComponent[]} components Array of components\n\t * @private\n\t */\n\t_setComponentsFromConstructor(components) {\n\t\tfor (const component of components) {\n\t\t\tthis.addComponent(component)\n\t\t}\n\t}\n\n\t/**\n\t * Creates a new Component based on an ical object\n\t *\n\t * @param {ICAL.Component} icalValue The ical.js component to initialise from\n\t * @param {CalendarComponent=} root The root of the Calendar Document\n\t * @param {AbstractComponent=} parent The parent element of this component\n\t * @returns {AbstractComponent}\n\t */\n\tstatic fromICALJs(icalValue, root = null, parent = null) {\n\t\tif (!(icalValue instanceof ICAL.Component)) {\n\t\t\tthrow new ExpectedICalJSError()\n\t\t}\n\n\t\tconst name = icalValue.name\n\t\tconst newComponent = new this(name, [], [], root, parent)\n\n\t\tfor (const icalProp of icalValue.getAllProperties()) {\n\t\t\tconst constructor = getConstructorForPropertyName(icalProp.name)\n\t\t\tconst property = constructor.fromICALJs(icalProp, root, newComponent)\n\t\t\tnewComponent.addProperty(property)\n\t\t}\n\n\t\tfor (const icalComp of icalValue.getAllSubcomponents()) {\n\t\t\tconst constructor = this._getConstructorForComponentName(icalComp.name)\n\t\t\tconst component = constructor.fromICALJs(icalComp, root, newComponent)\n\t\t\tnewComponent.addComponent(component)\n\t\t}\n\n\t\treturn newComponent\n\t}\n\n\t/**\n\t * Gets a constructor for a give component name\n\t *\n\t * @param {String} componentName The name of the component\n\t * @returns {AbstractComponent}\n\t * @protected\n\t */\n\tstatic _getConstructorForComponentName(componentName) {\n\t\treturn AbstractComponent\n\t}\n\n\t/**\n\t * turns this Component into an ICAL.js component\n\t *\n\t * @returns {ICAL.Component}\n\t */\n\ttoICALJs() {\n\t\tconst component = createComponent(lc(this.name))\n\n\t\tfor (const prop of this.getPropertyIterator()) {\n\t\t\tcomponent.addProperty(prop.toICALJs())\n\t\t}\n\t\tfor (const comp of this.getComponentIterator()) {\n\t\t\tcomponent.addSubcomponent(comp.toICALJs())\n\t\t}\n\n\t\treturn component\n\t}\n\n}\n\n/**\n * Advertise properties that may at most occur once\n *\n * Properties, which may at most occur once, get a simple getter and setter\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n * @param {Boolean} advertiseValueOnly Whether to advertise the value only or the entire property\n */\nexport function advertiseSingleOccurrenceProperty(prototype, options, advertiseValueOnly = true) {\n\toptions = getDefaultOncePropConfig(options)\n\n\tObject.defineProperty(prototype, options.name, {\n\t\tget: function() {\n\t\t\tconst value = this.getFirstPropertyFirstValue(options.iCalendarName)\n\n\t\t\tif (!value) {\n\t\t\t\treturn options.defaultValue\n\t\t\t} else {\n\t\t\t\tif (Array.isArray(options.allowedValues) && !options.allowedValues.includes(value)) {\n\t\t\t\t\treturn options.unknownValue\n\t\t\t\t}\n\n\t\t\t\treturn value\n\t\t\t}\n\t\t},\n\t\tset: function(value) {\n\t\t\tthis._modify()\n\n\t\t\tif (value === null) {\n\t\t\t\tthis.deleteAllProperties(options.iCalendarName)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (Array.isArray(options.allowedValues) && !options.allowedValues.includes(value)) {\n\t\t\t\tthrow new TypeError('Illegal value')\n\t\t\t}\n\t\t\tthis.updatePropertyWithValue(options.iCalendarName, value)\n\t\t},\n\t})\n}\n\n/**\n * Advertise properties that may occur more than once\n *\n * Properties, which may occur more than once, won't get simple getter / setter,\n * but rather a more advanced set of get{name}Iterator, get{name}List, add{name},\n * remove{name} and clearAll{name} methods\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n */\nexport function advertiseMultipleOccurrenceProperty(prototype, options) {\n\toptions = getDefaultMultiplePropConfig(options)\n\n\tprototype['get' + ucFirst(options.name) + 'Iterator'] = function * () {\n\t\tyield * this.getPropertyIterator(options.iCalendarName)\n\t}\n\n\tprototype['get' + ucFirst(options.name) + 'List'] = function() {\n\t\treturn Array.from(this['get' + ucFirst(options.name) + 'Iterator']())\n\t}\n\n\tprototype['remove' + ucFirst(options.name)] = function(property) {\n\t\tthis.deleteProperty(property)\n\t}\n\n\tprototype['clearAll' + ucFirst(options.pluralName)] = function() {\n\t\tthis.deleteAllProperties(options.iCalendarName)\n\t}\n}\n\n/**\n * advertises a multi-value string property enabling simple access by language\n * This is used for:\n * - CATEGORIES\n * - RESOURCES\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising properties\n */\nexport function advertiseMultiValueStringPropertySeparatedByLang(prototype, options) {\n\toptions = getDefaultMultiplePropConfig(options)\n\n\tprototype['get' + ucFirst(options.name) + 'Iterator'] = function * (lang = null) {\n\t\tfor (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n\t\t\tyield * property.getValueIterator()\n\t\t}\n\t}\n\n\tprototype['get' + ucFirst(options.name) + 'List'] = function(lang = null) {\n\t\treturn Array.from(this['get' + ucFirst(options.name) + 'Iterator'](lang))\n\t}\n\n\tprototype['add' + ucFirst(options.name)] = function(value, lang = null) {\n\t\tconst property = this._getFirstOfPropertyByLang(options.iCalendarName, lang)\n\t\tif (property) {\n\t\t\tproperty.addValue(value)\n\t\t} else {\n\t\t\tconst newProperty = new Property(options.iCalendarName, [value])\n\t\t\tif (lang) {\n\t\t\t\tconst languageParameter = new Parameter('LANGUAGE', lang)\n\t\t\t\tnewProperty.setParameter(languageParameter)\n\t\t\t}\n\n\t\t\tthis.addProperty(newProperty)\n\t\t}\n\t}\n\n\tprototype['remove' + ucFirst(options.name)] = function(value, lang = null) {\n\t\tfor (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n\t\t\tif (property.isMultiValue() && property.hasValue(value)) {\n\t\t\t\tif (property.value.length === 1) {\n\t\t\t\t\tthis.deleteProperty(property)\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tproperty.removeValue(value)\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\n\tprototype['clearAll' + ucFirst(options.pluralName)] = function(lang = null) {\n\t\tfor (const property of this._getAllOfPropertyByLang(options.iCalendarName, lang)) {\n\t\t\tthis.deleteProperty(property)\n\t\t}\n\t}\n}\n\n/**\n * advertise a component\n *\n * @param {Object} prototype The object's prototype\n * @param {Object} options The options for advertising components\n */\nexport function advertiseComponent(prototype, options) {\n\toptions = getDefaultMultipleCompConfig(options)\n\n\tprototype['get' + ucFirst(options.name) + 'Iterator'] = function * () {\n\t\tyield * this.getComponentIterator(options.iCalendarName)\n\t}\n\n\tprototype['get' + ucFirst(options.name) + 'List'] = function() {\n\t\treturn Array.from(this['get' + ucFirst(options.name) + 'Iterator']())\n\t}\n\n\tprototype['remove' + ucFirst(options.name)] = function(component) {\n\t\tthis.deleteComponent(component)\n\t}\n\n\tprototype['clearAll' + ucFirst(options.pluralName)] = function() {\n\t\tthis.deleteAllComponents(options.iCalendarName)\n\t}\n}\n\n/**\n * Fill up the options object for advertiseProperty\n *\n * @param {Object|String} options The options object\n * @param {String} options.name Advertised name of the property\n * @param {String=} options.iCalendarName The iCalendar name of the property\n * @param {String[]=} options.allowedValues A list of allowed values\n * @param {String|Number=} options.defaultValue The default value if unset\n * @param {String|Number=} options.unknownValue The fallback value if unknown value\n * @returns {Object}\n */\nfunction getDefaultOncePropConfig(options) {\n\tif (typeof options === 'string') {\n\t\toptions = {\n\t\t\tname: options,\n\t\t}\n\t}\n\n\treturn Object.assign({}, {\n\t\tiCalendarName: uc(options.name),\n\t\tpluralName: options.name + 's',\n\t\tallowedValues: null,\n\t\tdefaultValue: null,\n\t\tunknownValue: null,\n\t}, options)\n}\n\n/**\n * Fill up the options object for advertiseProperty\n *\n * @param {Object|String} options The options object\n * @param {String} options.name Advertised name of property\n * @param {String=} options.iCalendarName The iCalendar name of the property\n * @param {Boolean=} options.customAddMethod Whether or not to use a custom add method\n * @returns {Object}\n */\nfunction getDefaultMultiplePropConfig(options) {\n\tif (typeof options === 'string') {\n\t\toptions = {\n\t\t\tname: options,\n\t\t}\n\t}\n\n\treturn Object.assign({}, {\n\t\tiCalendarName: uc(options.name),\n\t\tpluralName: options.name + 's',\n\t}, options)\n}\n\n/**\n * Fill up the options object for advertiseComponent\n *\n * @param {Object|String} options Options destructuring object\n * @param {String} options.name Advertised name of component\n * @param {String=} options.iCalendarName The iCalendar name of the component\n * @param {Boolean=} options.customAddMethod Whether or not to use a custom add method\n * @returns {Object}\n */\nfunction getDefaultMultipleCompConfig(options) {\n\tif (typeof options === 'string') {\n\t\toptions = {\n\t\t\tname: options,\n\t\t}\n\t}\n\n\treturn Object.assign({}, {\n\t\tiCalendarName: 'V' + uc(options.name),\n\t\tpluralName: options.name + 's',\n\t}, options)\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Gets a new DateObject set to now\n *\n * @returns {Date}\n */\nexport function dateFactory() {\n\treturn new Date()\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default class RecurringWithoutDtStartError extends Error {}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Property from '../properties/property.js'\nimport { uc } from '../helpers/stringHelper.js'\nimport DateTimeValue from '../values/dateTimeValue.js'\nimport ModificationNotAllowedError from '../errors/modificationNotAllowedError.js'\nimport RecurringWithoutDtStartError from '../errors/recurringWithoutDtStartError.js'\nimport PeriodValue from '../values/periodValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class RecurrenceHelper\n * @classdesc\n *\n * TODO: This needs caching\n */\nexport default class RecurrenceManager {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {AbstractRecurringComponent} masterItem The master-item of the recurrence-set\n\t */\n\tconstructor(masterItem) {\n\n\t\t/**\n\t\t *\n\t\t * @type {AbstractRecurringComponent}\n\t\t * @private\n\t\t */\n\t\tthis._masterItem = masterItem\n\n\t\t/**\n\t\t * Set of Recurrence exception items\n\t\t *\n\t\t * Number is the unix time representation of the recurrence ID\n\t\t *\n\t\t * @type {Map<Number, AbstractRecurringComponent>}\n\t\t * @private\n\t\t */\n\t\tthis._recurrenceExceptionItems = new Map()\n\n\t\t/**\n\t\t * A sorted index of recurrence ids with range\n\t\t *\n\t\t * @type {Number[]}\n\t\t * @private\n\t\t */\n\t\tthis._rangeRecurrenceExceptionItemsIndex = []\n\n\t\t/**\n\t\t * Cached difference of dtstart and recurrenceId for recurrence exceptions with range\n\t\t *\n\t\t * @type {Map<Number, DurationValue>}\n\t\t * @private\n\t\t */\n\t\tthis._rangeRecurrenceExceptionItemsDiffCache = new Map()\n\n\t\t/**\n\t\t * Set of Recurrence exception items that have a RANGE of THISANDFUTURE\n\t\t *\n\t\t * Number is the unix time representation of the recurrence ID\n\t\t *\n\t\t * @type {Map<Number, AbstractRecurringComponent>}\n\t\t * @private\n\t\t */\n\t\tthis._rangeRecurrenceExceptionItems = new Map()\n\t}\n\n\t/**\n\t *\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tget masterItem() {\n\t\treturn this._masterItem\n\t}\n\n\t/**\n\t *\n\t * @param {AbstractRecurringComponent} masterItem The master-item of the recurrence-set\n\t */\n\tset masterItem(masterItem) {\n\t\tthis._masterItem = masterItem\n\t}\n\n\t/**\n\t * Gets an iterator over all registered recurrence exceptions of this calendar-document\n\t */\n\t* getRecurrenceExceptionIterator() {\n\t\tyield * this._recurrenceExceptionItems.values()\n\t}\n\n\t/**\n\t * Gets a list of all registered recurrence-exceptions of this calendar-document\n\t *\n\t * @returns {AbstractRecurringComponent[]}\n\t */\n\tgetRecurrenceExceptionList() {\n\t\treturn Array.from(this.getRecurrenceExceptionIterator())\n\t}\n\n\t/**\n\t * Checks if there is a recurrence Exception for a given recurrenceId\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to check\n\t * @returns {boolean}\n\t */\n\thasRecurrenceExceptionForId(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\treturn this._recurrenceExceptionItems.has(recurrenceId)\n\t}\n\n\t/**\n\t * Gets the recurrence exception for a given recurrence Id\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n\t * @returns {AbstractRecurringComponent|null}\n\t */\n\tgetRecurrenceException(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\treturn this._recurrenceExceptionItems.get(recurrenceId) || null\n\t}\n\n\t/**\n\t * Check if there is a recurrence-exception with a range for a given recurrence-id\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to check\n\t * @returns {boolean}\n\t */\n\thasRangeRecurrenceExceptionForId(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\tif (this._rangeRecurrenceExceptionItemsIndex.length === 0) {\n\t\t\treturn false\n\t\t}\n\n\t\treturn this._rangeRecurrenceExceptionItemsIndex[0] < recurrenceId\n\t}\n\n\t/**\n\t * Get recurrence-exception with range that's affecting the given recurrence-id\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n\t * @returns {AbstractRecurringComponent|null}\n\t */\n\tgetRangeRecurrenceExceptionForId(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\tconst index = ICAL.helpers.binsearchInsert(\n\t\t\tthis._rangeRecurrenceExceptionItemsIndex,\n\t\t\trecurrenceId,\n\t\t\t(a, b) => a - b\n\t\t)\n\n\t\tif (index === 0) {\n\t\t\treturn null\n\t\t}\n\n\t\tconst key = this._rangeRecurrenceExceptionItemsIndex[index - 1]\n\t\treturn this._rangeRecurrenceExceptionItems.get(key)\n\t}\n\n\t/**\n\t * Gets the difference between recurrence-id and start\n\t * Mostly needed to handle recurrence-exceptions with range\n\t *\n\t * @param {DateTimeValue|Number} recurrenceId The recurrenceId to get\n\t * @returns {DurationValue|null}\n\t */\n\tgetRangeRecurrenceExceptionDiff(recurrenceId) {\n\t\tif (recurrenceId instanceof DateTimeValue) {\n\t\t\trecurrenceId = recurrenceId.unixTime\n\t\t} else if (recurrenceId instanceof ICAL.Time) {\n\t\t\trecurrenceId = recurrenceId.toUnixTime()\n\t\t}\n\n\t\tif (this._rangeRecurrenceExceptionItemsDiffCache.has(recurrenceId)) {\n\t\t\treturn this._rangeRecurrenceExceptionItemsDiffCache.get(recurrenceId)\n\t\t}\n\n\t\tconst recurrenceException = this.getRangeRecurrenceExceptionForId(recurrenceId)\n\t\tif (!recurrenceException) {\n\t\t\treturn null\n\t\t}\n\n\t\tconst originalRecurrenceId = recurrenceException.recurrenceId\n\t\tconst originalModifiedStart = recurrenceException.startDate\n\n\t\tconst difference = originalModifiedStart.subtractDateWithTimezone(originalRecurrenceId)\n\t\tdifference.lock()\n\n\t\tthis._rangeRecurrenceExceptionItemsDiffCache.set(recurrenceId, difference)\n\t\treturn difference\n\t}\n\n\t/**\n\t * Adds a new recurrence-exception to this calendar-document\n\t *\n\t * @param {AbstractRecurringComponent} recurrenceExceptionItem The recurrence-exception-item to relate to recurrence-set\n\t */\n\trelateRecurrenceException(recurrenceExceptionItem) {\n\t\tthis._modify()\n\t\tconst key = this._getRecurrenceIdKey(recurrenceExceptionItem)\n\n\t\tthis._recurrenceExceptionItems.set(key, recurrenceExceptionItem)\n\t\tif (recurrenceExceptionItem.modifiesFuture()) {\n\t\t\tthis._rangeRecurrenceExceptionItems.set(key, recurrenceExceptionItem)\n\t\t\tconst index = ICAL.helpers.binsearchInsert(\n\t\t\t\tthis._rangeRecurrenceExceptionItemsIndex,\n\t\t\t\tkey,\n\t\t\t\t(a, b) => a - b\n\t\t\t)\n\n\t\t\tthis._rangeRecurrenceExceptionItemsIndex.splice(index, 0, key)\n\t\t}\n\n\t\trecurrenceExceptionItem.recurrenceManager = this\n\t}\n\n\t/**\n\t * Removes a recurrence exception by the item itself\n\t *\n\t * @param {AbstractRecurringComponent} recurrenceExceptionItem The recurrence-exception remove\n\t */\n\tremoveRecurrenceException(recurrenceExceptionItem) {\n\t\tconst key = this._getRecurrenceIdKey(recurrenceExceptionItem)\n\t\tthis.removeRecurrenceExceptionByRecurrenceId(key)\n\t}\n\n\t/**\n\t * Removes a recurrence exception by it's unix-time\n\t *\n\t * @param {Number} recurrenceId The recurrence-exception to remove\n\t */\n\tremoveRecurrenceExceptionByRecurrenceId(recurrenceId) {\n\t\tthis._modify()\n\t\tthis._recurrenceExceptionItems.delete(recurrenceId)\n\t\tthis._rangeRecurrenceExceptionItems.delete(recurrenceId)\n\t\tthis._rangeRecurrenceExceptionItemsDiffCache.delete(recurrenceId)\n\n\t\tconst index = this._rangeRecurrenceExceptionItemsIndex.indexOf(recurrenceId)\n\t\tif (index !== -1) {\n\t\t\tthis._rangeRecurrenceExceptionItemsIndex.splice(index, 1)\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {AbstractRecurringComponent} recurrenceExceptionItem Object to get key from\n\t * @returns {Number}\n\t * @private\n\t */\n\t_getRecurrenceIdKey(recurrenceExceptionItem) {\n\t\treturn recurrenceExceptionItem\n\t\t\t.recurrenceId\n\t\t\t.unixTime\n\t}\n\n\t/**\n\t * Gets an iterator over all recurrence rules\n\t */\n\t* getRecurrenceRuleIterator() {\n\t\tfor (const property of this._masterItem.getPropertyIterator('RRULE')) {\n\t\t\tyield property.getFirstValue()\n\t\t}\n\t}\n\n\t/**\n\t * Gets a list of all recurrence rules\n\t *\n\t * @returns {RecurValue[]}\n\t */\n\tgetRecurrenceRuleList() {\n\t\treturn Array.from(this.getRecurrenceRuleIterator())\n\t}\n\n\t/**\n\t * Adds a new recurrence rule\n\t *\n\t * @param {RecurValue} recurrenceRule The RRULE to add\n\t */\n\taddRecurrenceRule(recurrenceRule) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tconst property = new Property('RRULE', recurrenceRule)\n\t\tthis._masterItem.addProperty(property)\n\t}\n\n\t/**\n\t * Removes a recurrence rule\n\t *\n\t * @param {RecurValue} recurrenceRule The RRULE to remove\n\t */\n\tremoveRecurrenceRule(recurrenceRule) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tfor (const property of this._masterItem.getPropertyIterator('RRULE')) {\n\t\t\tif (property.getFirstValue() === recurrenceRule) {\n\t\t\t\tthis._masterItem.deleteProperty(property)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Removes all recurrence rules\n\t */\n\tclearAllRecurrenceRules() {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tthis._masterItem.deleteAllProperties('RRULE')\n\t}\n\n\t/**\n\t * Gets an iterator over all recurrence\n\t *\n\t * @param {boolean} isNegative Whether or not to get EXDATES\n\t * @param {String} valueType Limit type of EXDATES\n\t */\n\t* getRecurrenceDateIterator(isNegative = false, valueType = null) {\n\t\tfor (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n\t\t\tyield * property.getValueIterator()\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {boolean} isNegative Whether or not to get EXDATES\n\t * @param {String} valueType Limit type of EXDATES\n\t * @returns {(DateTimeValue|PeriodValue)[]}\n\t */\n\tlistAllRecurrenceDates(isNegative = false, valueType = null) {\n\t\treturn Array.from(this.getRecurrenceDateIterator(isNegative, valueType))\n\t}\n\n\t/**\n\t * This adds a new recurrence-date value.\n\t * It automatically adds it to the first property of the same value-type\n\t * or creates a new one if necessary\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {DateTimeValue|PeriodValue} value EXDATE to add\n\t */\n\taddRecurrenceDate(isNegative = false, value) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\t// Only add DateTime Value if its of the same timezone\n\t\tlet timezoneId = null\n\t\tif (value instanceof DateTimeValue && !value.isDate) {\n\t\t\ttimezoneId = value.timezoneId\n\t\t}\n\n\t\tconst valueType = this._getValueTypeByValue(value)\n\t\tconst iterator = this._getPropertiesForRecurrenceDate(isNegative, valueType, timezoneId)\n\n\t\tconst first = iterator.next.value\n\t\tif (first instanceof Property) {\n\t\t\tconst propertyValue = first.value\n\t\t\tpropertyValue.push(value)\n\t\t\tthis.masterItem.markPropertyAsDirty(isNegative ? 'EXDATE' : 'RDATE')\n\t\t} else {\n\t\t\tconst propertyName = this._getPropertyNameByIsNegative(isNegative)\n\t\t\tconst property = new Property(propertyName, value)\n\t\t\tthis._masterItem.addProperty(property)\n\t\t}\n\t}\n\n\t/**\n\t * Checks if a recurrenceID is an RDATE or EXDATE\n\t *\n\t * @param {Boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {DateTimeValue} recurrenceId Recurrence-Id to check\n\t * @returns {boolean}\n\t */\n\thasRecurrenceDate(isNegative = false, recurrenceId) {\n\t\tfor (let value of this.getRecurrenceDateIterator(isNegative)) {\n\t\t\tif (value instanceof PeriodValue) {\n\t\t\t\tvalue = value.start\n\t\t\t}\n\n\t\t\tif (value.compare(recurrenceId) === 0) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t}\n\n\t\treturn false\n\t}\n\n\t/**\n\t *\n\t * @param {Boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {DateTimeValue} recurrenceId Recurrence-Id to get\n\t * @returns {null|DateTimeValue|PeriodValue}\n\t */\n\tgetRecurrenceDate(isNegative = false, recurrenceId) {\n\t\tfor (const value of this.getRecurrenceDateIterator(isNegative)) {\n\t\t\tlet valueToCheck = value\n\t\t\tif (valueToCheck instanceof PeriodValue) {\n\t\t\t\tvalueToCheck = valueToCheck.start\n\t\t\t}\n\n\t\t\tif (valueToCheck.compare(recurrenceId) === 0) {\n\t\t\t\treturn value\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * This deletes a recurrence-date value from this recurrence-set\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {DateTimeValue|PeriodValue} value The EXDATE/RDATE to remove\n\t */\n\tremoveRecurrenceDate(isNegative = false, value) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tconst valueType = this._getValueTypeByValue(value)\n\t\tfor (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n\t\t\tfor (const valueToCheck of property.getValueIterator()) {\n\t\t\t\tif (value === valueToCheck) {\n\t\t\t\t\tconst allValues = property.value\n\n\t\t\t\t\tif (allValues.length === 1) {\n\t\t\t\t\t\tthis.masterItem.deleteProperty(property)\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tconst index = allValues.indexOf(value)\n\t\t\t\t\tallValues.splice(index, 1)\n\t\t\t\t\tthis.masterItem.markPropertyAsDirty(isNegative ? 'EXDATE' : 'RDATE')\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Clears all recurrence-date information\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {String} valueType The type of RDATEs/EXDATEs to remove\n\t */\n\tclearAllRecurrenceDates(isNegative = false, valueType = null) {\n\t\tthis._modify()\n\t\tthis.resetCache()\n\n\t\tfor (const property of this._getPropertiesForRecurrenceDate(isNegative, valueType)) {\n\t\t\tthis._masterItem.deleteProperty(property)\n\t\t}\n\t}\n\n\t/**\n\t * Gets the property name for recurrence dates based on the isNegative boolean\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @returns {string}\n\t * @private\n\t */\n\t_getPropertyNameByIsNegative(isNegative) {\n\t\treturn isNegative\n\t\t\t? 'EXDATE'\n\t\t\t: 'RDATE'\n\t}\n\n\t/**\n\t * Gets the value type based on the provided value\n\t *\n\t * @param {PeriodValue|DateTimeValue} value The value to get type of property from\n\t * @returns {string}\n\t * @private\n\t */\n\t_getValueTypeByValue(value) {\n\t\tif (value instanceof PeriodValue) {\n\t\t\treturn 'PERIOD'\n\t\t} else if (value.isDate) {\n\t\t\treturn 'DATE'\n\t\t} else {\n\t\t\treturn 'DATETIME'\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {boolean} isNegative Whether we are dealing with an EXDATE or RDATE\n\t * @param {String|null} valueType The type of values to get\n\t * @param {ICAL.Timezone=} timezoneId Filter by timezone\n\t * @private\n\t */\n\t* _getPropertiesForRecurrenceDate(isNegative, valueType, timezoneId = null) {\n\t\tconst propertyName = this._getPropertyNameByIsNegative(isNegative)\n\n\t\tfor (const property of this._masterItem.getPropertyIterator(propertyName)) {\n\t\t\tif (valueType === null) {\n\t\t\t\tyield property\n\t\t\t} else if (uc(valueType) === 'PERIOD' && property.getFirstValue() instanceof PeriodValue) {\n\t\t\t\tyield property\n\t\t\t} else if (uc(valueType) === 'DATE' && property.getFirstValue().isDate) {\n\t\t\t\tyield property\n\t\t\t} else if (uc(valueType) === 'DATETIME' && !property.getFirstValue().isDate) {\n\t\t\t\tif (timezoneId === null || property.getFirstValue().timezoneId === timezoneId) {\n\t\t\t\t\tyield property\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the entire set of recurrence rules is finite\n\t *\n\t * @returns {boolean}\n\t */\n\tisFinite() {\n\t\treturn this.getRecurrenceRuleList().every((rule) => rule.isFinite())\n\t}\n\n\t/**\n\t * @returns {boolean}\n\t */\n\tisEmptyRecurrenceSet() {\n\t\treturn this._getRecurExpansionObject().next() === undefined\n\t}\n\n\t/**\n\t * Gets the occurrence at the exact given recurrenceId\n\t *\n\t * @param {DateTimeValue} recurrenceId RecurrenceId to get\n\t * @returns {AbstractRecurringComponent|null}\n\t */\n\tgetOccurrenceAtExactly(recurrenceId) {\n\t\tif (!this.masterItem.isRecurring()) {\n\t\t\tif (this.masterItem.getReferenceRecurrenceId().compare(recurrenceId) === 0) {\n\t\t\t\treturn this.masterItem\n\t\t\t}\n\n\t\t\treturn null\n\t\t}\n\n\t\tconst iterator = this._getRecurExpansionObject()\n\t\tconst icalRecurrenceId = recurrenceId.toICALJs()\n\n\t\tlet next\n\t\twhile ((next = iterator.next())) {\n\t\t\tif (next.compare(icalRecurrenceId) === 0) {\n\t\t\t\t// It's a match 🔥\n\t\t\t\treturn this._getOccurrenceAtRecurrenceId(DateTimeValue.fromICALJs(next))\n\t\t\t}\n\n\t\t\tif (next.compare(icalRecurrenceId) === 1) {\n\t\t\t\t// We hit an occurrence in the future, return null\n\t\t\t\treturn null\n\t\t\t}\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Gets the closest occurrence to the given recurrenceId.\n\t * That's either the closest in the future, or in case the\n\t * recurrence-set ends before recurrenceId, the last one\n\t *\n\t * This function works solely on the basis of recurrence-ids.\n\t * It ignores the actual date of recurrence-exceptions.\n\t * Ideally we should fix it and provide a similar implementation\n\t * like getAllOccurrencesBetweenIterator, but for now it's the\n\t * accepted behavior.\n\t *\n\t * @param {DateTimeValue} recurrenceId RecurrenceId to get\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tgetClosestOccurrence(recurrenceId) {\n\t\tif (!this.masterItem.isRecurring()) {\n\t\t\treturn this.masterItem\n\t\t}\n\n\t\tconst iterator = this._getRecurExpansionObject()\n\t\trecurrenceId = recurrenceId.toICALJs()\n\n\t\tlet previous = null\n\t\tlet next\n\t\twhile ((next = iterator.next())) {\n\t\t\tif (next.compare(recurrenceId) === -1) {\n\t\t\t\tprevious = next\n\t\t\t} else {\n\t\t\t\t// This is the case when it's either equal or in the future\n\t\t\t\tconst dateTimeValue = DateTimeValue.fromICALJs(next)\n\t\t\t\treturn this._getOccurrenceAtRecurrenceId(dateTimeValue)\n\t\t\t}\n\t\t}\n\n\t\tconst dateTimeValue = DateTimeValue.fromICALJs(previous)\n\t\treturn this._getOccurrenceAtRecurrenceId(dateTimeValue)\n\t}\n\n\t/**\n\t * Get all occurrences between start and end\n\t * Start and End are inclusive\n\t *\n\t * @param {DateTimeValue} queriedTimeRangeStart Start of time-range\n\t * @param {DateTimeValue} queriedTimeRangeEnd End of time-range\n\t */\n\t* getAllOccurrencesBetweenIterator(queriedTimeRangeStart, queriedTimeRangeEnd) {\n\t\tif (!this.masterItem.isRecurring()) {\n\t\t\tif (typeof this.masterItem.isInTimeFrame !== 'function') {\n\t\t\t\tyield this.masterItem\n\t\t\t}\n\t\t\tif (this.masterItem.isInTimeFrame(queriedTimeRangeStart, queriedTimeRangeEnd)) {\n\t\t\t\tyield this.masterItem\n\t\t\t}\n\n\t\t\treturn\n\t\t}\n\n\t\tconst iterator = this._getRecurExpansionObject()\n\t\tconst queriedICALJsTimeRangeStart = queriedTimeRangeStart.toICALJs()\n\t\tconst queriedICALJsTimeRangeEnd = queriedTimeRangeEnd.toICALJs()\n\n\t\tconst recurrenceIdKeys = Array.from(this._recurrenceExceptionItems.keys())\n\t\tconst maximumRecurrenceId = Math.max.apply(Math, recurrenceIdKeys)\n\n\t\tlet next\n\t\twhile ((next = iterator.next())) {\n\t\t\t// We have to get the real occurrence to resolve RECURRENCE-IDs\n\t\t\tconst dateTimeValue = DateTimeValue.fromICALJs(next)\n\t\t\tconst occurrence = this._getOccurrenceAtRecurrenceId(dateTimeValue)\n\n\t\t\t// Check what type of recurrence object we are dealing with\n\t\t\t// Depending on that, the time to compare to changes\n\t\t\t// If we are dealing events, we have to compare to the end-date\n\t\t\t// If we are dealing with tasks, we will have to compare to the due-date\n\t\t\t// etc.\n\t\t\t// For now we are only implementing events, other components will come later\n\t\t\tlet compareDate = null\n\t\t\tswitch (uc(occurrence.name)) {\n\t\t\tcase 'VEVENT':\n\t\t\tcase 'VTODO':\n\t\t\t\tcompareDate = occurrence.endDate.toICALJs()\n\t\t\t\tbreak\n\n\t\t\tcase 'VJOURNAL':\n\t\t\tdefault:\n\t\t\t\tcompareDate = next\n\t\t\t\tbreak\n\t\t\t}\n\n\t\t\t// If the date we are comparing to is before our time-range,\n\t\t\t// we don't want to yield this event\n\t\t\tif (compareDate.compare(queriedICALJsTimeRangeStart) === -1) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// If we have an object that is:\n\t\t\t// 1. either\n\t\t\t// 1.1 - no recurrence exception\n\t\t\t// or\n\t\t\t// 1.2 - a recurrence-exception that modifies the future\n\t\t\t// and\n\t\t\t// 2. starts after the queried time-range ends, then we stop expanding\n\t\t\tconst startDate = occurrence.startDate.toICALJs()\n\t\t\tif ((!occurrence.isRecurrenceException() || occurrence.modifiesFuture()) && startDate.compare(queriedICALJsTimeRangeEnd) === 1) {\n\t\t\t\t// Just break if there are no recurrence-exceptions\n\t\t\t\tif (this._recurrenceExceptionItems.size === 0) {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\n\t\t\t\t// Keep iterating until our currently checked recurrenceId\n\t\t\t\t// is bigger than the maximum recurrence-id that we have.\n\t\t\t\tif (next.toUnixTime() > maximumRecurrenceId) {\n\t\t\t\t\tbreak\n\t\t\t\t} else {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (typeof occurrence.isInTimeFrame !== 'function') {\n\t\t\t\tyield occurrence\n\t\t\t}\n\t\t\tif (occurrence.isInTimeFrame(queriedTimeRangeStart, queriedTimeRangeEnd)) {\n\t\t\t\tyield occurrence\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get all occurrences between start and end\n\t *\n\t * @param {DateTimeValue} start Start of time-range\n\t * @param {DateTimeValue} end End of time-range\n\t * @returns {(*|null)[]}\n\t */\n\tgetAllOccurrencesBetween(start, end) {\n\t\treturn Array.from(this.getAllOccurrencesBetweenIterator(start, end))\n\t}\n\n\t/**\n\t * Update the UID of all components in the recurrence set\n\t *\n\t * @param {String} newUID The new UID of the calendar-document\n\t */\n\tupdateUID(newUID) {\n\t\tthis._masterItem.updatePropertyWithValue('UID', newUID)\n\n\t\tfor (const recurrenceExceptionItem of this.getRecurrenceExceptionIterator()) {\n\t\t\trecurrenceExceptionItem.updatePropertyWithValue('UID', newUID)\n\t\t}\n\t}\n\n\t/**\n\t * Updates the recurrence-information accordingly,\n\t * whenever the start-date of the master-item changes\n\t *\n\t * @param {DateTimeValue} newStartDate The new start-date\n\t * @param {DateTimeValue} oldStartDate The old start-date\n\t */\n\tupdateStartDateOfMasterItem(newStartDate, oldStartDate) {\n\t\tconst difference = newStartDate.subtractDateWithTimezone(oldStartDate)\n\n\t\t// update EXDATE\n\t\tfor (const exdate of this.getRecurrenceDateIterator(true)) {\n\t\t\t// If this EXDATE matches an RDATE, don't update, because we don't update RDATEs\n\t\t\tif (this.hasRecurrenceDate(false, exdate)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\t// EXDATE are always either DATE or DATETIME,\n\t\t\t// no need to check for PERIOD\n\t\t\texdate.addDuration(difference)\n\t\t}\n\n\t\tfor (const recurrenceException of this.getRecurrenceExceptionIterator()) {\n\t\t\t// We don't edit RDATES, so don't update recurrence-ids if they\n\t\t\t// are based on an RDATE\n\t\t\tif (this.hasRecurrenceDate(false, recurrenceException.recurrenceId)) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tthis.removeRecurrenceException(recurrenceException)\n\t\t\trecurrenceException.recurrenceId.addDuration(difference)\n\t\t\tthis.relateRecurrenceException(recurrenceException)\n\t\t}\n\n\t\t// update UNTIL of recurrence-rules\n\t\tfor (const rrule of this.getRecurrenceRuleIterator()) {\n\t\t\tif (rrule.until) {\n\t\t\t\trrule.until.addDuration(difference)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Gets an object for the given recurrenceId\n\t * It does not verify that the given recurrenceId\n\t * is actually a valid recurrence of this calendar-document\n\t *\n\t * @param {DateTimeValue} recurrenceId Recurrence-Id to get\n\t * @returns {AbstractRecurringComponent}\n\t * @private\n\t */\n\t_getOccurrenceAtRecurrenceId(recurrenceId) {\n\t\tif (this.hasRecurrenceExceptionForId(recurrenceId)) {\n\t\t\tconst recurrenceException = this.getRecurrenceException(recurrenceId)\n\n\t\t\tif (!recurrenceException.canCreateRecurrenceExceptions()) {\n\t\t\t\treturn recurrenceException\n\t\t\t}\n\n\t\t\treturn recurrenceException\n\t\t\t\t.forkItem(recurrenceId)\n\t\t} else if (this.hasRangeRecurrenceExceptionForId(recurrenceId)) {\n\t\t\tconst rangeRecurrenceException = this.getRangeRecurrenceExceptionForId(recurrenceId)\n\t\t\tconst difference = this.getRangeRecurrenceExceptionDiff(recurrenceId)\n\n\t\t\treturn rangeRecurrenceException\n\t\t\t\t.forkItem(recurrenceId, difference)\n\t\t} else if (recurrenceId.compare(this._masterItem.startDate) === 0) {\n\t\t\tif (!this._masterItem.canCreateRecurrenceExceptions()) {\n\t\t\t\treturn this._masterItem\n\t\t\t}\n\n\t\t\treturn this._masterItem\n\t\t\t\t.forkItem(recurrenceId)\n\t\t} else {\n\t\t\treturn this._masterItem\n\t\t\t\t.forkItem(recurrenceId)\n\t\t}\n\t}\n\n\t/**\n\t * Resets the internal recur-expansion object.\n\t * This is necessary after each modification of the\n\t * recurrence-information\n\t */\n\tresetCache() {\n\t\t// TODO - implement me\n\t}\n\n\t/**\n\t * Gets a new ICAL.RecurExpansion object\n\t *\n\t * Inspired by how ICAL.JS RecurExpansion\n\t * serialises and unserialises its state\n\t *\n\t * @returns {ICAL.RecurExpansion}\n\t * @private\n\t */\n\t_getRecurExpansionObject() {\n\t\tif (this._masterItem.startDate === null) {\n\t\t\tthrow new RecurringWithoutDtStartError()\n\t\t}\n\n\t\tconst dtstart = this._masterItem.startDate.toICALJs()\n\t\tlet last = dtstart.clone()\n\t\tconst ruleIterators = []\n\t\tlet ruleDateInc\n\t\tconst ruleDates = []\n\t\tlet ruleDate = null\n\t\tconst exDates = []\n\t\tconst complete = false\n\n\t\tfor (const ruleValue of this.getRecurrenceRuleIterator()) {\n\t\t\truleIterators.push(ruleValue.toICALJs().iterator(dtstart))\n\t\t\truleIterators[ruleIterators.length - 1].next()\n\t\t}\n\n\t\tfor (let rDateValue of this.getRecurrenceDateIterator()) {\n\t\t\tif (rDateValue instanceof PeriodValue) {\n\t\t\t\trDateValue = rDateValue.start\n\t\t\t}\n\n\t\t\trDateValue = rDateValue.toICALJs()\n\t\t\tconst index = ICAL.helpers.binsearchInsert(\n\t\t\t\truleDates,\n\t\t\t\trDateValue,\n\t\t\t\t(a, b) => a.compare(b)\n\t\t\t)\n\n\t\t\truleDates.splice(index, 0, rDateValue)\n\t\t}\n\n\t\t// Is the first RDATE prior to our current DTSTART?\n\t\tif (ruleDates.length > 0 && ruleDates[0].compare(dtstart) === -1) {\n\t\t\truleDateInc = 0\n\t\t\tlast = ruleDates[0].clone()\n\t\t} else {\n\t\t\truleDateInc = ICAL.helpers.binsearchInsert(\n\t\t\t\truleDates,\n\t\t\t\tdtstart,\n\t\t\t\t(a, b) => a.compare(b)\n\t\t\t)\n\t\t\truleDate = exDates[ruleDateInc]\n\t\t}\n\n\t\tfor (let exDateValue of this.getRecurrenceDateIterator(true)) {\n\t\t\texDateValue = exDateValue.toICALJs()\n\t\t\tconst index = ICAL.helpers.binsearchInsert(\n\t\t\t\texDates,\n\t\t\t\texDateValue,\n\t\t\t\t(a, b) => a.compare(b)\n\t\t\t)\n\t\t\texDates.splice(index, 0, exDateValue)\n\t\t}\n\n\t\tconst exDateInc = ICAL.helpers.binsearchInsert(\n\t\t\texDates,\n\t\t\tdtstart,\n\t\t\t(a, b) => a.compare(b)\n\t\t)\n\t\tconst exDate = exDates[exDateInc]\n\n\t\treturn new ICAL.RecurExpansion({\n\t\t\tdtstart,\n\t\t\tlast,\n\t\t\truleIterators,\n\t\t\truleDateInc,\n\t\t\texDateInc,\n\t\t\truleDates,\n\t\t\truleDate,\n\t\t\texDates,\n\t\t\texDate,\n\t\t\tcomplete,\n\t\t})\n\t}\n\n\t/**\n\t * @private\n\t */\n\t_modify() {\n\t\tif (this._masterItem.isLocked()) {\n\t\t\tthrow new ModificationNotAllowedError()\n\t\t}\n\t}\n\n}\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport Timezone from '../../timezones/timezone.js'\n\n/**\n * @class TimezoneComponent\n * @classdesc\n *\n * There are no advertised properties / components for the TimezoneComponent,\n * since we don't care about it.\n * Editing / accessing the timezone information directly is not a use-case\n * All the timezone-handling is done by the underlying ICAL.JS\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.5\n */\nexport default class TimezoneComponent extends AbstractComponent {\n\n\t/**\n\t * Returns a calendar-js Timezone object\n\t *\n\t * @returns {Timezone}\n\t */\n\ttoTimezone() {\n\t\treturn new Timezone(this.toICALJs())\n\t}\n\n}\n\n/**\n * The timezoneId of this timezone-component\n *\n * @name TimezoneComponent#timezoneId\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(TimezoneComponent.prototype, {\n\tname: 'timezoneId',\n\tiCalendarName: 'tzid',\n})\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport TimezoneComponent from '../components/root/timezoneComponent.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class Timezone\n */\nexport default class Timezone {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {String|ICAL.Timezone|ICAL.Component} timezoneId Id of the timezone\n\t * @param {String?} ics The iCalendar timezone definition\n\t */\n\tconstructor(timezoneId, ics) {\n\n\t\t/**\n\t\t * Id of the timezone, used before initialising\n\t\t *\n\t\t * @type {String}\n\t\t * @private\n\t\t */\n\t\tthis._timezoneId = null\n\n\t\t/**\n\t\t * ICS representation of the timezone, used before initialising\n\t\t *\n\t\t * @type {String}\n\t\t * @private\n\t\t */\n\t\tthis._ics = null\n\n\t\t/**\n\t\t * @type {ICAL.Timezone|null}\n\t\t */\n\t\tthis._innerValue = null\n\n\t\t/**\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._initialized = false\n\n\t\t// If the first parameter is already\n\t\t// an instance of ICAL.Timezone,\n\t\t// skip lazy loading\n\t\tif (timezoneId instanceof ICAL.Timezone) {\n\t\t\tthis._innerValue = timezoneId\n\t\t\tthis._initialized = true\n\t\t} else if (timezoneId instanceof ICAL.Component) {\n\t\t\tthis._innerValue = new ICAL.Timezone(timezoneId)\n\t\t\tthis._initialized = true\n\t\t} else {\n\t\t\tthis._timezoneId = timezoneId\n\t\t\tthis._ics = ics\n\t\t}\n\t}\n\n\t/**\n\t * Gets the timezone id\n\t *\n\t * @returns {String}\n\t */\n\tget timezoneId() {\n\t\tif (this._initialized) {\n\t\t\treturn this._innerValue.tzid\n\t\t}\n\n\t\treturn this._timezoneId\n\t}\n\n\t/**\n\t * Gets the UTC Offset for a given date in this timezone\n\t *\n\t * @param {Number} year Year of the date\n\t * @param {Number} month Month of the date (1-based)\n\t * @param {Number} day Day of the date\n\t * @param {Number} hour Hour of the date\n\t * @param {Number} minute Minute of the date\n\t * @param {Number} second Second of the date\n\t * @returns {Number}\n\t */\n\toffsetForArray(year, month, day, hour, minute, second) {\n\t\tthis._initialize()\n\n\t\tconst time = new ICAL.Time({\n\t\t\tyear,\n\t\t\tmonth,\n\t\t\tday,\n\t\t\thour,\n\t\t\tminute,\n\t\t\tsecond,\n\t\t\tisDate: false,\n\t\t})\n\t\treturn this._innerValue.utcOffset(time)\n\t}\n\n\t/**\n\t * Converts a timestamp to an array of year, month, day, hour, minute, second.\n\t *\n\t * @param {Number} ms Timestamp in milliseconds\n\t * @returns {Number[]}\n\t */\n\ttimestampToArray(ms) {\n\t\tthis._initialize()\n\n\t\t// just create a dummy object because fromUnixTime is not exposed on ICAL.Time\n\t\tconst time = ICAL.Time.fromData({\n\t\t\tyear: 1970,\n\t\t\tmonth: 1,\n\t\t\tday: 1,\n\t\t\thour: 0,\n\t\t\tminute: 0,\n\t\t\tsecond: 0,\n\t\t})\n\t\ttime.fromUnixTime(Math.floor(ms / 1000))\n\n\t\tconst local = time.convertToZone(this._innerValue)\n\t\treturn [\n\t\t\tlocal.year,\n\t\t\tlocal.month, // THIS is 1-based !\n\t\t\tlocal.day,\n\t\t\tlocal.hour,\n\t\t\tlocal.minute,\n\t\t\tlocal.second,\n\t\t]\n\t}\n\n\t/**\n\t *\n\t * @returns {TimezoneComponent}\n\t */\n\ttoTimezoneComponent() {\n\t\treturn TimezoneComponent.fromICALJs(this.toICALJs())\n\t}\n\n\t/**\n\t * Returns\n\t *\n\t * @returns {ICAL.Timezone}\n\t */\n\ttoICALTimezone() {\n\t\tthis._initialize()\n\t\treturn this._innerValue\n\t}\n\n\t/**\n\t * Returns the corresponding ICAL.\n\t *\n\t * @returns {ICAL.Component}\n\t */\n\ttoICALJs() {\n\t\tthis._initialize()\n\t\treturn this._innerValue.component\n\t}\n\n\t/**\n\t * Initialises the inner ICAL.Timezone component\n\t *\n\t * @private\n\t */\n\t_initialize() {\n\t\tif (!this._initialized) {\n\t\t\tconst jCal = ICAL.parse(this._ics)\n\t\t\tconst icalComp = new ICAL.Component(jCal)\n\t\t\tthis._innerValue = new ICAL.Timezone(icalComp)\n\t\t\tthis._initialized = true\n\t\t}\n\t}\n\n}\n\nTimezone.utc = new Timezone(ICAL.Timezone.utcTimezone)\nTimezone.floating = new Timezone(ICAL.Timezone.localTimezone)\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport AttendeeProperty from '../../properties/attendeeProperty.js'\nimport TriggerProperty from '../../properties/triggerProperty.js'\n\n/**\n * @class AlarmComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.6\n */\nexport default class AlarmComponent extends AbstractComponent {\n\n\t/**\n\t * Adds a new attendee based on their name and email-address\n\t *\n\t * @param {String} name - Name of the attendee\n\t * @param {String} email - E-Mail address of the attendee\n\t * @returns {boolean}\n\t */\n\taddAttendeeFromNameAndEMail(name, email) {\n\t\tconst attendeeProperty = AttendeeProperty.fromNameAndEMail(name, email)\n\t\treturn this.addProperty(attendeeProperty)\n\t}\n\n\t/**\n\t * Gets the trigger property\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.3\n\t *\n\t * @returns {TriggerProperty}\n\t */\n\tget trigger() {\n\t\treturn this.getFirstProperty('TRIGGER')\n\t}\n\n\t/**\n\t * Sets an absolute alarm\n\t *\n\t * @param {DateTimeValue} alarmTime - Absolute time for the trigger\n\t */\n\tsetTriggerFromAbsolute(alarmTime) {\n\t\tconst triggerProperty = TriggerProperty.fromAbsolute(alarmTime)\n\t\tthis.deleteAllProperties('TRIGGER')\n\t\tthis.addProperty(triggerProperty)\n\t}\n\n\t/**\n\t * Sets a relative trigger\n\t *\n\t * @param {DurationValue} alarmOffset - Relative time of the trigger, either related to start or end\n\t * @param {Boolean=} relatedToStart - Related to Start or end?\n\t */\n\tsetTriggerFromRelative(alarmOffset, relatedToStart = true) {\n\t\tconst triggerProperty = TriggerProperty.fromRelativeAndRelated(alarmOffset, relatedToStart)\n\t\tthis.deleteAllProperties('TRIGGER')\n\t\tthis.addProperty(triggerProperty)\n\t}\n\n}\n\n/**\n * Action to be taken when this Alarm is due\n * Possible values:\n * - AUDIO\n * - DISPLAY\n * - EMAIL\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.1\n *\n * @name AlarmComponent#action\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'action')\n\n/**\n * Description for this alarm\n * Can only be used in combination with action DISPLAY and EMAIL\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name AlarmComponent#description\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'description')\n\n/**\n * Summary for this alarm\n * Can only be used in combination with action EMAIL\n * Will be used as the EMAIL's subject\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.12\n *\n * @name AlarmComponent#summary\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'summary')\n\n/**\n * The duration specifies the delay period between repeated alarms.\n * This property must be specified along with the repeat property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.5\n *\n * @name AlarmComponent#duration\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'duration')\n\n/**\n * The number of times an alarm should be repeated.\n * This property must be specified along with the duration property\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.6.2\n *\n * @name AlarmComponent#repeat\n * @type {Number}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, 'repeat')\n\n/**\n * This attachment points to a sound file, can only be used in combination\n * with ACTION AUDIO\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.1\n *\n * @name AlarmComponent#attachment\n * @type {AttachmentProperty}\n */\nadvertiseSingleOccurrenceProperty(AlarmComponent.prototype, {\n\tname: 'attachment',\n\tiCalendarName: 'ATTACH',\n})\n\n/**\n * Get an iterator over all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator<AttendeeProperty>}\n */\n\n/**\n * Get a list of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#getAttendeeList\n * @function\n * @returns {AttendeeProperty[]}\n */\n\n/**\n * Adds a new attendee to this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#addAttendee\n * @function\n * @param {AttendeeProperty} attendee - The attendee object to add\n */\n\n/**\n * Removes an attendee from this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee - The attendee object to remove\n */\n\n/**\n * Removes all attendees from this alarm-component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name AlarmComponent#clearAllAttendees\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AlarmComponent.prototype, 'attendee')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseComponent,\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseMultiValueStringPropertySeparatedByLang,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport DateTimeValue from '../../values/dateTimeValue.js'\nimport DurationValue from '../../values/durationValue.js'\nimport PeriodValue from '../../values/periodValue.js'\nimport { dateFactory } from '../../factories/dateFactory.js'\nimport { uc } from '../../helpers/stringHelper.js'\nimport RecurrenceManager from '../../recurrence/recurrenceManager.js'\nimport { v4 as uuid } from 'uuid'\nimport RelationProperty from '../../properties/relationProperty.js'\nimport AttendeeProperty from '../../properties/attendeeProperty.js'\nimport Timezone from '../../timezones/timezone.js'\nimport RequestStatusProperty from '../../properties/requestStatusProperty.js'\nimport AttachmentProperty from '../../properties/attachmentProperty.js'\nimport ImageProperty from '../../properties/imageProperty.js'\nimport TextProperty from '../../properties/textProperty.js'\nimport AlarmComponent from '../nested/alarmComponent.js'\nimport TriggerProperty from '../../properties/triggerProperty.js'\nimport { getConfig } from '../../config.js'\nimport { getConstructorForComponentName } from '../nested'\n\n/**\n * @class AbstractRecurringComponent\n * @classdesc AbstractRecurringComponent is the basis for\n * EventComponent, JournalComponent and TodoComponent.\n *\n * It contains all the logic for recurrence-expansion and\n * recurrence-management plus all management for all\n * properties and all subcomponents that the three\n * components mentioned before have in common\n */\nexport default class AbstractRecurringComponent extends AbstractComponent {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(...args) {\n\t\tsuper(...args)\n\n\t\t/**\n\t\t * In case this object is virtual, primary item refers to the master object\n\t\t * that this object was forked from.\n\t\t *\n\t\t * Otherwise primary item is null\n\t\t *\n\t\t * @type {AbstractRecurringComponent}\n\t\t * @private\n\t\t */\n\t\tthis._primaryItem = null\n\n\t\t/**\n\t\t * Indicator whether this is a direct fork of a primary item, representing\n\t\t * the very same recurrence id\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._isExactForkOfPrimary = false\n\n\t\t/**\n\t\t * The original recurrence-id of this occurrence.\n\t\t * Mostly needed for range exceptions with a range\n\t\t *\n\t\t * @type {DateTimeValue|null}\n\t\t * @private\n\t\t */\n\t\tthis._originalRecurrenceId = null\n\n\t\t/**\n\t\t * Instance of the recurrence manager.\n\t\t * This object is shared among all instances\n\t\t * of a recurrence-set\n\t\t *\n\t\t * @type {RecurrenceManager}\n\t\t * @private\n\t\t */\n\t\tthis._recurrenceManager = null\n\n\t\t/**\n\t\t * Indicator whether this component was modified\n\t\t * In case it was, the last-modified property\n\t\t * needs to be updated before saving the event\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._dirty = false\n\n\t\t/**\n\t\t * Indicator whether there have been significant changes\n\t\t * In case the changes are considered significant,\n\t\t * the sequence needs to be incremented\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._significantChange = false\n\n\t\t/**\n\t\t * Id of this AbstractRecurringComponent\n\t\t *\n\t\t * @type {String|null}\n\t\t * @private\n\t\t */\n\t\tthis._cachedId = null\n\t}\n\n\t/**\n\t * Gets the primary-item of this recurring item\n\t *\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tget primaryItem() {\n\t\treturn this._primaryItem\n\t}\n\n\t/**\n\t * Sets the primary-item of this recurring item\n\t *\n\t * @param {AbstractRecurringComponent} primaryItem The new primary-item\n\t */\n\tset primaryItem(primaryItem) {\n\t\tthis._modify()\n\t\tthis._primaryItem = primaryItem\n\t}\n\n\t/**\n\t * Gets whether or not this is a fork of the primary item\n\t * for the same recurrence-id\n\t *\n\t * @returns {boolean}\n\t */\n\tget isExactForkOfPrimary() {\n\t\treturn this._isExactForkOfPrimary\n\t}\n\n\t/**\n\t * Sets the isExactForkOfPrimary indicator, see getter for description\n\t *\n\t * @param {boolean} isExactForkOfPrimary Whether or not this is an exact fork\n\t */\n\tset isExactForkOfPrimary(isExactForkOfPrimary) {\n\t\tthis._isExactForkOfPrimary = isExactForkOfPrimary\n\t}\n\n\t/**\n\t * Gets the original recurrence-id\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget originalRecurrenceId() {\n\t\treturn this._originalRecurrenceId\n\t}\n\n\t/**\n\t * Sets the original recurrence-id\n\t *\n\t * @param {DateTimeValue} originalRecurrenceId The new original recurrence-id\n\t */\n\tset originalRecurrenceId(originalRecurrenceId) {\n\t\tthis._originalRecurrenceId = originalRecurrenceId\n\t}\n\n\t/**\n\t * Gets the recurrence-manager of this recurrence-set\n\t *\n\t * @returns {RecurrenceManager}\n\t */\n\tget recurrenceManager() {\n\t\treturn this._recurrenceManager\n\t}\n\n\t/**\n\t * Sets the recurrence-manager of this recurrence-set\n\t *\n\t * @param {RecurrenceManager} recurrenceManager The new recurrence-manager\n\t */\n\tset recurrenceManager(recurrenceManager) {\n\t\tthis._recurrenceManager = recurrenceManager\n\t}\n\n\t/**\n\t * Gets the master-item of this recurring item\n\t *\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tget masterItem() {\n\t\treturn this.recurrenceManager.masterItem\n\t}\n\n\t/**\n\t * Returns whether this item is the master item\n\t *\n\t * @returns {boolean}\n\t */\n\tisMasterItem() {\n\t\treturn this.masterItem === this\n\t}\n\n\t/**\n\t * Gets a unique ID for this occurrence of the event\n\t *\n\t * Please note that if the same event occurs in multiple calendars,\n\t * this id will not be unique. Software using this library will have to\n\t * manually mix in the calendar id into this id\n\t *\n\t * @returns {String}\n\t */\n\tget id() {\n\t\tif (this._cachedId) {\n\t\t\treturn this._cachedId\n\t\t}\n\n\t\tif (this.startDate === null) {\n\t\t\tthis._cachedId = encodeURIComponent(this.uid)\n\t\t\treturn this._cachedId\n\t\t}\n\n\t\tthis._cachedId = [\n\t\t\tencodeURIComponent(this.uid),\n\t\t\tencodeURIComponent(this.getReferenceRecurrenceId().unixTime.toString()),\n\t\t].join('###')\n\n\t\treturn this._cachedId\n\t}\n\n\t/**\n\t * Gets the UID property\n\t *\n\t * @returns {String|null}\n\t */\n\tget uid() {\n\t\treturn this.getFirstPropertyFirstValue('UID')\n\t}\n\n\t/**\n\t * Sets the UID property and the UID property of all related exceptions\n\t *\n\t * @param {String} uid The new UID\n\t */\n\tset uid(uid) {\n\t\tthis._recurrenceManager.updateUID(uid)\n\t}\n\n\t/**\n\t * Gets the start date of the event\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget startDate() {\n\t\treturn this.getFirstPropertyFirstValue('dtstart')\n\t}\n\n\t/**\n\t * Sets the start date of the event\n\t *\n\t * @param {DateTimeValue} start The new start-date to set\n\t */\n\tset startDate(start) {\n\t\tconst oldStartDate = this.startDate\n\t\tthis.updatePropertyWithValue('dtstart', start)\n\n\t\tif (this.isMasterItem()) {\n\t\t\tthis._recurrenceManager.updateStartDateOfMasterItem(start, oldStartDate)\n\t\t}\n\t}\n\n\t/**\n\t * Checks whether this item is part of a recurring set\n\t *\n\t * @returns {boolean}\n\t */\n\tisPartOfRecurrenceSet() {\n\t\treturn this.masterItem.isRecurring()\n\t}\n\n\t/**\n\t * Checks whether this component is recurring\n\t *\n\t * @returns {boolean}\n\t */\n\tisRecurring() {\n\t\treturn this.hasProperty('RRULE') || this.hasProperty('RDATE')\n\t}\n\n\t/**\n\t * Checks whether this component is a recurrence-exception\n\t *\n\t * @returns {boolean}\n\t */\n\tisRecurrenceException() {\n\t\treturn this.hasProperty('RECURRENCE-ID')\n\t}\n\n\t/**\n\t * Checks wether this component is a recurrence-exception\n\t * and whether it's modifying the future\n\t *\n\t * @returns {boolean}\n\t */\n\tmodifiesFuture() {\n\t\tif (!this.isRecurrenceException()) {\n\t\t\treturn false\n\t\t}\n\n\t\tconst property = this.getFirstProperty('RECURRENCE-ID')\n\t\treturn property.getParameterFirstValue('RANGE') === 'THISANDFUTURE'\n\t}\n\n\t/**\n\t * Creates an occurrence at the given time\n\t *\n\t * This is an internal function for calendar-js, used by the recurrence-manager\n\t * Do not call from outside\n\t *\n\t * @param {DateTimeValue} recurrenceId The recurrence-Id of the forked item\n\t * @param {DurationValue=} startDiff to be used when The start-diff (used for RECURRENCE-ID;RANGE=THISANDFUTURE)\n\t * @returns {AbstractRecurringComponent}\n\t */\n\tforkItem(recurrenceId, startDiff = null) {\n\t\tconst occurrence = this.clone()\n\n\t\toccurrence.recurrenceManager = this.recurrenceManager\n\t\toccurrence.primaryItem = this\n\n\t\t// Exact match for master item or recurrence-exception\n\t\tif (occurrence.getReferenceRecurrenceId().compare(recurrenceId) === 0) {\n\t\t\toccurrence.isExactForkOfPrimary = true\n\t\t}\n\n\t\tif (!occurrence.hasProperty('DTSTART')) {\n\t\t\tthrow new TypeError('Can\\'t fork item without a DTSTART')\n\t\t}\n\n\t\tif (occurrence.getFirstPropertyFirstValue('DTSTART').timezoneId !== recurrenceId.timezoneId) {\n\t\t\tconst originalTimezone = occurrence.getFirstPropertyFirstValue('DTSTART').getICALTimezone()\n\t\t\trecurrenceId = recurrenceId.getInICALTimezone(originalTimezone)\n\t\t}\n\n\t\toccurrence.originalRecurrenceId = recurrenceId.clone()\n\n\t\tconst dtStartValue = occurrence.getFirstPropertyFirstValue('DTSTART')\n\n\t\tlet period = null\n\t\tif (this._recurrenceManager.hasRecurrenceDate(false, recurrenceId)) {\n\t\t\tconst recurrenceDate = this._recurrenceManager.getRecurrenceDate(false, recurrenceId)\n\t\t\tif (recurrenceDate instanceof PeriodValue) {\n\t\t\t\tperiod = recurrenceDate\n\t\t\t}\n\t\t}\n\n\t\tlet duration\n\t\tif (occurrence.hasProperty('DTEND')) {\n\t\t\tconst dtEndValue = occurrence.getFirstPropertyFirstValue('DTEND')\n\t\t\tduration = dtEndValue.subtractDateWithTimezone(dtStartValue)\n\t\t} else if (occurrence.hasProperty('DUE')) {\n\t\t\tconst dueValue = occurrence.getFirstPropertyFirstValue('DUE')\n\t\t\tduration = dueValue.subtractDateWithTimezone(dtStartValue)\n\t\t}\n\n\t\tif (!(occurrence.isRecurrenceException() && occurrence.isExactForkOfPrimary)) {\n\t\t\toccurrence.updatePropertyWithValue('DTSTART', recurrenceId.clone())\n\n\t\t\tif (startDiff) {\n\t\t\t\toccurrence.startDate.addDuration(startDiff)\n\t\t\t}\n\n\t\t\tif (occurrence.hasProperty('DTEND')) {\n\t\t\t\tconst dtEnd = occurrence.startDate.clone()\n\t\t\t\tdtEnd.addDuration(duration)\n\t\t\t\toccurrence.updatePropertyWithValue('DTEND', dtEnd)\n\t\t\t} else if (occurrence.hasProperty('DUE')) {\n\t\t\t\tconst due = occurrence.startDate.clone()\n\t\t\t\tdue.addDuration(duration)\n\t\t\t\toccurrence.updatePropertyWithValue('DUE', due)\n\t\t\t}\n\n\t\t\tif (period) {\n\t\t\t\toccurrence.deleteAllProperties('DTEND')\n\t\t\t\toccurrence.deleteAllProperties('DURATION')\n\n\t\t\t\toccurrence.updatePropertyWithValue('DTEND', period.end.clone())\n\t\t\t}\n\t\t}\n\n\t\toccurrence.resetDirty()\n\n\t\treturn occurrence\n\t}\n\n\t/**\n\t * Checks whether it's possible to create a recurrence exception for this event\n\t * It is possible\n\t *\n\t * @returns {boolean}\n\t */\n\tcanCreateRecurrenceExceptions() {\n\t\tlet primaryIsRecurring = false\n\t\tif (this.primaryItem && this.primaryItem.isRecurring()) {\n\t\t\tprimaryIsRecurring = true\n\t\t}\n\t\treturn this.isRecurring() || this.modifiesFuture() || (!this.isRecurring() && primaryIsRecurring)\n\t}\n\n\t/**\n\t * creates a recurrence exception based on this event\n\t * If the parameter thisAndAllFuture is set to true,\n\t * it will apply changes to this and all future occurrences\n\t *\n\t * @param {boolean} thisAndAllFuture Whether to create an exception for this and all future\n\t * @returns {AbstractRecurringComponent[]} the AbstractRecurringComponent of the future events.\n\t * In case you set `thisAndAllFuture` to true, this will be an\n\t * AbstractRecurringComponent inside a entirely new calendar component\n\t */\n\tcreateRecurrenceException(thisAndAllFuture = false) {\n\t\tif (!this.canCreateRecurrenceExceptions()) {\n\t\t\tthrow new Error('Can\\'t create recurrence-exceptions for non-recurring items')\n\t\t}\n\n\t\tconst previousPrimaryItem = this.primaryItem\n\n\t\t/**\n\t\t * The overall support for RANGE=THISANDFUTURE is really bad.\n\t\t * Instead, we have to create a new event/journal/task and\n\t\t * set an until date on the old one.\n\t\t *\n\t\t * Also see:\n\t\t * - https://github.com/nextcloud/calendar/issues/7#issuecomment-292574813\n\t\t * - https://github.com/nextcloud/calendar/issues/7#issuecomment-299169143\n\t\t *\n\t\t * Right now, this replaces all future occurrence modifications,\n\t\t * including recurrence-exceptions, RDATES and EXDATES.\n\t\t * This is also how other CUAs handle it, but i would be happy\n\t\t * to put that up for discussion.\n\t\t *\n\t\t * Keeping future RDates + their recurrence-exceptions would be rather easy.\n\t\t * Updating recurrence-exceptions, that are based off normal recurrence rules,\n\t\t * could be very expensive.\n\t\t */\n\t\tif (thisAndAllFuture) {\n\t\t\tif (this.isExactForkOfPrimary) {\n\t\t\t\t// master item\n\t\t\t\tif (this.primaryItem.isMasterItem()) {\n\t\t\t\t\tthis._overridePrimaryItem()\n\t\t\t\t\treturn [this, this]\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.removeThisOccurrence(true)\n\t\t\tthis.recurrenceManager = new RecurrenceManager(this)\n\t\t\tthis._originalRecurrenceId = null\n\n\t\t\tthis.primaryItem = this\n\t\t\tthis.updatePropertyWithValue('UID', uuid())\n\t\t\tthis._cachedId = null\n\n\t\t\tthis.addRelation('SIBLING', previousPrimaryItem.uid)\n\t\t\tpreviousPrimaryItem.addRelation('SIBLING', this.uid)\n\n\t\t\t// delete to make sure all parameters are gone\n\t\t\tthis.deleteAllProperties('RECURRENCE-ID')\n\t\t\tthis.deleteAllProperties('RDATE')\n\t\t\tthis.deleteAllProperties('EXDATE')\n\t\t\tthis.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('SEQUENCE', 0)\n\t\t\tthis._significantChange = false\n\t\t\tthis._dirty = false\n\n\t\t\tthis.root = this.root.constructor.fromEmpty()\n\t\t\tthis.root.addComponent(this)\n\t\t\tthis.parent = this.root\n\n\t\t\t// this is a completely new event, we should set the RSVP of all attendees to true,\n\t\t\t// so that they receive an invitation to the new event, not only the cancellation of the old one\n\t\t\tfor (const attendee of this.getAttendeeIterator()) {\n\t\t\t\tattendee.rsvp = true\n\t\t\t}\n\t\t} else {\n\t\t\t// delete to make sure all parameters are gone\n\t\t\tthis.deleteAllProperties('RECURRENCE-ID')\n\t\t\tthis.recurrenceId = this.getReferenceRecurrenceId().clone()\n\t\t\tthis.root.addComponent(this)\n\t\t\tthis.recurrenceManager.relateRecurrenceException(this)\n\t\t\tthis.primaryItem = this\n\n\t\t\tthis.deleteAllProperties('RDATE')\n\t\t\tthis.deleteAllProperties('RRULE')\n\t\t\tthis.deleteAllProperties('EXDATE')\n\t\t\tthis.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\t\tthis.updatePropertyWithValue('SEQUENCE', 0)\n\n\t\t\tif (this.recurrenceManager.hasRecurrenceDate(false, this.getReferenceRecurrenceId())) {\n\t\t\t\tconst recurDate = this.recurrenceManager.getRecurrenceDate(false, this.getReferenceRecurrenceId())\n\t\t\t\tif (recurDate instanceof PeriodValue) {\n\t\t\t\t\tconst valueDateTimeRecurDate = recurDate.start\n\t\t\t\t\tthis.recurrenceManager.removeRecurrenceDate(false, recurDate)\n\t\t\t\t\tthis.recurrenceManager.addRecurrenceDate(false, valueDateTimeRecurDate)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.originalRecurrenceId = null\n\t\t}\n\n\t\treturn [previousPrimaryItem, this]\n\t}\n\n\t/**\n\t * Deletes this occurrence from the series of recurring events\n\t * If the parameter thisAndAllFuture is set to true,\n\t * it will remove this and all future occurrences\n\t *\n\t * @param {Boolean} thisAndAllFuture Whether to create an exception for this and all future\n\t * @throws EmptyRecurrenceSetError Thrown, when deleting an occurrence results in no more events\n\t * @returns {Boolean} true if this deleted the last occurrence in set, false if there are occurrences left\n\t */\n\tremoveThisOccurrence(thisAndAllFuture = false) {\n\t\tif (!this.isPartOfRecurrenceSet()) {\n\t\t\t// When deleting an object, that's not part of a recurring set,\n\t\t\t// the calendar-document would be empty.\n\t\t\treturn true\n\t\t}\n\n\t\tif (thisAndAllFuture) {\n\t\t\t// To get the UNTIL date, just deduct one second.\n\t\t\t// That's also how macOS does it, so this should be fairly\n\t\t\t// well supported among all clients\n\t\t\tconst recurrenceId = this.getReferenceRecurrenceId().clone()\n\n\t\t\tconst until = recurrenceId.getInTimezone(Timezone.utc)\n\t\t\tuntil.addDuration(DurationValue.fromSeconds(-1))\n\n\t\t\tfor (const recurValue of this.recurrenceManager.getRecurrenceRuleIterator()) {\n\t\t\t\trecurValue.until = until.clone()\n\t\t\t}\n\n\t\t\tfor (const recurDate of this.recurrenceManager.getRecurrenceDateIterator()) {\n\t\t\t\tlet valueToCheck = recurDate\n\t\t\t\tif (recurDate instanceof PeriodValue) {\n\t\t\t\t\tvalueToCheck = valueToCheck.start\n\t\t\t\t}\n\n\t\t\t\tif (recurrenceId.compare(valueToCheck) <= 0) {\n\t\t\t\t\tthis.recurrenceManager.removeRecurrenceDate(false, recurDate)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const exceptionDate of this.recurrenceManager.getRecurrenceDateIterator(true)) {\n\t\t\t\tif (recurrenceId.compare(exceptionDate) <= 0) {\n\t\t\t\t\tthis.recurrenceManager.removeRecurrenceDate(true, exceptionDate)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const exception of this.recurrenceManager.getRecurrenceExceptionList()) {\n\t\t\t\tif (recurrenceId.compare(exception.recurrenceId) <= 0) {\n\t\t\t\t\tthis.root.deleteComponent(exception)\n\t\t\t\t\tthis.recurrenceManager.removeRecurrenceException(exception)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Make sure we don't leave orphaned recurrence-exceptions\n\t\t\tif (this.isRecurrenceException() && !this.modifiesFuture()) {\n\t\t\t\tthis.root.deleteComponent(this)\n\t\t\t\tthis.recurrenceManager.removeRecurrenceException(this)\n\t\t\t}\n\n\t\t\t// If this is based on a recurrence-date, simply delete it\n\t\t\t// otherwise add an exception-date\n\t\t\tif (this.recurrenceManager.hasRecurrenceDate(false, this.getReferenceRecurrenceId())) {\n\t\t\t\tconst recurDate = this.recurrenceManager.getRecurrenceDate(false, this.getReferenceRecurrenceId())\n\t\t\t\tthis.recurrenceManager.removeRecurrenceDate(false, recurDate)\n\t\t\t} else {\n\t\t\t\tthis.recurrenceManager.addRecurrenceDate(true, this.getReferenceRecurrenceId().clone())\n\t\t\t}\n\t\t}\n\n\t\treturn this.recurrenceManager.isEmptyRecurrenceSet()\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tclone() {\n\t\tconst comp = super.clone()\n\t\tcomp.resetDirty()\n\n\t\treturn comp\n\t}\n\n\t/**\n\t * Adds a new attendee\n\t *\n\t * @param {AttendeeProperty} attendee The attendee property to add\n\t * @private\n\t * @returns {boolean}\n\t */\n\t_addAttendee(attendee) {\n\t\t// Check for different Attendee objects with the same uri\n\t\tfor (const a of this.getAttendeeIterator()) {\n\t\t\tif (a.email === attendee.email) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\n\t\tthis.addProperty(attendee)\n\t\treturn true\n\t}\n\n\t/**\n\t * Adds a new attendee based on their name and email-address\n\t *\n\t * @param {String} name The name of the attendee to add\n\t * @param {String} email The email-address of the attendee to add\n\t * @returns {boolean}\n\t */\n\taddAttendeeFromNameAndEMail(name, email) {\n\t\tconst attendeeProperty = AttendeeProperty.fromNameAndEMail(name, email)\n\t\treturn this._addAttendee(attendeeProperty)\n\t}\n\n\t/**\n\t * Adds a new attendee based on their properties\n\t *\n\t * @param {String} name The name of the attendee to add\n\t * @param {String} email The email-address of the attendee to add\n\t * @param {String} role The role of the attendee to add\n\t * @param {String} userType The type of attendee to add\n\t * @param {Boolean} rsvp Whether or not to request a response from the attendee\n\t * @returns {boolean}\n\t */\n\taddAttendeeFromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp) {\n\t\tconst attendeeProperty = AttendeeProperty.fromNameEMailRoleUserTypeAndRSVP(name, email, role, userType, rsvp, false)\n\t\treturn this._addAttendee(attendeeProperty)\n\t}\n\n\t/**\n\t * Sets the organiser property from common-name and email address\n\t *\n\t * @param {String} name The name of the organizer\n\t * @param {String} email The email-address of the organizer\n\t */\n\tsetOrganizerFromNameAndEMail(name, email) {\n\t\tthis.deleteAllProperties('ORGANIZER')\n\t\tthis.addProperty(AttendeeProperty.fromNameAndEMail(name, email, true))\n\t}\n\n\t/**\n\t * Adds a new attachment from raw data\n\t *\n\t * @param {String} data The data of the attachment\n\t * @param {String} formatType The mime-type of the attachment\n\t */\n\taddAttachmentFromData(data, formatType = null) {\n\t\tthis.addProperty(AttachmentProperty.fromData(data, formatType))\n\t}\n\n\t/**\n\t * Adds a new attachment from a link\n\t *\n\t * @param {String} uri The URI of the attachment\n\t * @param {String} formatType The mime-type of the attachment\n\t */\n\taddAttachmentFromLink(uri, formatType = null) {\n\t\tthis.addProperty(AttachmentProperty.fromLink(uri, formatType))\n\t}\n\n\t/**\n\t * Adds a new contact\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.2\n\t *\n\t * @param {String} contact The textual contact description to add\n\t */\n\taddContact(contact) {\n\t\tthis.addProperty(new TextProperty('CONTACT', contact))\n\t}\n\n\t/**\n\t * Adds a new comment\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.4\n\t *\n\t * @param {String} comment The comment to add\n\t */\n\taddComment(comment) {\n\t\tthis.addProperty(new TextProperty('COMMENT', comment))\n\t}\n\n\t/**\n\t * Adds a new image from raw data\n\t *\n\t * @param {String} data Data of the image to add\n\t * @param {String=} display What display-type the image is optimized for\n\t * @param {String=} formatType The mime-type of the image\n\t */\n\taddImageFromData(data, display = null, formatType = null) {\n\t\tthis.addProperty(ImageProperty.fromData(data, display, formatType))\n\t}\n\n\t/**\n\t * Adds a new image from a link\n\t *\n\t * @param {String} uri The URI of the image to add\n\t * @param {String=} display What display-type the image is optimized for\n\t * @param {String=} formatType The mime-type of the image\n\t */\n\taddImageFromLink(uri, display = null, formatType = null) {\n\t\tthis.addProperty(ImageProperty.fromLink(uri, display, formatType))\n\t}\n\n\t/**\n\t * Creates a new RELATED-TO property based on a relation-type and id\n\t * and adds it to this object\n\t *\n\t * @param {String} relType The type of relation to add\n\t * @param {String} relId The id of the related calendar-document\n\t */\n\taddRelation(relType, relId) {\n\t\tthis.addProperty(RelationProperty.fromRelTypeAndId(relType, relId))\n\t}\n\n\t/**\n\t * Creates a new REQUEST-STATUS property based on code and message\n\t * and adds it to this object\n\t *\n\t * @param {Number} code The status-code of the request status\n\t * @param {String} message The message of the request status\n\t */\n\taddRequestStatus(code, message) {\n\t\tthis.addProperty(RequestStatusProperty.fromCodeAndMessage(code, message))\n\t}\n\n\t/**\n\t * Adds a new absolute alarm based on action and trigger time\n\t *\n\t * @param {String} action The type of alarm Action\n\t * @param {DateTimeValue} alarmTime The trigger time of the alarm\n\t * @returns {AlarmComponent}\n\t */\n\taddAbsoluteAlarm(action, alarmTime) {\n\t\tconst alarmComp = new AlarmComponent('VALARM', [\n\t\t\t['action', action],\n\t\t\tTriggerProperty.fromAbsolute(alarmTime),\n\t\t])\n\n\t\tthis.addComponent(alarmComp)\n\t\treturn alarmComp\n\t}\n\n\t/**\n\t * Adds a new relative alarm based on action, trigger time and relativeTo parameter\n\t *\n\t * @param {String} action The type of alarm Action\n\t * @param {DurationValue} alarmOffset The trigger time of the alarm\n\t * @param {Boolean=} relatedToStart Whether or not the alarm is related to the event's start\n\t * @returns {AlarmComponent}\n\t */\n\taddRelativeAlarm(action, alarmOffset, relatedToStart = true) {\n\t\tconst alarmComp = new AlarmComponent('VALARM', [\n\t\t\t['action', action],\n\t\t\tTriggerProperty.fromRelativeAndRelated(alarmOffset, relatedToStart),\n\t\t])\n\n\t\tthis.addComponent(alarmComp)\n\t\treturn alarmComp\n\t}\n\n\t/**\n\t * Marks a certain property as edited\n\t *\n\t * @param {String} propertyName The name of the property\n\t */\n\tmarkPropertyAsDirty(propertyName) {\n\t\tthis.markDirty()\n\n\t\t// Properties that must be considered a significant change\n\t\t// according to RFC 5546 Section 2.1.4\n\t\tconst props = [\n\t\t\t'DTSTART',\n\t\t\t'DTEND',\n\t\t\t'DURATION',\n\t\t\t'RRULE',\n\t\t\t'RDATE',\n\t\t\t'EXDATE',\n\t\t\t'STATUS',\n\t\t\t...getConfig('property-list-significant-change', []),\n\t\t]\n\n\t\tif (props.includes(uc(propertyName))) {\n\t\t\tthis.markChangesAsSignificant()\n\t\t}\n\t}\n\n\t/**\n\t * Marks a certain component as edited\n\t *\n\t * @param {String} componentName The name of the component\n\t */\n\tmarkSubComponentAsDirty(componentName) {\n\t\tthis.markDirty()\n\n\t\tif (getConfig('component-list-significant-change', []).includes(componentName)) {\n\t\t\tthis.markChangesAsSignificant()\n\t\t}\n\t}\n\n\t/**\n\t * Returns whether or not this component is dirty\n\t *\n\t * @returns {boolean}\n\t */\n\tisDirty() {\n\t\treturn this._dirty || this._significantChange\n\t}\n\n\t/**\n\t * Marks this object as dirty\n\t */\n\tmarkDirty() {\n\t\tthis._dirty = true\n\t}\n\n\t/**\n\t * Marks changes as significant. Can be called by the program using this lib\n\t */\n\tmarkChangesAsSignificant() {\n\t\tthis._significantChange = true\n\t}\n\n\t/**\n\t * Updates the event after modifications.\n\t *\n\t * @returns {boolean} true if last-modified was updated\n\t */\n\tundirtify() {\n\t\tif (!this.isDirty()) {\n\t\t\treturn false\n\t\t}\n\n\t\tif (!this.hasProperty('SEQUENCE')) {\n\t\t\tthis.sequence = 0\n\t\t}\n\n\t\tthis.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\tthis.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true))\n\t\tif (this._significantChange) {\n\t\t\tthis.sequence++\n\t\t}\n\n\t\tthis.resetDirty()\n\n\t\treturn true\n\t}\n\n\t/**\n\t * Resets the dirty indicators without updating DTSTAMP or LAST-MODIFIED\n\t */\n\tresetDirty() {\n\t\tthis._dirty = false\n\t\tthis._significantChange = false\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tupdatePropertyWithValue(propertyName, value) {\n\t\tsuper.updatePropertyWithValue(propertyName, value)\n\n\t\tif (uc(propertyName) === 'UID') {\n\t\t\tthis._cachedId = null\n\t\t}\n\n\t\tthis.markPropertyAsDirty(propertyName)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\taddProperty(property) {\n\t\tthis.markPropertyAsDirty(property.name)\n\t\tproperty.subscribe(() => this.markPropertyAsDirty(property.name))\n\t\treturn super.addProperty(property)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tdeleteProperty(property) {\n\t\tthis.markPropertyAsDirty(property.name)\n\t\treturn super.deleteProperty(property)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tdeleteAllProperties(propertyName) {\n\t\tthis.markPropertyAsDirty(propertyName)\n\t\treturn super.deleteAllProperties(propertyName)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\taddComponent(component) {\n\t\tthis.markSubComponentAsDirty(component.name)\n\t\tcomponent.subscribe(() => this.markSubComponentAsDirty(component.name))\n\t\treturn super.addComponent(component)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tdeleteComponent(component) {\n\t\tthis.markSubComponentAsDirty(component.name)\n\t\treturn super.deleteComponent(component)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tdeleteAllComponents(componentName) {\n\t\tthis.markSubComponentAsDirty(componentName)\n\t\treturn super.deleteAllComponents(componentName)\n\t}\n\n\t/**\n\t * Gets a recurrence-id that has to be used to refer to this event.\n\t * This is used for recurrence-management\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tgetReferenceRecurrenceId() {\n\t\tif (this.originalRecurrenceId) {\n\t\t\treturn this.originalRecurrenceId\n\t\t} else if (this.recurrenceId) {\n\t\t\treturn this.recurrenceId\n\t\t} else {\n\t\t\treturn this.startDate\n\t\t}\n\t}\n\n\t/**\n\t * Overrides the master item with this one\n\t *\n\t * @private\n\t */\n\t_overridePrimaryItem() {\n\t\tconst oldStartDate = this.primaryItem.startDate\n\n\t\tfor (const property of this.primaryItem.getPropertyIterator()) {\n\t\t\tthis.primaryItem.deleteProperty(property)\n\t\t}\n\n\t\tfor (const property of this.getPropertyIterator()) {\n\t\t\tthis.primaryItem.addProperty(property)\n\t\t}\n\n\t\tthis.recurrenceManager.resetCache()\n\t\tif (this.startDate.compare(oldStartDate) !== 0) {\n\t\t\tthis.recurrenceManager.updateStartDateOfMasterItem(this.startDate, oldStartDate)\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic _getConstructorForComponentName(componentName) {\n\t\treturn getConstructorForComponentName(componentName)\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic fromICALJs(...args) {\n\t\tconst comp = super.fromICALJs(...args)\n\t\tcomp.resetDirty()\n\n\t\treturn comp\n\t}\n\n}\n\n/**\n * Date-Time stamp of this object.\n * It has different meaning, based on whether or not a method is defined\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.2\n *\n * @name EventComponent#stampTime\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'stampTime',\n\tiCalendarName: 'DTSTAMP',\n})\n\n/**\n * Recurrence-ID of this object, used for recurrence-exceptions\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.4\n *\n * @name EventComponent#recurrenceId\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'recurrenceId',\n\tiCalendarName: 'RECURRENCE-ID',\n})\n\n/**\n * Special color for this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.9\n *\n * @name EventComponent#color\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'color')\n\n/**\n * Creation Time of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.1\n *\n * @name EventComponent#creationTime\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'creationTime',\n\tiCalendarName: 'CREATED',\n})\n\n/**\n * The time this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.3\n *\n * @name EventComponent#modificationTime\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'modificationTime',\n\tiCalendarName: 'LAST-MODIFIED',\n})\n\n/**\n * Organizer of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @name EventComponent#organizer\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'organizer')\n\n/**\n * Revision of this this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.7.4\n *\n * @name EventComponent#sequence\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'sequence')\n\n/**\n * Status of this event / journal / task\n * This indicates whether an event is tentative / confirmed / cancelled\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.11\n *\n * @name EventComponent#status\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'status')\n\n/**\n * URL of a more dynamic rendition of this event / journal / task\n * DO NOT use this to simply point to a website merely related.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.6\n *\n * @name EventComponent#url\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, 'url')\n\n/**\n * Title of this event / journal / task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.12\n *\n * @name EventComponent#title\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'title',\n\tiCalendarName: 'SUMMARY',\n})\n\n/**\n * Access class of this event / journal / task\n * This determines what other users can see when sharing\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.3\n *\n * @name EventComponent#accessClass\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'accessClass',\n\tiCalendarName: 'class',\n\tallowedValues: ['PUBLIC', 'PRIVATE', 'CONFIDENTIAL'],\n\tdefaultValue: 'PUBLIC',\n\tunknownValue: 'PRIVATE',\n})\n\n/**\n * Returns an iterator over all categories\n * If the parameter lang is given, it will only\n * return an iterator for Categories matching that language\n *\n * @name AbstractRecurringComponent#getCategoryIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator<String>}\n */\n\n/**\n * Returns a list of all categories\n * If the parameter lang is given, it will only\n * return an iterator for Categories matching that language\n *\n * @name AbstractRecurringComponent#getCategoryList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a new category\n *\n * @name AbstractRecurringComponent#addCategory\n * @function\n * @param {String} category\n * @param {String=} lang\n */\n\n/**\n * Removes a category\n *\n * @name AbstractRecurringComponent#removeCategory\n * @function\n * @param {String} category\n * @param {String=} lang\n */\n\n/**\n * Clear all categories of a given language\n *\n * @name AbstractRecurringComponent#clearAllCategories\n * @function\n */\nadvertiseMultiValueStringPropertySeparatedByLang(AbstractRecurringComponent.prototype, {\n\tname: 'category',\n\tpluralName: 'categories',\n\tiCalendarName: 'CATEGORIES',\n})\n\n/**\n * Returns an iterator over all attendees\n *\n * @name AbstractRecurringComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator<AttendeeProperty>}\n */\n\n/**\n * Gets a list of all attendees\n *\n * @name AbstractRecurringComponent#getAttendeeList\n * @function\n * @returns {AttachmentProperty[]}\n */\n\n/**\n * Removes an attendee from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee\n */\n\n/**\n * Removes all attendees from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAttendees\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'attendee',\n})\n\n/**\n * Returns an iterator over all attachments\n *\n * @name AbstractRecurringComponent#getAttachmentIterator\n * @function\n * @returns {IterableIterator<AttachmentProperty>}\n */\n\n/**\n * Gets a list of all attachments\n *\n * @name AbstractRecurringComponent#getAttachmentList\n * @function\n * @returns {AttachmentProperty[]}\n */\n\n/**\n * Removes one attachment from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAttachment\n * @function\n * @param {AttachmentProperty} attachment\n */\n\n/**\n * Removes all attachments from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAttachments\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'attachment',\n\tiCalendarName: 'ATTACH',\n})\n\n/**\n * Returns an iterator over all relation properties\n *\n * @name AbstractRecurringComponent#getRelationIterator\n * @function\n * @returns {IterableIterator<RelationProperty>}\n */\n\n/**\n * Returns a list of all relation properties\n *\n * @name AbstractRecurringComponent#getRelationList\n * @function\n * @returns {RelationProperty[]}\n */\n\n/**\n * Removes a relation from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeRelation\n * @function\n * @param {RelationProperty} relation\n */\n\n/**\n * Removes all relations from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllRelations\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'relation',\n\tiCalendarName: 'RELATED-TO',\n})\n\n/**\n * Returns an iterator over all comments in this event / journal / task\n *\n * @name AbstractRecurringComponent#getCommentIterator\n * @function\n * @returns {IterableIterator<TextProperty>}\n */\n\n/**\n * Returns a list of all comments in this event / journal / task\n *\n * @name AbstractRecurringComponent#getCommentList\n * @function\n * @returns {TextProperty[]}\n */\n\n/**\n * Removes a comment from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeComment\n * @function\n * @param {TextProperty} comment\n */\n\n/**\n * Removes all comments from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllComments\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'comment')\n\n/**\n * Returns an iterator over all contacts referenced in this event / journal / task\n *\n * @name AbstractRecurringComponent#getContactIterator\n * @function\n * @returns {IterableIterator<TextProperty>}\n */\n\n/**\n * Returns a list of all contacts referenced in this event / journal / task\n *\n * @name AbstractRecurringComponent#getContactList\n * @function\n * @returns {TextProperty[]}\n */\n\n/**\n * Removes one contact from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeContact\n * @function\n * @param {TextProperty} contact\n */\n\n/**\n * Removes all contacts from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllContacts\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'contact')\n\n/**\n * Returns an iterator over all image properties\n *\n * @name AbstractRecurringComponent#getImageIterator\n * @function\n * @returns {IterableIterator<ImageProperty>}\n */\n\n/**\n * Returns a list of all image properties\n *\n * @name AbstractRecurringComponent#getImageList\n * @function\n * @returns {ImageProperty[]}\n */\n\n/**\n * Removes one image from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeImage\n * @function\n * @param {ImageProperty} image\n */\n\n/**\n * Removes all images from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllImages\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, 'image')\n\n/**\n * Returns an iterator over all request status\n *\n * @name AbstractRecurringComponent#getRequestStatusIterator\n * @function\n * @returns {IterableIterator<RequestStatusProperty>}\n */\n\n/**\n * Returns a list of all request status\n *\n * @name AbstractRecurringComponent#getRequestStatusList\n * @function\n * @returns {RequestStatusProperty[]}\n */\n\n/**\n * Removes one request status from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeRequestStatus\n * @function\n * @param {RequestStatusProperty} requestStatus\n */\n\n/**\n * Removes all request status from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllRequestStatus\n * @function\n */\nadvertiseMultipleOccurrenceProperty(AbstractRecurringComponent.prototype, {\n\tname: 'requestStatus',\n\tpluralName: 'requestStatus',\n\tiCalendarName: 'REQUEST-STATUS',\n})\n\n/**\n * Returns an iterator of all alarms\n *\n * @name AbstractRecurringComponent#getAlarmIterator\n * @function\n * @returns {IterableIterator<AlarmComponent>}\n */\n\n/**\n * Returns a list of all alarms\n *\n * @name AbstractRecurringComponent#getAlarmList\n * @function\n * @returns {AlarmComponent[]}\n */\n\n/**\n * Removes an alarm from this event / journal / task\n *\n * @name AbstractRecurringComponent#removeAlarm\n * @function\n * @param {AlarmComponent} alarm\n */\n\n/**\n * Removes all alarms from this event / journal / task\n *\n * @name AbstractRecurringComponent#clearAllAlarms\n * @function\n */\nadvertiseComponent(AbstractRecurringComponent.prototype, 'alarm')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent from '../abstractComponent.js'\nimport AlarmComponent from './alarmComponent.js'\nimport { uc } from '../../helpers/stringHelper.js'\n\n/**\n * Gets the constructor for a component name\n * This will only return a constructor for components,\n * that can be nested inside other ones\n *\n * @param {String} compName - Component name to get default constructor for\n * @returns {AlarmComponent|AbstractComponent}\n */\nexport function getConstructorForComponentName(compName) {\n\tswitch (uc(compName)) {\n\tcase 'VALARM':\n\t\treturn AlarmComponent\n\n\tdefault:\n\t\treturn AbstractComponent\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Gets kind of birthday event\n * returns \"BDAY\", \"DEATHDATE\", \"ANNIVERSARY\"\n * or null if this is not a birthday event\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {null|string}\n */\nexport function getTypeOfBirthdayEvent(eventComponent) {\n\treturn eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-FIELD-TYPE')\n}\n\n/**\n * Gets icon for the birthday type\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {string|null}\n */\nexport function getIconForBirthday(eventComponent) {\n\tconst birthdayType = getTypeOfBirthdayEvent(eventComponent)\n\tswitch (birthdayType) {\n\tcase 'BDAY':\n\t\treturn '🎂'\n\n\tcase 'DEATHDATE':\n\t\treturn '⚰️'\n\n\tcase 'ANNIVERSARY':\n\t\treturn '💍'\n\n\tdefault:\n\t\treturn null\n\t}\n}\n\n/**\n * Returns the age of the birthday person or null of no birth-year given\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @param {number} yearOfOccurrence The year to calculate the age for\n * @returns {null|number}\n */\nexport function getAgeOfBirthday(eventComponent, yearOfOccurrence) {\n\tif (!eventComponent.hasProperty('X-NEXTCLOUD-BC-YEAR')) {\n\t\treturn null\n\t}\n\n\tconst yearOfBirth = eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-YEAR')\n\treturn parseInt(yearOfOccurrence, 10) - parseInt(yearOfBirth, 10)\n}\n\n/**\n * Returns the name of the birthday person or null if not set\n *\n * @param {EventComponent} eventComponent The eventComponent of the birthday event\n * @returns {null|string}\n */\nexport function getNameForBirthday(eventComponent) {\n\treturn eventComponent.getFirstPropertyFirstValue('X-NEXTCLOUD-BC-NAME')\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRecurringComponent from './abstractRecurringComponent.js'\nimport {\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseMultiValueStringPropertySeparatedByLang,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport {\n\tgetAgeOfBirthday,\n\tgetIconForBirthday,\n\tgetTypeOfBirthdayEvent,\n} from '../../helpers/birthdayHelper.js'\nimport DurationValue from '../../values/durationValue.js'\nimport GeoProperty from '../../properties/geoProperty.js'\nimport ConferenceProperty from '../../properties/conferenceProperty.js'\n\n/**\n * @class EventComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.1\n */\nexport default class EventComponent extends AbstractRecurringComponent {\n\n\t/**\n\t * Returns whether this event is an all-day event\n\t *\n\t * @returns {boolean}\n\t */\n\tisAllDay() {\n\t\treturn this.startDate.isDate && this.endDate.isDate\n\t}\n\n\t/**\n\t * Checks whether it's possible to switch from date-time to date or vise-versa\n\t *\n\t * @returns {boolean}\n\t */\n\tcanModifyAllDay() {\n\t\treturn !this.recurrenceManager.masterItem.isRecurring()\n\t}\n\n\t/**\n\t * Gets the calculated end-date of the event\n\t *\n\t * Quote from RFC 5545 3.6.1:\n\t * The \"DTSTART\" property for a \"VEVENT\" specifies the inclusive\n\t * start of the event. For recurring events, it also specifies the\n\t * very first instance in the recurrence set. The \"DTEND\" property\n\t * for a \"VEVENT\" calendar component specifies the non-inclusive end\n\t * of the event. For cases where a \"VEVENT\" calendar component\n\t * specifies a \"DTSTART\" property with a DATE value type but no\n\t * \"DTEND\" nor \"DURATION\" property, the event's duration is taken to\n\t * be one day. For cases where a \"VEVENT\" calendar component\n\t * specifies a \"DTSTART\" property with a DATE-TIME value type but no\n\t * \"DTEND\" property, the event ends on the same calendar date and\n\t * time of day specified by the \"DTSTART\" property.\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget endDate() {\n\t\tif (this.hasProperty('dtend')) {\n\t\t\treturn this.getFirstPropertyFirstValue('dtend')\n\t\t}\n\n\t\tconst dtend = this.startDate.clone()\n\n\t\tif (this.hasProperty('duration')) {\n\t\t\tdtend.addDuration(this.getFirstPropertyFirstValue('duration'))\n\t\t} else if (this.startDate.isDate) {\n\t\t\tdtend.addDuration(DurationValue.fromSeconds(60 * 60 * 24))\n\t\t} // There is nothing to do when this event is not allday\n\n\t\treturn dtend\n\t}\n\n\t/**\n\t * Sets the end time of the event\n\t *\n\t * @param {DateTimeValue} end The end of the event\n\t */\n\tset endDate(end) {\n\t\tthis.deleteAllProperties('duration')\n\t\tthis.updatePropertyWithValue('dtend', end)\n\t}\n\n\t/**\n\t * Gets the calculated duration of the event\n\t *\n\t * @returns {DurationValue}\n\t */\n\tget duration() {\n\t\tif (this.hasProperty('duration')) {\n\t\t\treturn this.getFirstPropertyFirstValue('duration')\n\t\t}\n\n\t\treturn this.startDate.subtractDateWithTimezone(this.endDate)\n\t}\n\n\t/**\n\t * Sets the calculated duration of the event\n\t *\n\t * @param {DurationValue} duration The duration of the event\n\t */\n\tset duration(duration) {\n\t\tthis.deleteAllProperties('dtend')\n\t\tthis.updatePropertyWithValue('duration', duration)\n\t}\n\n\t/**\n\t * Sets the geographical position based on latitude and longitude\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n\t *\n\t * @param {Number} lat - latitude\n\t * @param {Number} long - longitude\n\t */\n\tsetGeographicalPositionFromLatitudeAndLongitude(lat, long) {\n\t\tthis.deleteAllProperties('GEO')\n\t\tthis.addProperty(GeoProperty.fromPosition(lat, long))\n\t}\n\n\t/**\n\t * Adds a new conference property based on URI, label and features\n\t *\n\t * @url https://tools.ietf.org/html/rfc7986#section-5.11\n\t *\n\t * @param {String} uri The URI of the conference system\n\t * @param {String=} label The label for the conference system\n\t * @param {String[]=} features The features of the conference system\n\t */\n\taddConference(uri, label = null, features = null) {\n\t\tthis._modify()\n\t\tthis.addProperty(ConferenceProperty.fromURILabelAndFeatures(uri, label, features))\n\t}\n\n\t/**\n\t * Adds a duration to the start of the event\n\t *\n\t * @param {DurationValue} duration The duration to add\n\t */\n\taddDurationToStart(duration) {\n\t\tthis.startDate.addDuration(duration)\n\t}\n\n\t/**\n\t * Adds a duration to the end of the event\n\t *\n\t * @param {DurationValue} duration The duration to add\n\t */\n\taddDurationToEnd(duration) {\n\t\tconst endDate = this.endDate\n\t\tendDate.addDuration(duration)\n\n\t\tthis.endDate = endDate\n\t}\n\n\t/**\n\t * Shifts the entire event by the given duration\n\t *\n\t * @param {DurationValue} delta The duration to shift event by\n\t * @param {Boolean} allDay Whether the updated event should be all-day or not\n\t * @param {Timezone} defaultTimezone The default timezone if moving from all-day to timed event\n\t * @param {DurationValue} defaultAllDayDuration The default all-day duration if moving from timed to all-day\n\t * @param {DurationValue} defaultTimedDuration The default timed duration if moving from all-day to timed\n\t */\n\tshiftByDuration(delta, allDay, defaultTimezone, defaultAllDayDuration, defaultTimedDuration) {\n\t\tconst currentAllDay = this.isAllDay()\n\n\t\tif (currentAllDay !== allDay && !this.canModifyAllDay()) {\n\t\t\tthrow new TypeError('Can\\'t modify all-day of this event')\n\t\t}\n\n\t\tthis.startDate.isDate = allDay\n\t\tthis.startDate.addDuration(delta)\n\n\t\t// If this event was moved from the all-day area into the time-grid,\n\t\t// then we have to add a timezone and the default duration\n\t\tif (currentAllDay && !allDay) {\n\t\t\tthis.startDate.replaceTimezone(defaultTimezone)\n\n\t\t\tthis.endDate = this.startDate.clone()\n\t\t\tthis.endDate.addDuration(defaultTimedDuration)\n\t\t}\n\n\t\t// If this event was moved from the time-grid into the all-day area,\n\t\t// then we have to change the default duration\n\t\tif (!currentAllDay && allDay) {\n\t\t\tthis.endDate = this.startDate.clone()\n\t\t\tthis.endDate.addDuration(defaultAllDayDuration)\n\t\t}\n\n\t\t// If this event was only moved inside the time-grid or only inside\n\t\t// the all-day area, then we only have to adjust the end-date\n\t\tif (currentAllDay === allDay) {\n\t\t\tconst endDate = this.endDate\n\t\t\tendDate.addDuration(delta)\n\t\t\tthis.endDate = endDate\n\t\t}\n\t}\n\n\t/**\n\t * Checks if this is a birthday event\n\t *\n\t * @returns {boolean}\n\t */\n\tisBirthdayEvent() {\n\t\treturn getTypeOfBirthdayEvent(this) === 'BDAY'\n\t}\n\n\t/**\n\t * Gets the icon to the birthday event\n\t *\n\t * @returns {string}\n\t */\n\tgetIconForBirthdayEvent() {\n\t\treturn getIconForBirthday(this)\n\t}\n\n\t/**\n\t * Calculates the age of the birthday\n\t *\n\t * @returns {number}\n\t */\n\tgetAgeForBirthdayEvent() {\n\t\treturn getAgeOfBirthday(this, this.startDate.year)\n\t}\n\n\t/**\n\t * Serializes the entire series to ICS\n\t *\n\t * @returns {string}\n\t */\n\ttoICSEntireSeries() {\n\t\treturn this.root.toICS()\n\t}\n\n\t/**\n\t * Serializes exactly this recurrence to ICS\n\t * It removes all recurrence information\n\t *\n\t * @returns {string}\n\t */\n\ttoICSThisOccurrence() {\n\t\tconst clone = this.clone()\n\n\t\tclone.deleteAllProperties('RRULE')\n\t\tclone.deleteAllProperties('EXRULE')\n\t\tclone.deleteAllProperties('RDATE')\n\t\tclone.deleteAllProperties('EXDATE')\n\t\tclone.deleteAllProperties('RECURRENCE-ID')\n\n\t\tclone.root = clone.root.constructor.fromEmpty()\n\t\tclone.parent = clone.root\n\t\tclone.root.addComponent(clone)\n\n\t\treturn clone.root.toICS()\n\t}\n\n\t/**\n\t * Checks if this event is in a given time-frame\n\t *\n\t * @param {DateTimeValue} start Start of time-range to check\n\t * @param {DateTimeValue} end End of time-range to check\n\t * @returns {boolean}\n\t */\n\tisInTimeFrame(start, end) {\n\t\treturn start.compare(this.endDate) <= 0 && end.compare(this.startDate) >= 0\n\t}\n\n}\n\n/**\n * Time-transparency of this event.\n * If set to TRANSPARENT, this event will be ignored for FREE/BUSY calculations.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.7\n *\n * @name EventComponent#timeTransparency\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n\tname: 'timeTransparency',\n\tiCalendarName: 'TRANSP',\n\tallowedValues: ['OPAQUE', 'TRANSPARENT'],\n\tdefaultValue: 'OPAQUE',\n})\n\n/**\n * Description of this event.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name EventComponent#description\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, 'description')\n\n/**\n * Geographical position of this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n *\n * @name EventComponent#geographicalPosition\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n\tname: 'geographicalPosition',\n\tiCalendarName: 'GEO',\n})\n\n/**\n * Location that this event takes place in\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.7\n *\n * @name EventComponent#location\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, 'location')\n\n/**\n * Priority of this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.9\n *\n * @name EventComponent#priority\n * @type Number\n */\nadvertiseSingleOccurrenceProperty(EventComponent.prototype, {\n\tname: 'priority',\n\tallowedValues: Array(9).keys(),\n\tdefaultValue: 0,\n\tunknownValue: 0,\n})\n\n/**\n * Returns an iterator over all resources\n * If the parameter lang is given, it will only\n * return an iterator for Resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#getResourceIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator<String>}\n */\n\n/**\n * Returns a list of all resources\n * If the parameter lang is given, it will only\n * return an iterator for resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#getResourceList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#addResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#removeResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes all resources from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name EventComponent#clearAllResources\n * @function\n * @param {String=} lang\n */\nadvertiseMultiValueStringPropertySeparatedByLang(EventComponent.prototype, {\n\tname: 'resource',\n\tiCalendarName: 'RESOURCES',\n})\n\n/**\n * Gets an iterator over all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#getConferenceIterator\n * @function\n * @returns {IterableIterator<ConferenceProperty>}\n */\n\n/**\n * Gets a list of all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#getConferenceList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a conference from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#removeConference\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all conferences from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name EventComponent#clearAllConferences\n * @function\n */\nadvertiseMultipleOccurrenceProperty(EventComponent.prototype, 'conference')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport Timezone from '../../timezones/timezone.js'\nimport AttendeeProperty from '../../properties/attendeeProperty.js'\n\n/**\n * @class FreeBusyComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.4\n */\nexport default class FreeBusyComponent extends AbstractComponent {\n\n\t/**\n\t * Gets the start-date of the FreeBusy component\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget startDate() {\n\t\treturn this.getFirstPropertyFirstValue('DTSTART')\n\t}\n\n\t/**\n\t * Sets the start-date of the FreeBusy component\n\t *\n\t * @param {DateTimeValue} startDate The start of the queried time-range\n\t */\n\tset startDate(startDate) {\n\t\tthis._modify()\n\t\tthis.updatePropertyWithValue('DTSTART', startDate.getInTimezone(Timezone.utc))\n\t}\n\n\t/**\n\t * Gets the end-date of the FreeBusy component\n\t *\n\t * @returns {DateTimeValue}\n\t */\n\tget endDate() {\n\t\treturn this.getFirstPropertyFirstValue('DTEND')\n\t}\n\n\t/**\n\t * Sets the start-date of the FreeBusy component\n\t *\n\t * @param {DateTimeValue} endDate The end of the queried time-range\n\t */\n\tset endDate(endDate) {\n\t\tthis._modify()\n\t\tthis.updatePropertyWithValue('DTEND', endDate.getInTimezone(Timezone.utc))\n\t}\n\n\t/**\n\t * Gets an iterator over all FreeBusyProperties\n\t */\n\t* getFreeBusyIterator() {\n\t\tyield * this.getPropertyIterator('FREEBUSY')\n\t}\n\n\t/**\n\t * Adds a new attendee based on their name and email-address\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n\t *\n\t * @param {String} name The name of the attendee to add\n\t * @param {String} email The email-address of the attendee to add\n\t */\n\taddAttendeeFromNameAndEMail(name, email) {\n\t\tthis._modify()\n\t\tthis.addProperty(AttendeeProperty.fromNameAndEMail(name, email))\n\t}\n\n\t/**\n\t * Sets the organiser property from common-name and email address\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n\t *\n\t * @param {String} name The name of the organizer\n\t * @param {String} email The email-address of the organizer\n\t */\n\tsetOrganizerFromNameAndEMail(name, email) {\n\t\tthis._modify()\n\t\tthis.deleteAllProperties('ORGANIZER')\n\t\tthis.addProperty(AttendeeProperty.fromNameAndEMail(name, email, true))\n\t}\n\n}\n\n/**\n * The organizer of this FreeBusy component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.3\n *\n * @name FreeBusyComponent#organizer\n * @type {AttendeeProperty}\n */\nadvertiseSingleOccurrenceProperty(FreeBusyComponent.prototype, 'organizer')\n\n/**\n * The UID of this FreeBusy component\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.7\n *\n * @name FreeBusyComponent#organizer\n * @type {AttendeeProperty}\n */\nadvertiseSingleOccurrenceProperty(FreeBusyComponent.prototype, 'uid')\n\n/**\n * Returns an iterator of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#getAttendeeIterator\n * @function\n * @returns {IterableIterator<AttendeeProperty>}\n */\n\n/**\n * Returns a list of all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#getAttendeeList\n * @function\n * @returns {AttendeeProperty[]}\n */\n\n/**\n * Removes an attendee\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#removeAttendee\n * @function\n * @param {AttendeeProperty} attendee\n */\n\n/**\n * Removes all attendees\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.4.1\n *\n * @name FreeBusyComponent#clearAllAttendees\n * @function\n */\nadvertiseMultipleOccurrenceProperty(FreeBusyComponent.prototype, 'attendee')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRecurringComponent from './abstractRecurringComponent.js'\nimport { advertiseMultipleOccurrenceProperty } from '../abstractComponent.js'\nimport TextProperty from '../../properties/textProperty.js'\n\n/**\n * @class JournalComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.3\n */\nexport default class JournalComponent extends AbstractRecurringComponent {\n\n\t/**\n\t * Adds a new description property\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n\t *\n\t * @param {String} description The description text\n\t */\n\taddDescription(description) {\n\t\tthis.addProperty(new TextProperty('DESCRIPTION', description))\n\t}\n\n}\n\n/**\n * Gets an iterator over all description properties\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#getDescriptionIterator\n * @function\n * @returns {IterableIterator<ConferenceProperty>}\n */\n\n/**\n * Gets a list of all description properties\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#getDescriptionList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a description from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#removeDescription\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all descriptions from this event\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name JournalComponent#clearAllDescriptions\n * @function\n */\nadvertiseMultipleOccurrenceProperty(JournalComponent.prototype, 'description')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRecurringComponent from './abstractRecurringComponent.js'\nimport {\n\tadvertiseMultipleOccurrenceProperty,\n\tadvertiseMultiValueStringPropertySeparatedByLang,\n\tadvertiseSingleOccurrenceProperty,\n} from '../abstractComponent.js'\nimport ConferenceProperty from '../../properties/conferenceProperty.js'\nimport GeoProperty from '../../properties/geoProperty.js'\n\n/**\n * @class ToDoComponent\n * @classdesc\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.6.2\n */\nexport default class ToDoComponent extends AbstractRecurringComponent {\n\n\t/**\n\t * Returns whether this event is an all-day event\n\t *\n\t * @returns {boolean}\n\t */\n\tisAllDay() {\n\t\tconst propertiesToCheck = ['DTSTART', 'DUE']\n\t\tfor (const propertyToCheck of propertiesToCheck) {\n\t\t\tif (this.hasProperty(propertyToCheck)) {\n\t\t\t\treturn this.getFirstPropertyFirstValue(propertyToCheck).isDate\n\t\t\t}\n\t\t}\n\n\t\t// If a task is not associated with any date, it is defined to\n\t\t// occur on any successive date until it is completed.\n\t\t// We are treating it as all-day in that case.\n\t\treturn true\n\t}\n\n\t/**\n\t * Checks whether it's possible to switch from date-time to date or vise-versa\n\t *\n\t * @returns {boolean}\n\t */\n\tcanModifyAllDay() {\n\t\tif (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n\t\t\treturn false\n\t\t}\n\n\t\treturn !this.recurrenceManager.masterItem.isRecurring()\n\t}\n\n\t/**\n\t * Gets the calculated end-date of the task\n\t *\n\t * If there is a due-date, we will just return that.\n\t * If there is a start-date and a duration, we will\n\t * calculate the end-date based on that.\n\t *\n\t * If there is neither a due-date nor a combination\n\t * of start-date and duration, we just return null\n\t *\n\t * @returns {DateTimeValue|null}\n\t */\n\tget endDate() {\n\t\tif (this.hasProperty('due')) {\n\t\t\treturn this.getFirstPropertyFirstValue('due')\n\t\t}\n\n\t\tif (!this.hasProperty('dtstart') || !this.hasProperty('duration')) {\n\t\t\treturn null\n\t\t}\n\n\t\tconst endDate = this.startDate.clone()\n\t\tendDate.addDuration(this.getFirstPropertyFirstValue('duration'))\n\t\treturn endDate\n\t}\n\n\t/**\n\t * Shifts the entire task by the given duration\n\t *\n\t * @param {DurationValue} delta The duration to shift event by\n\t * @param {Boolean} allDay Whether the updated event should be all-day or not\n\t * @param {Timezone} defaultTimezone The default timezone if moving from all-day to timed event\n\t * @param {DurationValue} defaultAllDayDuration The default all-day duration if moving from timed to all-day\n\t * @param {DurationValue} defaultTimedDuration The default timed duration if moving from all-day to timed\n\t */\n\tshiftByDuration(delta, allDay, defaultTimezone, defaultAllDayDuration, defaultTimedDuration) {\n\t\tconst currentAllDay = this.isAllDay()\n\n\t\tif (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n\t\t\tthrow new TypeError('This task does not have a start-date nor due-date')\n\t\t}\n\n\t\tif (currentAllDay !== allDay && !this.canModifyAllDay()) {\n\t\t\tthrow new TypeError('Can\\'t modify all-day of this todo')\n\t\t}\n\n\t\t// If this task has a start-date, update it\n\t\t// This is especially important, if you shift\n\t\t// the task by a negative duration, because\n\t\t// dtstart always has to be prior to the due date\n\t\tif (this.hasProperty('dtstart')) {\n\t\t\tthis.startDate.isDate = allDay\n\t\t\tthis.startDate.addDuration(delta)\n\n\t\t\tif (currentAllDay && !allDay) {\n\t\t\t\tthis.startDate.replaceTimezone(defaultTimezone)\n\t\t\t}\n\t\t}\n\n\t\tif (this.hasProperty('due')) {\n\t\t\tthis.dueTime.isDate = allDay\n\t\t\tthis.dueTime.addDuration(delta)\n\n\t\t\tif (currentAllDay && !allDay) {\n\t\t\t\tthis.dueTime.replaceTimezone(defaultTimezone)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if this event is in a given time-frame\n\t *\n\t * @param {DateTimeValue} start Start of time-range to check\n\t * @param {DateTimeValue} end End of time-range to check\n\t * @returns {boolean}\n\t */\n\tisInTimeFrame(start, end) {\n\t\tif (!this.hasProperty('dtstart') && !this.hasProperty('due')) {\n\t\t\treturn true\n\t\t}\n\n\t\tif (!this.hasProperty('dtstart') && this.hasProperty('due')) {\n\t\t\treturn start.compare(this.endDate) <= 0\n\t\t}\n\n\t\treturn start.compare(this.endDate) <= 0 && end.compare(this.startDate) >= 0\n\t}\n\n\t/**\n\t * Gets the geographical position property\n\t *\n\t * @returns {GeoProperty}\n\t */\n\tget geographicalPosition() {\n\t\treturn this.getFirstProperty('GEO')\n\t}\n\n\t/**\n\t * Sets the geographical position based on latitude and longitude\n\t *\n\t * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.6\n\t *\n\t * @param {Number} lat - latitude\n\t * @param {Number} long - longitude\n\t */\n\tsetGeographicalPositionFromLatitudeAndLongitude(lat, long) {\n\t\tthis.deleteAllProperties('GEO')\n\t\tthis.addProperty(GeoProperty.fromPosition(lat, long))\n\t}\n\n\t/**\n\t * Adds a new conference property based on URI, label and features\n\t *\n\t * @url https://tools.ietf.org/html/rfc7986#section-5.11\n\t *\n\t * @param {String} uri The URI of the conference\n\t * @param {String=} label The label of the conference\n\t * @param {String[]=} features Supported features of conference-system\n\t */\n\taddConference(uri, label = null, features = null) {\n\t\tthis.addProperty(ConferenceProperty.fromURILabelAndFeatures(uri, label, features))\n\t}\n\n}\n\n/**\n * The time when a task was completed\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.1\n *\n * @name ToDoComponent#completedTime\n * @type {DateTimeValue}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'completedTime',\n\tiCalendarName: 'COMPLETED',\n})\n\n/**\n * The time when a task is due\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.3\n *\n * @name ToDoComponent#dueTime\n * @type {DateTimeValue}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'dueTime',\n\tiCalendarName: 'DUE',\n})\n\n/**\n * The time when a task was completed\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.2.5\n *\n * @name ToDoComponent#duration\n * @type {DurationValue}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'duration',\n})\n\n/**\n * The percentage a task was already fulfilled\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.8\n *\n * @name ToDoComponent#percent\n * @type {Number}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'percent',\n\tiCalendarName: 'PERCENT-COMPLETE',\n})\n\n/**\n * Description of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.5\n *\n * @name ToDoComponent#description\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, 'description')\n\n/**\n * Location of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.7\n *\n * @name ToDoComponent#location\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, 'location')\n\n/**\n * Priority of this task.\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.9\n *\n * @name ToDoComponent#priority\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(ToDoComponent.prototype, {\n\tname: 'priority',\n\tallowedValues: Array.from(Array(10).keys()),\n\tdefaultValue: 0,\n\tunknownValue: 0,\n})\n\n/**\n * Returns an iterator over all resources\n * If the parameter lang is given, it will only\n * return an iterator for Resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#getResourceIterator\n * @function\n * @param {String=} lang\n * @returns {IterableIterator<String>}\n */\n\n/**\n * Returns a list of all resources\n * If the parameter lang is given, it will only\n * return an iterator for resources matching that language\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#getResourceList\n * @function\n * @param {String=} lang\n * @returns {String[]}\n */\n\n/**\n * Adds a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#addResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes a resource\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#removeResource\n * @function\n * @param {String} resource\n * @param {String=} lang\n */\n\n/**\n * Removes all resources from this task\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.8.1.10\n *\n * @name ToDoComponent#clearAllResources\n * @function\n * @param {String=} lang\n */\nadvertiseMultiValueStringPropertySeparatedByLang(ToDoComponent.prototype, {\n\tname: 'resource',\n\tiCalendarName: 'RESOURCES',\n})\n\n/**\n * Gets an iterator over all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#getConferenceIterator\n * @function\n * @returns {IterableIterator<ConferenceProperty>}\n */\n\n/**\n * Gets a list of all conference properties\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#getConferenceList\n * @function\n * @returns {ConferenceProperty[]}\n */\n\n/**\n * Removes a conference from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#removeConference\n * @function\n * @param {ConferenceProperty} conference\n */\n\n/**\n * Removes all conferences from this event\n *\n * @url https://tools.ietf.org/html/rfc7986#section-5.11\n *\n * @name ToDoComponent#clearAllConferences\n * @function\n */\nadvertiseMultipleOccurrenceProperty(ToDoComponent.prototype, 'conference')\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent from '../abstractComponent.js'\nimport EventComponent from './eventComponent.js'\nimport FreeBusyComponent from './freeBusyComponent.js'\nimport JournalComponent from './journalComponent.js'\nimport TimezoneComponent from './timezoneComponent.js'\nimport ToDoComponent from './toDoComponent.js'\nimport { uc } from '../../helpers/stringHelper.js'\n\n/**\n * Gets the constructor for a component name\n * This will only return a constructor for components,\n * that can be used in the root of a calendar-document\n *\n * @param {String} compName Name of the component to get constructor for\n * @returns {AbstractComponent|ToDoComponent|JournalComponent|FreeBusyComponent|TimezoneComponent|EventComponent}\n */\nexport function getConstructorForComponentName(compName) {\n\tswitch (uc(compName)) {\n\tcase 'VEVENT':\n\t\treturn EventComponent\n\n\tcase 'VFREEBUSY':\n\t\treturn FreeBusyComponent\n\n\tcase 'VJOURNAL':\n\t\treturn JournalComponent\n\n\tcase 'VTIMEZONE':\n\t\treturn TimezoneComponent\n\n\tcase 'VTODO':\n\t\treturn ToDoComponent\n\n\tdefault:\n\t\treturn AbstractComponent\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractComponent, {\n\tadvertiseSingleOccurrenceProperty,\n} from './abstractComponent.js'\nimport { getConstructorForComponentName } from './root'\nimport { getConfig } from '../config.js'\nimport ICAL from 'ical.js'\n\n/**\n * This class represents one VCALENDAR block\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.4\n */\nexport default class CalendarComponent extends AbstractComponent {\n\n\t/**\n\t * Constructor\n\t *\n\t * @inheritDoc\n\t */\n\tconstructor(name = 'VCALENDAR', properties = [], components = []) {\n\t\tsuper(name, properties, components)\n\t\tthis.root = this\n\t\tthis.parent = null\n\t}\n\n\t/**\n\t * Gets an iterator over all VTIMEZONE components\n\t */\n\t* getTimezoneIterator() {\n\t\tyield * this.getComponentIterator('vtimezone')\n\t}\n\n\t/**\n\t * Gets an iterator over all VObject components\n\t */\n\t* getVObjectIterator() {\n\t\tyield * this.getEventIterator()\n\t\tyield * this.getJournalIterator()\n\t\tyield * this.getTodoIterator()\n\t}\n\n\t/**\n\t * Gets an iterator over all VEVENT components\n\t */\n\t* getEventIterator() {\n\t\tyield * this.getComponentIterator('vevent')\n\t}\n\n\t/**\n\t * Gets an iterator over all VFREEBUSY components\n\t */\n\t* getFreebusyIterator() {\n\t\tyield * this.getComponentIterator('vfreebusy')\n\t}\n\n\t/**\n\t * Gets an iterator over all VJOURNAL components\n\t */\n\t* getJournalIterator() {\n\t\tyield * this.getComponentIterator('vjournal')\n\t}\n\n\t/**\n\t * Gets an iterator over all VTODO components\n\t */\n\t* getTodoIterator() {\n\t\tyield * this.getComponentIterator('vtodo')\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic _getConstructorForComponentName(componentName) {\n\t\treturn getConstructorForComponentName(componentName)\n\t}\n\n\t/**\n\t * Converts this calendar component into text/calendar\n\t *\n\t * @param {boolean} cleanUpTimezones Whether or not to clean up timezone data\n\t * @returns {string}\n\t */\n\ttoICS(cleanUpTimezones = true) {\n\t\tfor (const vObject of this.getVObjectIterator()) {\n\t\t\tvObject.undirtify()\n\t\t}\n\n\t\tconst icalRoot = this.toICALJs()\n\t\tif (cleanUpTimezones) {\n\t\t\tICAL.helpers.updateTimezones(icalRoot)\n\t\t}\n\t\treturn icalRoot.toString()\n\t}\n\n\t/**\n\t * Creates a new empty calendar-component\n\t *\n\t * @param {[String][]=} additionalProps Additional props to add to empty calendar-document\n\t * @returns {CalendarComponent}\n\t */\n\tstatic fromEmpty(additionalProps = []) {\n\t\treturn new this('VCALENDAR', [\n\t\t\t['prodid', getConfig('PRODID', '-//IDN georgehrke.com//calendar-js//EN')],\n\t\t\t['calscale', 'GREGORIAN'],\n\t\t\t['version', '2.0'],\n\t\t].concat(additionalProps))\n\t}\n\n\t/**\n\t * Creates a new calendar-component with a method\n\t *\n\t * @param {string} method The method for the calendar-document\n\t * @returns {CalendarComponent}\n\t */\n\tstatic fromMethod(method) {\n\t\treturn this.fromEmpty([['method', method]])\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic fromICALJs(icalValue) {\n\t\tconst comp = super.fromICALJs(icalValue)\n\t\tcomp.root = comp\n\n\t\treturn comp\n\t}\n\n}\n\n/**\n * ProductId representing the software that created this calendar-document\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.3\n *\n * @name CalendarComponent#productId\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n\tname: 'productId',\n\tiCalendarName: 'PRODID',\n})\n\n/**\n * iCalendar version of this calendar-document\n * minver and maxver parameters are not supported, since they\n * are virtually used by no calendaring-software\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.4\n *\n * @name CalendarComponent#version\n * @type {String}\n */\n\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n\tname: 'version',\n})\n\n/**\n * Calendar-scale used in this calendar-document\n * The default and only supported calendar-scale is GREGORIAN.\n * There is an iCalendar-extension about non-gregorian RRULES,\n * but that is not supported by calendar-js at the moment\n * @see https://tools.ietf.org/html/rfc7529\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.1\n *\n * @name CalendarComponent#calendarScale\n * @type {String}\n * @default \"GREGORIAN\"\n */\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n\tname: 'calendarScale',\n\tiCalendarName: 'CALSCALE',\n\tdefaultValue: 'GREGORIAN',\n})\n\n/**\n * Method of this calendar-document when being used in an iTIP message\n * Please see https://tools.ietf.org/html/rfc5546#section-3.2 for more information\n *\n * @url https://tools.ietf.org/html/rfc5545#section-3.7.2\n *\n * @name CalendarComponent#method\n * @type {String}\n */\nadvertiseSingleOccurrenceProperty(CalendarComponent.prototype, {\n\tname: 'method',\n})\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @class AbstractRepairStep\n * @classdesc A repair step is used to fix calendar-data before it is parsed\n */\nexport default class AbstractRepairStep {\n\n\t/**\n\t * @constructor\n\t */\n\tconstructor() {\n\t\tif (new.target === AbstractRepairStep) {\n\t\t\tthrow new TypeError('Cannot instantiate abstract class AbstractRepairStep')\n\t\t}\n\t}\n\n\t/**\n\t * @param {String} input String representation of the data to repair\n\t */\n\trepair(input) {\n\t\tthrow new TypeError('Abstract method not implemented by subclass')\n\t}\n\n\t/**\n\t * @returns {number}\n\t */\n\tstatic priority() {\n\t\treturn 0\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\nimport { v4 as uuid } from 'uuid'\n\n/**\n * @class ICalendarAddMissingUIDRepairStep\n */\nexport default class ICalendarAddMissingUIDRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^BEGIN:(VEVENT|VTODO|VJOURNAL)$(((?!^END:(VEVENT|VTODO|VJOURNAL)$)(?!^UID.*$)(.|\\n))*)^END:(VEVENT|VTODO|VJOURNAL)$\\n/gm, (match, vobjectName, vObjectBlock) => {\n\t\t\t\treturn 'BEGIN:' + vobjectName + '\\r\\n'\n\t\t\t\t\t+ 'UID:' + uuid()\n\t\t\t\t\t+ vObjectBlock\n\t\t\t\t\t+ 'END:' + vobjectName + '\\r\\n'\n\t\t\t})\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\n/**\n * @class ICalendarAddMissingValueDateDoubleColonRepairStep\n */\nexport default class ICalendarAddMissingValueDateDoubleColonRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^(DTSTART|DTEND)(.*):([0-9]{8})T(::)$/gm, (match, propName, parameters, date) => {\n\t\t\t\treturn propName + ';VALUE=DATE:' + date\n\t\t\t})\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\n/**\n * @class ICalendarAddMissingValueDateRepairStep\n */\nexport default class ICalendarAddMissingValueDateRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^(DTSTART|DTEND)(((?!VALUE=DATE).)*):([0-9]{8})$/gm, (match, propName, parameters, _, date) => {\n\t\t\t\treturn propName + parameters + ';VALUE=DATE:' + date\n\t\t\t})\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\n/**\n * @class ICalendarEmptyTriggerRepairStep\n * @classdesc This repair step fixes malformed TRIGGER properties\n */\nexport default class ICalendarEmptyTriggerRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^TRIGGER:P$/gm, 'TRIGGER:P0D')\n\t\t\t.replace(/^TRIGGER:-P$/gm, 'TRIGGER:P0D')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\nexport default class ICalendarIllegalCreatedRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/^CREATED:00001231T000000Z$/gm, 'CREATED:19700101T000000Z')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\nimport { uc } from '../../../helpers/stringHelper.js'\n\n/**\n * @class ICalendarMultipleVCalendarBlocksRepairStep\n * @classdesc This repair step merges multiple BEGIN:VCALENDAR...END:VCALENDAR blocks\n */\nexport default class ICalendarMultipleVCalendarBlocksRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\tlet containsProdId = false\n\t\tlet containsVersion = false\n\t\tlet containsCalscale = false\n\t\tconst includedTimezones = new Set()\n\n\t\treturn ics\n\t\t\t.replace(/^END:VCALENDAR$(((?!^BEGIN:)(.|\\n))*)^BEGIN:VCALENDAR$\\n/gm, '')\n\t\t\t.replace(/^PRODID:(.*)$\\n/gm, (match) => {\n\t\t\t\tif (containsProdId) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tcontainsProdId = true\n\t\t\t\treturn match\n\t\t\t})\n\t\t\t.replace(/^VERSION:(.*)$\\n/gm, (match) => {\n\t\t\t\tif (containsVersion) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tcontainsVersion = true\n\t\t\t\treturn match\n\t\t\t})\n\t\t\t.replace(/^CALSCALE:(.*)$\\n/gm, (match) => {\n\t\t\t\tif (containsCalscale) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tcontainsCalscale = true\n\t\t\t\treturn match\n\t\t\t})\n\t\t\t.replace(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\\n))*)^END:VTIMEZONE$\\n/gm, (match) => {\n\t\t\t\tconst tzidMatcher = match.match(/^TZID:(.*)$/gm)\n\n\t\t\t\t// If this Timezone definition contains no TZID for some reason,\n\t\t\t\t// just remove it, because we can't use it anyway\n\t\t\t\tif (tzidMatcher === null) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tconst tzid = uc(tzidMatcher[0].substr(5))\n\t\t\t\tif (includedTimezones.has(tzid)) {\n\t\t\t\t\t// If we already included this timezone, just skip\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\n\t\t\t\tincludedTimezones.add(tzid)\n\t\t\t\treturn match\n\t\t\t})\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractRepairStep from '../abstractRepairStep.js'\n\n/**\n * @class ICalendarRemoveXNCGroupIdRepairStep\n * @classdesc This repair step removes the X-NC-GroupID parameter used in previous versions of Nextcloud\n */\nexport default class ICalendarRemoveXNCGroupIdRepairStep extends AbstractRepairStep {\n\n\t/**\n\t * Please see the corresponding test file for an example of broken calendar-data\n\t *\n\t * @inheritDoc\n\t */\n\trepair(ics) {\n\t\treturn ics\n\t\t\t.replace(/(^.*)(;X-NC-GROUP-ID=\\d+)(:.*$)/gm, '$1$3')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Timezone from './timezone.js'\nimport tzData from '../../resources/timezones/zones.json'\n\n/**\n * @class TimezoneManager\n */\nexport class TimezoneManager {\n\n\t/**\n\t * Constructor\n\t */\n\tconstructor() {\n\t\t/**\n\t\t * Map of aliases\n\t\t * Alias name => timezoneId\n\t\t *\n\t\t * @type {Map<String, String>}\n\t\t */\n\t\tthis._aliases = new Map()\n\n\t\t/**\n\t\t * Map of Timezones\n\t\t * timezoneId => Timezone\n\t\t *\n\t\t * @type {Map<String, Timezone>}\n\t\t * @private\n\t\t */\n\t\tthis._timezones = new Map()\n\t}\n\n\t/**\n\t * Gets a timezone for the given id\n\t *\n\t * @param {String} timezoneId The id of the timezone\n\t * @returns {Timezone|null}\n\t */\n\tgetTimezoneForId(timezoneId) {\n\t\treturn this._getTimezoneForIdRec(timezoneId, 0)\n\t}\n\n\t_getTimezoneForIdRec(timezoneId, level) {\n\t\tif (this._timezones.has(timezoneId)) {\n\t\t\treturn this._timezones.get(timezoneId)\n\t\t}\n\n\t\tif (level >= 20) {\n\t\t\t// too much recursion\n\t\t\tconsole.error('TimezoneManager.getTimezoneForIdRec() exceeds recursion limits')\n\t\t\treturn null\n\t\t}\n\n\t\tif (this._aliases.has(timezoneId)) {\n\t\t\tconst resolvedTimezoneId = this._aliases.get(timezoneId)\n\t\t\t// can be a recursive alias:\n\t\t\treturn this._getTimezoneForIdRec(resolvedTimezoneId, level + 1)\n\t\t}\n\n\t\treturn null\n\t}\n\n\t/**\n\t * Checks if there is a timezone for the given id stored in this manager\n\t *\n\t * @param {String} timezoneId The id of the timezone\n\t * @returns {boolean}\n\t */\n\thasTimezoneForId(timezoneId) {\n\t\treturn this._timezones.has(timezoneId) || this._aliases.has(timezoneId)\n\t}\n\n\t/**\n\t * Checks if the given timezone id is an alias\n\t *\n\t * @param {String} timezoneId The id of the timezone\n\t * @returns {boolean}\n\t */\n\tisAlias(timezoneId) {\n\t\treturn !this._timezones.has(timezoneId) && this._aliases.has(timezoneId)\n\t}\n\n\t/**\n\t * Lists all timezones\n\t *\n\t * @param {Boolean=} includeAliases Whether or not to include aliases\n\t * @returns {String[]}\n\t */\n\tlistAllTimezones(includeAliases = false) {\n\t\tconst timezones = Array.from(this._timezones.keys())\n\n\t\tif (includeAliases) {\n\t\t\treturn timezones.concat(Array.from(this._aliases.keys()))\n\t\t}\n\n\t\treturn timezones\n\t}\n\n\t/**\n\t * Registers a timezone\n\t *\n\t * @param {Timezone} timezone The timezone-object to register\n\t */\n\tregisterTimezone(timezone) {\n\t\tthis._timezones.set(timezone.timezoneId, timezone)\n\t}\n\n\tregisterDefaultTimezones() {\n\t\tconsole.debug(`@nextcloud/calendar-js app is using version ${tzData.version} of the timezone database`)\n\n\t\tfor (const tzid in tzData.zones) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(tzData.zones, [tzid])) {\n\t\t\t\tconst ics = [\n\t\t\t\t\t'BEGIN:VTIMEZONE',\n\t\t\t\t\t'TZID:' + tzid,\n\t\t\t\t\t...tzData.zones[tzid].ics,\n\t\t\t\t\t'END:VTIMEZONE',\n\t\t\t\t].join('\\r\\n')\n\t\t\t\tthis.registerTimezoneFromICS(tzid, ics)\n\t\t\t}\n\t\t}\n\n\t\tfor (const tzid in tzData.aliases) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(tzData.aliases, [tzid])) {\n\t\t\t\tthis.registerAlias(tzid, tzData.aliases[tzid].aliasTo)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Registers a timezone based on ics data\n\t *\n\t * @param {String} timezoneId The id of the timezone\n\t * @param {String} ics The iCalendar timezone definition\n\t */\n\tregisterTimezoneFromICS(timezoneId, ics) {\n\t\tconst timezone = new Timezone(timezoneId, ics)\n\t\tthis.registerTimezone(timezone)\n\t}\n\n\t/**\n\t * Registers a new timezone-alias\n\t *\n\t * @param {String} aliasName The timezone-id of the alias\n\t * @param {String} timezoneId The timezone-id to resolve the alias to\n\t */\n\tregisterAlias(aliasName, timezoneId) {\n\t\tthis._aliases.set(aliasName, timezoneId)\n\t}\n\n\t/**\n\t * Unregisters a timezone\n\t *\n\t * @param {String} timezoneId Unregisters a timezone by Id\n\t */\n\tunregisterTimezones(timezoneId) {\n\t\tthis._timezones.delete(timezoneId)\n\t}\n\n\t/**\n\t * Unregisters a timezone-alias\n\t *\n\t * @param {String} aliasName The alias to unregister\n\t */\n\tunregisterAlias(aliasName) {\n\t\tthis._aliases.delete(aliasName)\n\t}\n\n\t/**\n\t * Clear all timezones\n \t */\n\tclearAllTimezones() {\n\t\tthis._aliases = new Map()\n\t\tthis._timezones = new Map()\n\n\t\ttimezoneManager.registerTimezone(Timezone.utc)\n\t\ttimezoneManager.registerTimezone(Timezone.floating)\n\t\ttimezoneManager.registerAlias('GMT', Timezone.utc.timezoneId)\n\t\ttimezoneManager.registerAlias('Z', Timezone.utc.timezoneId)\n\t}\n\n}\n\nconst timezoneManager = new TimezoneManager()\ntimezoneManager.clearAllTimezones()\n\n/**\n * Gets the default instance of the timezone manager\n *\n * @returns {TimezoneManager}\n */\nexport function getTimezoneManager() {\n\treturn timezoneManager\n}\n\n/**\n *\n * @param {String} tzName Name of the timezone to check\n * @returns {boolean}\n */\nexport function isOlsonTimezone(tzName) {\n\tconst hasSlash = tzName.indexOf('/') !== -1\n\tconst hasSpace = tzName.indexOf(' ') !== -1\n\tconst startsWithETC = tzName.startsWith('Etc')\n\tconst startsWithUS = tzName.startsWith('US/')\n\n\treturn hasSlash && !hasSpace && !startsWithETC && !startsWithUS\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport AbstractParser from './abstractParser.js'\nimport CalendarComponent from '../components/calendarComponent.js'\nimport { getRepairSteps } from './repairsteps/icalendar'\nimport { uc } from '../helpers/stringHelper.js'\nimport { getConstructorForComponentName } from '../components/root'\nimport { getTimezoneManager } from '../timezones/timezoneManager.js'\nimport Timezone from '../timezones/timezone.js'\nimport RecurrenceManager from '../recurrence/recurrenceManager.js'\nimport DateTimeValue from '../values/dateTimeValue.js'\nimport ICAL from 'ical.js'\n\n/**\n * @class ICalendarParser\n * @classdesc\n */\nexport default class ICalendarParser extends AbstractParser {\n\n\t/**\n\t * @inheritDoc\n\t */\n\tconstructor(...args) {\n\t\tsuper(...args)\n\n\t\t/**\n\t\t * The raw text/calendar data\n\t\t *\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._rawData = null\n\n\t\t/**\n\t\t * The CalendarComponent representing the raw data\n\t\t *\n\t\t * @type {CalendarComponent}\n\t\t * @protected\n\t\t */\n\t\tthis._calendarComponent = null\n\n\t\t/**\n\t\t * A flag whether this calendar-data contains vevents\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._containsVEvents = false\n\n\t\t/**\n\t\t * A flag whether this calendar-data contains vjournals\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._containsVJournals = false\n\n\t\t/**\n\t\t * A flag whether this calendar-data contains vtodos\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._containsVTodos = false\n\n\t\t/**\n\t\t * A flag whether this calendar-data contains vfreebusy\n\t\t *\n\t\t * @type {boolean}\n\t\t * @private\n\t\t */\n\t\tthis._containsVFreeBusy = false\n\n\t\t/**\n\t\t * A map containing all VObjects.\n\t\t * The key of this map is the UID\n\t\t * The value an array of all VObjects with that particular UID\n\t\t *\n\t\t * @type {Map<String, AbstractRecurringComponent[]>}\n\t\t * @private\n\t\t */\n\t\tthis._items = new Map()\n\n\t\t/**\n\t\t * Items that are no recurrence-exceptions\n\t\t * The key of this map is the UID\n\t\t *\n\t\t * @type {Map<String, AbstractRecurringComponent>}\n\t\t * @private\n\t\t */\n\t\tthis._masterItems = new Map()\n\n\t\t/**\n\t\t * Items that are recurrence exceptions\n\t\t *\n\t\t * @type {Map<String, AbstractRecurringComponent[]>}\n\t\t * @private\n\t\t */\n\t\tthis._recurrenceExceptionItems = new Map()\n\n\t\t/**\n\t\t * Some recurrence-exceptions come without a master item\n\t\t * In that case we need to forge a master item\n\t\t *\n\t\t * @type {Map<String, AbstractRecurringComponent>}\n\t\t * @private\n\t\t */\n\t\tthis._forgedMasterItems = new Map()\n\n\t\t/**\n\t\t * A list of timezone-components found in the calendar-data\n\t\t *\n\t\t * @type {Map<String, Timezone>}\n\t\t * @private\n\t\t */\n\t\tthis._timezones = new Map()\n\n\t\t/**\n\t\t * A set of required timezones for each UID\n\t\t *\n\t\t * @type {Map<String, Set<String>>}\n\t\t * @private\n\t\t */\n\t\tthis._requiredTimezones = new Map()\n\n\t\t/**\n\t\t * Instance of the default timezone-manager\n\t\t *\n\t\t * @type {TimezoneManager}\n\t\t * @private\n\t\t */\n\t\tthis._defaultTimezoneManager = getTimezoneManager()\n\t}\n\n\t/**\n\t * Parses the actual calendar-data\n\t *\n\t * @param {String} ics The icalendar data to parse\n\t */\n\tparse(ics) {\n\t\tthis._rawData = ics\n\n\t\tthis._applyRepairSteps()\n\n\t\t// If a timezone is not inside our TimezoneManager at the time of parsing\n\t\t// the internal zone will be marked as floating inside ICAL.Time\n\t\t// so before we start any actual parsing, we need to extract all timezones\n\t\t// and add them to the TimezoneManager\n\t\tthis._extractTimezones()\n\t\tthis._registerTimezones()\n\n\t\tthis._createCalendarComponent()\n\n\t\tif (this._getOption('extractGlobalProperties', false)) {\n\t\t\tthis._extractProperties()\n\t\t}\n\n\t\tthis._processVObjects()\n\n\t\tif (this._getOption('processFreeBusy', false)) {\n\t\t\tthis._processVFreeBusy()\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\t* getItemIterator() {\n\t\tfor (const itemList of this._items.values()) {\n\t\t\tconst calendarComp = CalendarComponent.fromEmpty()\n\n\t\t\tif (this._getOption('includeTimezones', false)) {\n\t\t\t\tthis._addRequiredTimezonesToCalendarComp(calendarComp, itemList[0].uid)\n\t\t\t}\n\n\t\t\t// Preserve the original product id, just in case we need special handling for certain clients later on ...\n\t\t\tif (this._calendarComponent.hasProperty('PRODID')) {\n\t\t\t\tcalendarComp.deleteAllProperties('PRODID')\n\t\t\t\tcalendarComp.addProperty(this._calendarComponent.getFirstProperty('PRODID').clone())\n\t\t\t}\n\n\t\t\tif (this._getOption('preserveMethod', false)) {\n\t\t\t\tif (this._calendarComponent.hasProperty('METHOD')) {\n\t\t\t\t\tcalendarComp.deleteAllProperties('METHOD')\n\t\t\t\t\tcalendarComp.addProperty(this._calendarComponent.getFirstProperty('METHOD').clone())\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const item of itemList) {\n\t\t\t\tcalendarComp.addComponent(item)\n\t\t\t}\n\n\t\t\tyield calendarComp\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcontainsVEvents() {\n\t\treturn this._containsVEvents\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcontainsVJournals() {\n\t\treturn this._containsVJournals\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcontainsVTodos() {\n\t\treturn this._containsVTodos\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tcontainsVFreeBusy() {\n\t\treturn this._containsVFreeBusy\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tgetItemCount() {\n\t\treturn Array.from(this._items.keys()).length\n\t}\n\n\t/**\n\t * Applies all registered repair steps\n\t *\n\t * @private\n\t */\n\t_applyRepairSteps() {\n\t\tfor (const RepairStep of getRepairSteps()) {\n\t\t\tconst step = new RepairStep()\n\t\t\tthis._rawData = step.repair(this._rawData)\n\t\t}\n\t}\n\n\t/**\n\t * Creates a calendar component based upon the repaired data\n\t *\n\t * @private\n\t */\n\t_createCalendarComponent() {\n\t\tconst jCal = ICAL.parse(this._rawData)\n\t\tconst icalComp = new ICAL.Component(jCal)\n\t\tthis._calendarComponent = CalendarComponent.fromICALJs(icalComp)\n\t}\n\n\t/**\n\t * extracts properties\n\t *\n\t * @protected\n\t */\n\t_extractProperties() {\n\t\tthis._extractPropertyAndPutResultIntoVariable(['name', 'x-wr-calname'], '_name')\n\t\tthis._extractPropertyAndPutResultIntoVariable(['color', 'x-apple-calendar-color'], '_color')\n\t\tthis._extractPropertyAndPutResultIntoVariable(['source'], '_sourceURL')\n\t\tthis._extractPropertyAndPutResultIntoVariable(['refresh-interval', 'x-published-ttl'], '_refreshInterval')\n\t\tthis._extractPropertyAndPutResultIntoVariable(['x-wr-timezone'], '_calendarTimezone')\n\t}\n\n\t/**\n\t * Extract a property and writes it into a class property\n\t * names must be an array, it will use the value of the fist\n\t * propertyname it can find\n\t *\n\t * @param {String[]} names The names of the properties to check\n\t * @param {String} variableName The variable name to save it under\n\t * @private\n\t */\n\t_extractPropertyAndPutResultIntoVariable(names, variableName) {\n\t\tfor (const name of names) {\n\t\t\tif (this._calendarComponent.hasProperty(name)) {\n\t\t\t\tthis[variableName] = this._calendarComponent.getFirstPropertyFirstValue(name)\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Extracts timezones from the calendar component\n\t *\n\t * @protected\n\t */\n\t_extractTimezones() {\n\t\tconst matches = this._rawData.match(/^BEGIN:VTIMEZONE$(((?!^END:VTIMEZONE$)(.|\\n))*)^END:VTIMEZONE$\\n/gm)\n\n\t\tif (!matches) {\n\t\t\treturn\n\t\t}\n\n\t\tfor (const match of matches) {\n\t\t\tconst tzidMatcher = match.match(/^TZID:(.*)$/gm)\n\t\t\tif (!tzidMatcher) {\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst tzid = tzidMatcher[0].substr(5)\n\t\t\tconst timezone = new Timezone(tzid, match)\n\t\t\tthis._timezones.set(tzid, timezone)\n\t\t}\n\t}\n\n\t/**\n\t * Registers unknown timezones into our timezone-manager\n\t *\n\t * @protected\n\t */\n\t_registerTimezones() {\n\t\tfor (const [tzid, timezone] of this._timezones) {\n\t\t\tif (!this._defaultTimezoneManager.hasTimezoneForId(tzid)) {\n\t\t\t\tthis._defaultTimezoneManager.registerTimezone(timezone)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Processes the parsed vobjects\n\t *\n\t * @protected\n\t */\n\t_processVObjects() {\n\t\tfor (const vObject of this._calendarComponent.getVObjectIterator()) {\n\t\t\tthis._addItem(vObject)\n\t\t\tthis._markCompTypeAsSeen(vObject.name)\n\t\t\tif (vObject.isRecurrenceException()) {\n\t\t\t\tthis._addRecurrenceException(vObject)\n\t\t\t} else {\n\t\t\t\tvObject.recurrenceManager = new RecurrenceManager(vObject)\n\t\t\t\tthis._masterItems.set(vObject.uid, vObject)\n\t\t\t}\n\n\t\t\tfor (const propertyToCheck of vObject.getPropertyIterator()) {\n\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\tif (value instanceof DateTimeValue && value.timezoneId) {\n\t\t\t\t\t\tthis._addRequiredTimezone(vObject.uid, value.timezoneId)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// TRIGGER is supposed to be stored in UTC only,\n\t\t\t// but not all clients stick to this\n\t\t\tfor (const alarm of vObject.getAlarmIterator()) {\n\t\t\t\tfor (const propertyToCheck of alarm.getPropertyIterator()) {\n\t\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\t\tif (value instanceof DateTimeValue && value.timezoneId) {\n\t\t\t\t\t\t\tthis._addRequiredTimezone(vObject.uid, value.timezoneId)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this._getOption('removeRSVPForAttendees', false)) {\n\t\t\t\tfor (const attendee of vObject.getAttendeeIterator()) {\n\t\t\t\t\tattendee.deleteParameter('RSVP')\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (const recurrenceExceptionList of this._recurrenceExceptionItems.values()) {\n\t\t\tfor (const recurrenceException of recurrenceExceptionList) {\n\n\t\t\t\t// Check if there is a master item for this recurrence exception\n\t\t\t\t// otherwise we have to forge one\n\t\t\t\tif (!this._masterItems.has(recurrenceException.uid)) {\n\t\t\t\t\tconst constructor = getConstructorForComponentName(recurrenceException.name)\n\t\t\t\t\tconst forgedMaster = new constructor(recurrenceException.name, [\n\t\t\t\t\t\t['UID', recurrenceException.uid],\n\t\t\t\t\t\t['DTSTAMP', recurrenceException.stampTime.clone()],\n\t\t\t\t\t\t['DTSTART', recurrenceException.recurrenceId.clone()],\n\t\t\t\t\t])\n\n\t\t\t\t\tforgedMaster.recurrenceManager = new RecurrenceManager(forgedMaster)\n\n\t\t\t\t\tthis._forgedMasterItems.set(recurrenceException.uid, forgedMaster)\n\t\t\t\t\tthis._masterItems.set(recurrenceException.uid, forgedMaster)\n\t\t\t\t\tthis._addItem(forgedMaster)\n\t\t\t\t} else {\n\t\t\t\t\tconst master = this._masterItems.get(recurrenceException.uid)\n\n\t\t\t\t\t// This should usually not be the case,\n\t\t\t\t\t// only if the calendar-data is seriously broken.\n\t\t\t\t\t// Let's try to handle it anyway by adding it to\n\t\t\t\t\t// forgedMasterItems, we will simply add RDATEs\n\t\t\t\t\t// in the next step to make it recur\n\t\t\t\t\tif (!master.isRecurring()) {\n\t\t\t\t\t\tthis._forgedMasterItems.set(master.uid, master)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (this._forgedMasterItems.has(recurrenceException.uid)) {\n\t\t\t\t\tconst forgedMaster = this._forgedMasterItems.get(recurrenceException.uid)\n\t\t\t\t\tforgedMaster.recurrenceManager.addRecurrenceDate(false, recurrenceException.recurrenceId.clone())\n\t\t\t\t}\n\n\t\t\t\tconst masterItem = this._masterItems.get(recurrenceException.uid)\n\t\t\t\tmasterItem.recurrenceManager.relateRecurrenceException(recurrenceException)\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Process FreeBusy components\n\t *\n\t * @private\n\t */\n\t_processVFreeBusy() {\n\t\tfor (const vObject of this._calendarComponent.getFreebusyIterator()) {\n\t\t\tthis._addItem(vObject)\n\t\t\tthis._markCompTypeAsSeen(vObject.name)\n\n\t\t\tfor (const propertyToCheck of vObject.getPropertyIterator()) {\n\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\tif (value instanceof DateTimeValue && value.timezoneId) {\n\t\t\t\t\t\tthis._addRequiredTimezone(vObject.uid, value.timezoneId)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {AbstractRecurringComponent} item The recurrence-item to register\n\t * @private\n\t */\n\t_addRecurrenceException(item) {\n\t\tif (this._recurrenceExceptionItems.has(item.uid)) {\n\t\t\tconst arr = this._recurrenceExceptionItems.get(item.uid)\n\t\t\tarr.push(item)\n\t\t} else {\n\t\t\tthis._recurrenceExceptionItems.set(item.uid, [item])\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {AbstractRecurringComponent} item The item to register\n\t * @private\n\t */\n\t_addItem(item) {\n\t\tif (this._items.has(item.uid)) {\n\t\t\tconst arr = this._items.get(item.uid)\n\t\t\tarr.push(item)\n\t\t} else {\n\t\t\tthis._items.set(item.uid, [item])\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {String} uid The uid of the calendar-object\n\t * @param {String} timezoneId The timezoneId required by the object\n\t * @private\n\t */\n\t_addRequiredTimezone(uid, timezoneId) {\n\t\tif (timezoneId === 'UTC' || timezoneId === 'floating' || timezoneId === 'GMT' || timezoneId === 'Z') {\n\t\t\treturn\n\t\t}\n\n\t\tif (this._requiredTimezones.has(uid)) {\n\t\t\tthis._requiredTimezones.get(uid).add(timezoneId)\n\t\t} else {\n\t\t\tconst set = new Set([timezoneId])\n\t\t\tthis._requiredTimezones.set(uid, set)\n\t\t}\n\t}\n\n\t/**\n\t *\n\t * @param {CalendarComponent} calendarComp The calendar-component to add timezones to\n\t * @param {String} uid The UID of the calendar-object\n\t * @private\n\t */\n\t_addRequiredTimezonesToCalendarComp(calendarComp, uid) {\n\t\tif (!this._requiredTimezones.has(uid)) {\n\t\t\treturn\n\t\t}\n\n\t\tfor (const requiredTimezone of this._requiredTimezones.get(uid)) {\n\t\t\tif (!this._defaultTimezoneManager.hasTimezoneForId(requiredTimezone)) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst timezone = this._defaultTimezoneManager.getTimezoneForId(requiredTimezone)\n\t\t\t// Is this an alias?\n\t\t\tif (timezone.timezoneId !== requiredTimezone) {\n\t\t\t\tthis._replaceTimezoneWithAnotherOne(calendarComp, requiredTimezone, timezone.timezoneId)\n\t\t\t}\n\n\t\t\tconst timezoneComponent = timezone.toTimezoneComponent()\n\t\t\tcalendarComp.addComponent(timezoneComponent)\n\t\t}\n\t}\n\n\t/**\n\t * Replaces all occurrences of searchTimezone with replaceTimezone\n\t *\n\t * @param {CalendarComponent} calendarComponent The calendar-component to replace a timezone in\n\t * @param {String} searchTimezone The timezone to replace\n\t * @param {String} replaceTimezone The replacement timezone\n\t * @private\n\t */\n\t_replaceTimezoneWithAnotherOne(calendarComponent, searchTimezone, replaceTimezone) {\n\t\tfor (const vObject of this._calendarComponent.getVObjectIterator()) {\n\t\t\tfor (const propertyToCheck of vObject.getPropertyIterator()) {\n\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\tif (!(value instanceof DateTimeValue)) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tif (value.timezoneId === searchTimezone) {\n\t\t\t\t\t\tvalue.silentlyReplaceTimezone(replaceTimezone)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// TRIGGER is supposed to be stored in UTC only,\n\t\t\t// but not all clients stick to this\n\t\t\tfor (const alarm of vObject.getAlarmIterator()) {\n\t\t\t\tfor (const propertyToCheck of alarm.getPropertyIterator()) {\n\t\t\t\t\tfor (const value of propertyToCheck.getValueIterator()) {\n\t\t\t\t\t\tif (!(value instanceof DateTimeValue)) {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (value.timezoneId === searchTimezone) {\n\t\t\t\t\t\t\tvalue.silentlyReplaceTimezone(replaceTimezone)\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\t}\n\n\t/**\n\t * Marks a certain component type as seen.\n\t * This is used for\n\t * containsVEvents()\n\t * containsVJournals()\n\t * containsVTodos()\n\t *\n\t * @param {String} compName The name of the visited component\n\t * @private\n\t */\n\t_markCompTypeAsSeen(compName) {\n\t\tswitch (uc(compName)) {\n\t\tcase 'VEVENT':\n\t\t\tthis._containsVEvents = true\n\t\t\tbreak\n\n\t\tcase 'VJOURNAL':\n\t\t\tthis._containsVJournals = true\n\t\t\tbreak\n\n\t\tcase 'VTODO':\n\t\t\tthis._containsVTodos = true\n\t\t\tbreak\n\n\t\tcase 'VFREEBUSY':\n\t\t\tthis._containsVFreeBusy = true\n\t\t\tbreak\n\t\t}\n\t}\n\n\t/**\n\t * @inheritDoc\n\t */\n\tstatic getMimeTypes() {\n\t\treturn ['text/calendar']\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ICalendarAddMissingUIDRepairStep from './icalendarAddMissingUIDRepairStep.js'\nimport ICalendarAddMissingValueDateDoubleColonRepairStep from './icalendarAddMissingValueDateDoubleColonRepairStep.js'\nimport ICalendarAddMissingValueDateRepairStep from './icalendarAddMissingValueDateRepairStep.js'\nimport ICalendarEmptyTriggerRepairStep from './icalendarEmptyTriggerRepairStep.js'\nimport ICalendarIllegalCreatedRepairStep from './icalendarIllegalCreatedRepairStep.js'\nimport ICalendarMultipleVCalendarBlocksRepairStep from './icalendarMultipleVCalendarBlocksRepairStep.js'\nimport ICalendarRemoveXNCGroupIdRepairStep from './icalendarRemoveXNCGroupIdRepairStep.js'\n\n/**\n * Get an iterator over all repair steps for iCalendar documents\n */\nexport function * getRepairSteps() {\n\tyield ICalendarAddMissingUIDRepairStep\n\tyield ICalendarAddMissingValueDateDoubleColonRepairStep\n\tyield ICalendarAddMissingValueDateRepairStep\n\tyield ICalendarEmptyTriggerRepairStep\n\tyield ICalendarIllegalCreatedRepairStep\n\tyield ICalendarMultipleVCalendarBlocksRepairStep\n\tyield ICalendarRemoveXNCGroupIdRepairStep\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ICalendarParser from './icalendarParser.js'\n\n/**\n * @class ParserManager\n * @classdesc\n */\nexport default class ParserManager {\n\n\t/**\n\t * Constructor\n\t */\n\tconstructor() {\n\n\t\t/**\n\t\t * List of supported parsers\n\t\t *\n\t\t * @type {Function[]}\n\t\t */\n\t\tthis._parsers = []\n\t}\n\n\t/**\n\t * Get a list of all supported file-types\n\t *\n\t * @returns {String[]}\n\t */\n\tgetAllSupportedFileTypes() {\n\t\treturn this._parsers.reduce(\n\t\t\t(allFileTypes, parser) => allFileTypes.concat(parser.getMimeTypes()),\n\t\t\t[])\n\t}\n\n\t/**\n\t * Get an instance of a parser for one specific file-type\n\t *\n\t * @param {String} fileType The mime-type to get a parser for\n\t * @param {Object=} options Options destructuring object\n\t * @param {Boolean=} options.extractGlobalProperties Whether or not to preserve properties from the VCALENDAR component (defaults to false)\n\t * @param {Boolean=} options.removeRSVPForAttendees Whether or not to remove RSVP from attendees (defaults to false)\n\t * @param {Boolean=} options.includeTimezones Whether or not to include timezones (defaults to false)\n\t * @param {Boolean=} options.preserveMethod Whether or not to preserve the iCalendar method (defaults to false)\n\t * @param {Boolean=} options.processFreeBusy Whether or not to process VFreeBusy components (defaults to false)\n\t *\n\t * @returns {AbstractParser}\n\t */\n\tgetParserForFileType(fileType, options) {\n\t\tconst Parser = this._parsers.find(\n\t\t\t(parser) => parser.getMimeTypes().includes(fileType))\n\n\t\tif (!Parser) {\n\t\t\tthrow new TypeError('Unknown file-type.')\n\t\t}\n\n\t\treturn new Parser(options)\n\t}\n\n\t/**\n\t * Registers a parser\n\t *\n\t * @param {Function} parser The parser to register\n\t */\n\tregisterParser(parser) {\n\t\tthis._parsers.push(parser)\n\t}\n\n}\n\n/**\n * Gets an instance of the ParserManager with all default parsers\n *\n * @returns {ParserManager}\n */\nexport function getParserManager() {\n\tconst parserManager = new ParserManager()\n\n\t// We only support iCalendar for now.\n\t// JSON calendar and CSV will be supported soon,\n\t// but require some more work\n\n\tparserManager.registerParser(ICalendarParser)\n\t// parserManager.registerParser(JCalendarParser)\n\t// parserManager.registerParser(CSVParser)\n\n\treturn parserManager\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * @class TimezoneAdapter\n * @classdesc Connecting ICAL.TimezoneService with our TimezoneManager\n */\nexport default class TimezoneAdapter {\n\n\t/**\n\t * Constructor\n\t *\n\t * @param {TimezoneManager} timezoneManager The timezone-manager to wrap\n\t */\n\tconstructor(timezoneManager) {\n\n\t\t/**\n\t\t * TimezoneManager object\n\t\t *\n\t\t * @type {TimezoneManager}\n\t\t * @private\n\t\t */\n\t\tthis._timezoneManager = timezoneManager\n\t}\n\n\t/**\n\t * @param {string} timezoneId The id of the timezone\n\t * @returns {boolean}\n\t */\n\thas(timezoneId) {\n\t\treturn this._timezoneManager.hasTimezoneForId(timezoneId)\n\t}\n\n\t/**\n\t * @param {String} timezoneId The id of the timezone\n\t * @returns {ICAL.Timezone|undefined}\n\t */\n\tget(timezoneId) {\n\t\tconst timezone = this._timezoneManager.getTimezoneForId(timezoneId)\n\t\tif (!timezone) {\n\t\t\treturn undefined\n\t\t}\n\n\t\treturn timezone.toICALTimezone()\n\t}\n\n\t/**\n\t * @throws TypeError\n\t */\n\tregister() {\n\t\tthrow new TypeError('Not allowed to register new timezone')\n\t}\n\n\t/**\n\t * @throws TypeError\n\t */\n\tremove() {\n\t\tthrow new TypeError('Not allowed to remove timezone')\n\t}\n\n\t/**\n\t * @throws TypeError\n\t */\n\treset() {\n\t\tthrow new TypeError('Not allowed to reset TimezoneService')\n\t}\n\n}\n","/**\n * @copyright Copyright (c) 2019 Georg Ehrke\n *\n * @author Georg Ehrke <georg-nextcloud@ehrke.email>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { getParserManager } from './parsers/parserManager.js'\nimport TimezoneAdapter from './timezones/timezoneAdapter.js'\nimport { getTimezoneManager } from './timezones/timezoneManager.js'\nimport { v4 as uuid } from 'uuid'\nimport DateTimeValue from './values/dateTimeValue.js'\nimport { dateFactory } from './factories/dateFactory.js'\nimport CalendarComponent from './components/calendarComponent.js'\nimport EventComponent from './components/root/eventComponent.js'\nimport RecurrenceManager from './recurrence/recurrenceManager.js'\nimport FreeBusyComponent from './components/root/freeBusyComponent.js'\nimport ICAL from 'ical.js'\n\nif (!(ICAL.TimezoneService instanceof TimezoneAdapter)) {\n\tICAL.TimezoneService = new TimezoneAdapter(getTimezoneManager())\n}\n\n/**\n * parses a single ICS and returns an iterator over all occurrences\n * in a given timeframe\n *\n * @param {String} ics The calendar-data to parse\n * @param {DateTimeValue} start The start of the queried time-range\n * @param {DateTimeValue} end The end of the queried time-range\n */\nexport function * parseICSAndGetAllOccurrencesBetween(ics, start, end) {\n\tconst parserManager = getParserManager()\n\tconst icsParser = parserManager.getParserForFileType('text/calendar')\n\ticsParser.parse(ics)\n\n\tconst objectIterator = icsParser.getItemIterator()\n\tconst calendarComp = objectIterator.next().value\n\tif (calendarComp === undefined) {\n\t\treturn\n\t}\n\n\tconst vObjectIterator = calendarComp.getVObjectIterator()\n\tconst firstVObject = vObjectIterator.next().value\n\tif (firstVObject === undefined) {\n\t\treturn\n\t}\n\n\tyield * firstVObject.recurrenceManager.getAllOccurrencesBetweenIterator(start, end)\n}\n\n/**\n * Creates a new event\n *\n * @param {DateTimeValue} start Start-time of the new event\n * @param {DateTimeValue} end End-time of the new event\n * @returns {CalendarComponent}\n */\nexport function createEvent(start, end) {\n\tconst calendar = CalendarComponent.fromEmpty()\n\tconst eventComponent = new EventComponent('VEVENT')\n\n\teventComponent.updatePropertyWithValue('CREATED', DateTimeValue.fromJSDate(dateFactory(), true))\n\teventComponent.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\teventComponent.updatePropertyWithValue('LAST-MODIFIED', DateTimeValue.fromJSDate(dateFactory(), true))\n\teventComponent.updatePropertyWithValue('SEQUENCE', 0)\n\teventComponent.updatePropertyWithValue('UID', uuid())\n\teventComponent.updatePropertyWithValue('DTSTART', start)\n\teventComponent.updatePropertyWithValue('DTEND', end)\n\n\tcalendar.addComponent(eventComponent)\n\teventComponent.recurrenceManager = new RecurrenceManager(eventComponent)\n\n\treturn calendar\n}\n\n/**\n * Creates a FreeBusy Request to be used on the scheduling outbox\n *\n * @param {DateTimeValue} start The start of the queried time-range\n * @param {DateTimeValue} end The end of the queried time-range\n * @param {AttendeeProperty} organizer The organizer querying information\n * @param {AttendeeProperty[]}attendees The list of attendees to query information for\n * @returns {CalendarComponent}\n */\nexport function createFreeBusyRequest(start, end, organizer, attendees) {\n\tconst calendar = CalendarComponent.fromMethod('REQUEST')\n\tconst freeBusyComponent = new FreeBusyComponent('VFREEBUSY')\n\n\tfreeBusyComponent.updatePropertyWithValue('DTSTAMP', DateTimeValue.fromJSDate(dateFactory(), true))\n\tfreeBusyComponent.updatePropertyWithValue('UID', uuid())\n\tfreeBusyComponent.updatePropertyWithValue('DTSTART', start.clone().getInUTC())\n\tfreeBusyComponent.updatePropertyWithValue('DTEND', end.clone().getInUTC())\n\tfreeBusyComponent.addProperty(organizer.clone())\n\n\tfor (const attendee of attendees) {\n\t\tconst clonedAttendee = attendee.clone()\n\t\tclonedAttendee.deleteParameter('ROLE')\n\t\tclonedAttendee.deleteParameter('CUTYPE')\n\t\tclonedAttendee.deleteParameter('RSVP')\n\t\tclonedAttendee.deleteParameter('PARTSTAT')\n\t\tclonedAttendee.deleteParameter('REQUEST-STATUS')\n\t\tclonedAttendee.deleteParameter('LANGUAGE')\n\n\t\tfreeBusyComponent.addProperty(clonedAttendee)\n\t}\n\n\tcalendar.addComponent(freeBusyComponent)\n\treturn calendar\n}\n\nexport { setConfig } from './config.js'\nexport { getParserManager }\nexport { getTimezoneManager, isOlsonTimezone } from './timezones/timezoneManager.js'\n","export function isDate(value) {\n return value instanceof Date || Object.prototype.toString.call(value) === '[object Date]';\n}\nexport function toDate(value) {\n if (isDate(value)) {\n return new Date(value.getTime());\n }\n\n if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(value);\n}\nexport function isValidDate(value) {\n return isDate(value) && !isNaN(value.getTime());\n}\nexport function startOfWeek(value) {\n var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (!(firstDayOfWeek >= 0 && firstDayOfWeek <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6');\n }\n\n var date = toDate(value);\n var day = date.getDay();\n var diff = (day + 7 - firstDayOfWeek) % 7;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nexport function startOfWeekYear(value) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$firstDayOfWeek = _ref.firstDayOfWeek,\n firstDayOfWeek = _ref$firstDayOfWeek === void 0 ? 0 : _ref$firstDayOfWeek,\n _ref$firstWeekContain = _ref.firstWeekContainsDate,\n firstWeekContainsDate = _ref$firstWeekContain === void 0 ? 1 : _ref$firstWeekContain;\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7');\n }\n\n var date = toDate(value);\n var year = date.getFullYear();\n var firstDateOfFirstWeek = new Date(0);\n\n for (var i = year + 1; i >= year - 1; i--) {\n firstDateOfFirstWeek.setFullYear(i, 0, firstWeekContainsDate);\n firstDateOfFirstWeek.setHours(0, 0, 0, 0);\n firstDateOfFirstWeek = startOfWeek(firstDateOfFirstWeek, firstDayOfWeek);\n\n if (date.getTime() >= firstDateOfFirstWeek.getTime()) {\n break;\n }\n }\n\n return firstDateOfFirstWeek;\n}\nexport function getWeek(value) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$firstDayOfWeek = _ref2.firstDayOfWeek,\n firstDayOfWeek = _ref2$firstDayOfWeek === void 0 ? 0 : _ref2$firstDayOfWeek,\n _ref2$firstWeekContai = _ref2.firstWeekContainsDate,\n firstWeekContainsDate = _ref2$firstWeekContai === void 0 ? 1 : _ref2$firstWeekContai;\n\n var date = toDate(value);\n var firstDateOfThisWeek = startOfWeek(date, firstDayOfWeek);\n var firstDateOfFirstWeek = startOfWeekYear(date, {\n firstDayOfWeek: firstDayOfWeek,\n firstWeekContainsDate: firstWeekContainsDate\n });\n var diff = firstDateOfThisWeek.getTime() - firstDateOfFirstWeek.getTime();\n return Math.round(diff / (7 * 24 * 3600 * 1000)) + 1;\n}","var locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nexport default locale;","import { toDate, isValidDate, getWeek } from './util';\nimport defaultLocale from './locale/en';\nvar REGEX_FORMAT = /\\[([^\\]]+)]|YYYY|YY?|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|m{1,2}|s{1,2}|Z{1,2}|S{1,3}|w{1,2}|x|X|a|A/g;\n\nfunction pad(val) {\n var len = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var output = \"\".concat(Math.abs(val));\n var sign = val < 0 ? '-' : '';\n\n while (output.length < len) {\n output = \"0\".concat(output);\n }\n\n return sign + output;\n}\n\nfunction formatTimezone(offset) {\n var delimeter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n return sign + pad(hours, 2) + delimeter + pad(minutes, 2);\n}\n\nvar meridiem = function meridiem(h, _, isLowercase) {\n var word = h < 12 ? 'AM' : 'PM';\n return isLowercase ? word.toLocaleLowerCase() : word;\n};\n\nvar formatFlags = {\n Y: function Y(date) {\n var y = date.getFullYear();\n return y <= 9999 ? \"\".concat(y) : \"+\".concat(y);\n },\n // Year: 00, 01, ..., 99\n YY: function YY(date) {\n return pad(date.getFullYear(), 4).substr(2);\n },\n // Year: 1900, 1901, ..., 2099\n YYYY: function YYYY(date) {\n return pad(date.getFullYear(), 4);\n },\n // Month: 1, 2, ..., 12\n M: function M(date) {\n return date.getMonth() + 1;\n },\n // Month: 01, 02, ..., 12\n MM: function MM(date) {\n return pad(date.getMonth() + 1, 2);\n },\n MMM: function MMM(date, locale) {\n return locale.monthsShort[date.getMonth()];\n },\n MMMM: function MMMM(date, locale) {\n return locale.months[date.getMonth()];\n },\n // Day of month: 1, 2, ..., 31\n D: function D(date) {\n return date.getDate();\n },\n // Day of month: 01, 02, ..., 31\n DD: function DD(date) {\n return pad(date.getDate(), 2);\n },\n // Hour: 0, 1, ... 23\n H: function H(date) {\n return date.getHours();\n },\n // Hour: 00, 01, ..., 23\n HH: function HH(date) {\n return pad(date.getHours(), 2);\n },\n // Hour: 1, 2, ..., 12\n h: function h(date) {\n var hours = date.getHours();\n\n if (hours === 0) {\n return 12;\n }\n\n if (hours > 12) {\n return hours % 12;\n }\n\n return hours;\n },\n // Hour: 01, 02, ..., 12\n hh: function hh() {\n var hours = formatFlags.h.apply(formatFlags, arguments);\n return pad(hours, 2);\n },\n // Minute: 0, 1, ..., 59\n m: function m(date) {\n return date.getMinutes();\n },\n // Minute: 00, 01, ..., 59\n mm: function mm(date) {\n return pad(date.getMinutes(), 2);\n },\n // Second: 0, 1, ..., 59\n s: function s(date) {\n return date.getSeconds();\n },\n // Second: 00, 01, ..., 59\n ss: function ss(date) {\n return pad(date.getSeconds(), 2);\n },\n // 1/10 of second: 0, 1, ..., 9\n S: function S(date) {\n return Math.floor(date.getMilliseconds() / 100);\n },\n // 1/100 of second: 00, 01, ..., 99\n SS: function SS(date) {\n return pad(Math.floor(date.getMilliseconds() / 10), 2);\n },\n // Millisecond: 000, 001, ..., 999\n SSS: function SSS(date) {\n return pad(date.getMilliseconds(), 3);\n },\n // Day of week: 0, 1, ..., 6\n d: function d(date) {\n return date.getDay();\n },\n // Day of week: 'Su', 'Mo', ..., 'Sa'\n dd: function dd(date, locale) {\n return locale.weekdaysMin[date.getDay()];\n },\n // Day of week: 'Sun', 'Mon',..., 'Sat'\n ddd: function ddd(date, locale) {\n return locale.weekdaysShort[date.getDay()];\n },\n // Day of week: 'Sunday', 'Monday', ...,'Saturday'\n dddd: function dddd(date, locale) {\n return locale.weekdays[date.getDay()];\n },\n // AM, PM\n A: function A(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), false);\n },\n // am, pm\n a: function a(date, locale) {\n var meridiemFunc = locale.meridiem || meridiem;\n return meridiemFunc(date.getHours(), date.getMinutes(), true);\n },\n // Timezone: -01:00, +00:00, ... +12:00\n Z: function Z(date) {\n return formatTimezone(date.getTimezoneOffset(), ':');\n },\n // Timezone: -0100, +0000, ... +1200\n ZZ: function ZZ(date) {\n return formatTimezone(date.getTimezoneOffset());\n },\n // Seconds timestamp: 512969520\n X: function X(date) {\n return Math.floor(date.getTime() / 1000);\n },\n // Milliseconds timestamp: 512969520900\n x: function x(date) {\n return date.getTime();\n },\n w: function w(date, locale) {\n return getWeek(date, {\n firstDayOfWeek: locale.firstDayOfWeek,\n firstWeekContainsDate: locale.firstWeekContainsDate\n });\n },\n ww: function ww(date, locale) {\n return pad(formatFlags.w(date, locale), 2);\n }\n};\n\nfunction format(val, str) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var formatStr = str ? String(str) : 'YYYY-MM-DDTHH:mm:ss.SSSZ';\n var date = toDate(val);\n\n if (!isValidDate(date)) {\n return 'Invalid Date';\n }\n\n var locale = options.locale || defaultLocale;\n return formatStr.replace(REGEX_FORMAT, function (match, p1) {\n if (p1) {\n return p1;\n }\n\n if (typeof formatFlags[match] === 'function') {\n return \"\".concat(formatFlags[match](date, locale));\n }\n\n return match;\n });\n}\n\nexport default format;","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport defaultLocale from './locale/en';\nimport { startOfWeekYear } from './util';\nvar formattingTokens = /(\\[[^\\[]*\\])|(MM?M?M?|Do|DD?|ddd?d?|w[o|w]?|YYYY|YY|a|A|hh?|HH?|mm?|ss?|S{1,3}|x|X|ZZ?|.)/g;\nvar match1 = /\\d/; // 0 - 9\n\nvar match2 = /\\d\\d/; // 00 - 99\n\nvar match3 = /\\d{3}/; // 000 - 999\n\nvar match4 = /\\d{4}/; // 0000 - 9999\n\nvar match1to2 = /\\d\\d?/; // 0 - 99\n\nvar matchShortOffset = /[+-]\\d\\d:?\\d\\d/; // +00:00 -00:00 +0000 or -0000\n\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n// const matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i; // Word\n\nvar YEAR = 'year';\nvar MONTH = 'month';\nvar DAY = 'day';\nvar HOUR = 'hour';\nvar MINUTE = 'minute';\nvar SECOND = 'second';\nvar MILLISECOND = 'millisecond';\nvar parseFlags = {};\n\nvar addParseFlag = function addParseFlag(token, regex, callback) {\n var tokens = Array.isArray(token) ? token : [token];\n var func;\n\n if (typeof callback === 'string') {\n func = function func(input) {\n var value = parseInt(input, 10);\n return _defineProperty({}, callback, value);\n };\n } else {\n func = callback;\n }\n\n tokens.forEach(function (key) {\n parseFlags[key] = [regex, func];\n });\n};\n\nvar escapeStringRegExp = function escapeStringRegExp(str) {\n return str.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n};\n\nvar matchWordRegExp = function matchWordRegExp(localeKey) {\n return function (locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n return new RegExp(array.map(escapeStringRegExp).join('|'));\n };\n};\n\nvar matchWordCallback = function matchWordCallback(localeKey, key) {\n return function (input, locale) {\n var array = locale[localeKey];\n\n if (!Array.isArray(array)) {\n throw new Error(\"Locale[\".concat(localeKey, \"] need an array\"));\n }\n\n var index = array.indexOf(input);\n\n if (index < 0) {\n throw new Error('Invalid Word');\n }\n\n return _defineProperty({}, key, index);\n };\n};\n\naddParseFlag('Y', matchSigned, YEAR);\naddParseFlag('YY', match2, function (input) {\n var year = new Date().getFullYear();\n var cent = Math.floor(year / 100);\n var value = parseInt(input, 10);\n value = (value > 68 ? cent - 1 : cent) * 100 + value;\n return _defineProperty({}, YEAR, value);\n});\naddParseFlag('YYYY', match4, YEAR);\naddParseFlag('M', match1to2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MM', match2, function (input) {\n return _defineProperty({}, MONTH, parseInt(input, 10) - 1);\n});\naddParseFlag('MMM', matchWordRegExp('monthsShort'), matchWordCallback('monthsShort', MONTH));\naddParseFlag('MMMM', matchWordRegExp('months'), matchWordCallback('months', MONTH));\naddParseFlag('D', match1to2, DAY);\naddParseFlag('DD', match2, DAY);\naddParseFlag(['H', 'h'], match1to2, HOUR);\naddParseFlag(['HH', 'hh'], match2, HOUR);\naddParseFlag('m', match1to2, MINUTE);\naddParseFlag('mm', match2, MINUTE);\naddParseFlag('s', match1to2, SECOND);\naddParseFlag('ss', match2, SECOND);\naddParseFlag('S', match1, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 100);\n});\naddParseFlag('SS', match2, function (input) {\n return _defineProperty({}, MILLISECOND, parseInt(input, 10) * 10);\n});\naddParseFlag('SSS', match3, MILLISECOND);\n\nfunction matchMeridiem(locale) {\n return locale.meridiemParse || /[ap]\\.?m?\\.?/i;\n}\n\nfunction defaultIsPM(input) {\n return \"\".concat(input).toLowerCase().charAt(0) === 'p';\n}\n\naddParseFlag(['A', 'a'], matchMeridiem, function (input, locale) {\n var isPM = typeof locale.isPM === 'function' ? locale.isPM(input) : defaultIsPM(input);\n return {\n isPM: isPM\n };\n});\n\nfunction offsetFromString(str) {\n var _ref8 = str.match(/([+-]|\\d\\d)/g) || ['-', '0', '0'],\n _ref9 = _slicedToArray(_ref8, 3),\n symbol = _ref9[0],\n hour = _ref9[1],\n minute = _ref9[2];\n\n var minutes = parseInt(hour, 10) * 60 + parseInt(minute, 10);\n\n if (minutes === 0) {\n return 0;\n }\n\n return symbol === '+' ? -minutes : +minutes;\n}\n\naddParseFlag(['Z', 'ZZ'], matchShortOffset, function (input) {\n return {\n offset: offsetFromString(input)\n };\n});\naddParseFlag('x', matchSigned, function (input) {\n return {\n date: new Date(parseInt(input, 10))\n };\n});\naddParseFlag('X', matchTimestamp, function (input) {\n return {\n date: new Date(parseFloat(input) * 1000)\n };\n});\naddParseFlag('d', match1, 'weekday');\naddParseFlag('dd', matchWordRegExp('weekdaysMin'), matchWordCallback('weekdaysMin', 'weekday'));\naddParseFlag('ddd', matchWordRegExp('weekdaysShort'), matchWordCallback('weekdaysShort', 'weekday'));\naddParseFlag('dddd', matchWordRegExp('weekdays'), matchWordCallback('weekdays', 'weekday'));\naddParseFlag('w', match1to2, 'week');\naddParseFlag('ww', match2, 'week');\n\nfunction to24hour(hour, isPM) {\n if (hour !== undefined && isPM !== undefined) {\n if (isPM) {\n if (hour < 12) {\n return hour + 12;\n }\n } else if (hour === 12) {\n return 0;\n }\n }\n\n return hour;\n}\n\nfunction getFullInputArray(input) {\n var backupDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();\n var result = [0, 0, 1, 0, 0, 0, 0];\n var backupArr = [backupDate.getFullYear(), backupDate.getMonth(), backupDate.getDate(), backupDate.getHours(), backupDate.getMinutes(), backupDate.getSeconds(), backupDate.getMilliseconds()];\n var useBackup = true;\n\n for (var i = 0; i < 7; i++) {\n if (input[i] === undefined) {\n result[i] = useBackup ? backupArr[i] : result[i];\n } else {\n result[i] = input[i];\n useBackup = false;\n }\n }\n\n return result;\n}\n\nfunction createUTCDate() {\n var date;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var y = args[0];\n\n if (y < 100 && y >= 0) {\n args[0] += 400;\n date = new Date(Date.UTC.apply(Date, args)); // eslint-disable-next-line no-restricted-globals\n\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(Date, args));\n }\n\n return date;\n}\n\nfunction makeParser(dateString, format, locale) {\n var tokens = format.match(formattingTokens);\n\n if (!tokens) {\n throw new Error();\n }\n\n var length = tokens.length;\n var mark = {};\n\n for (var i = 0; i < length; i += 1) {\n var token = tokens[i];\n var parseTo = parseFlags[token];\n\n if (!parseTo) {\n var word = token.replace(/^\\[|\\]$/g, '');\n\n if (dateString.indexOf(word) === 0) {\n dateString = dateString.substr(word.length);\n } else {\n throw new Error('not match');\n }\n } else {\n var regex = typeof parseTo[0] === 'function' ? parseTo[0](locale) : parseTo[0];\n var parser = parseTo[1];\n var value = (regex.exec(dateString) || [])[0];\n var obj = parser(value, locale);\n mark = _objectSpread({}, mark, {}, obj);\n dateString = dateString.replace(value, '');\n }\n }\n\n return mark;\n}\n\nexport default function parse(str, format) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n try {\n var _options$locale = options.locale,\n _locale = _options$locale === void 0 ? defaultLocale : _options$locale,\n _options$backupDate = options.backupDate,\n backupDate = _options$backupDate === void 0 ? new Date() : _options$backupDate;\n\n var parseResult = makeParser(str, format, _locale);\n var year = parseResult.year,\n month = parseResult.month,\n day = parseResult.day,\n hour = parseResult.hour,\n minute = parseResult.minute,\n second = parseResult.second,\n millisecond = parseResult.millisecond,\n isPM = parseResult.isPM,\n date = parseResult.date,\n offset = parseResult.offset,\n weekday = parseResult.weekday,\n week = parseResult.week;\n\n if (date) {\n return date;\n }\n\n var inputArray = [year, month, day, hour, minute, second, millisecond];\n inputArray[3] = to24hour(inputArray[3], isPM); // check week\n\n if (week !== undefined && month === undefined && day === undefined) {\n // new Date(year, 3) make sure in current year\n var firstDate = startOfWeekYear(year === undefined ? backupDate : new Date(year, 3), {\n firstDayOfWeek: _locale.firstDayOfWeek,\n firstWeekContainsDate: _locale.firstWeekContainsDate\n });\n return new Date(firstDate.getTime() + (week - 1) * 7 * 24 * 3600 * 1000);\n }\n\n var utcDate = createUTCDate.apply(void 0, _toConsumableArray(getFullInputArray(inputArray, backupDate)));\n var offsetMilliseconds = (offset === undefined ? utcDate.getTimezoneOffset() : offset) * 60 * 1000;\n var parsedDate = new Date(utcDate.getTime() + offsetMilliseconds); // check weekday\n\n if (weekday !== undefined && parsedDate.getDay() !== weekday) {\n return new Date(NaN);\n }\n\n return parsedDate;\n } catch (e) {\n return new Date(NaN);\n }\n}","import { getWeek, format, parse } from 'date-format-parse';\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _extends$1() {\n return _extends$1 = Object.assign || function (a) {\n for (var b, c = 1; c < arguments.length; c++) {\n for (var d in b = arguments[c], b) {\n Object.prototype.hasOwnProperty.call(b, d) && (a[d] = b[d]);\n }\n }\n\n return a;\n }, _extends$1.apply(this, arguments);\n}\n\nvar normalMerge = [\"attrs\", \"props\", \"domProps\"],\n toArrayMerge = [\"class\", \"style\", \"directives\"],\n functionalMerge = [\"on\", \"nativeOn\"],\n mergeJsxProps = function mergeJsxProps(a) {\n return a.reduce(function (c, a) {\n for (var b in a) {\n if (!c[b]) c[b] = a[b];else if (-1 !== normalMerge.indexOf(b)) c[b] = _extends$1({}, c[b], a[b]);else if (-1 !== toArrayMerge.indexOf(b)) {\n var d = c[b] instanceof Array ? c[b] : [c[b]],\n e = a[b] instanceof Array ? a[b] : [a[b]];\n c[b] = d.concat(e);\n } else if (-1 !== functionalMerge.indexOf(b)) {\n for (var f in a[b]) {\n if (c[b][f]) {\n var g = c[b][f] instanceof Array ? c[b][f] : [c[b][f]],\n h = a[b][f] instanceof Array ? a[b][f] : [a[b][f]];\n c[b][f] = g.concat(h);\n } else c[b][f] = a[b][f];\n }\n } else if (\"hook\" == b) for (var i in a[b]) {\n c[b][i] = c[b][i] ? mergeFn(c[b][i], a[b][i]) : a[b][i];\n } else c[b] = a[b];\n }\n\n return c;\n }, {});\n},\n mergeFn = function mergeFn(a, b) {\n return function () {\n a && a.apply(this, arguments), b && b.apply(this, arguments);\n };\n};\n\nvar helper = mergeJsxProps;\n\n// new Date(10, 0, 1) The year from 0 to 99 will be incremented by 1900 automatically.\nfunction createDate(y) {\n var M = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var d = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n var h = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var m = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var s = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n var ms = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;\n var date = new Date(y, M, d, h, m, s, ms);\n\n if (y < 100 && y >= 0) {\n date.setFullYear(y);\n }\n\n return date;\n}\nfunction isValidDate(date) {\n return date instanceof Date && !isNaN(date);\n}\nfunction isValidRangeDate(date) {\n return Array.isArray(date) && date.length === 2 && date.every(isValidDate) && date[0] <= date[1];\n}\nfunction isValidDates(dates) {\n return Array.isArray(dates) && dates.every(isValidDate);\n}\nfunction getValidDate(value) {\n var date = new Date(value);\n\n if (isValidDate(date)) {\n return date;\n }\n\n for (var _len = arguments.length, backup = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n backup[_key - 1] = arguments[_key];\n }\n\n if (backup.length) {\n return getValidDate.apply(void 0, backup);\n }\n\n return new Date();\n}\nfunction startOfYear(value) {\n var date = new Date(value);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfMonth(value) {\n var date = new Date(value);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction startOfDay(value) {\n var date = new Date(value);\n date.setHours(0, 0, 0, 0);\n return date;\n}\nfunction getCalendar(_ref) {\n var firstDayOfWeek = _ref.firstDayOfWeek,\n year = _ref.year,\n month = _ref.month;\n var arr = []; // change to the last day of the last month\n\n var calendar = createDate(year, month, 0);\n var lastDayInLastMonth = calendar.getDate(); // getDay() 0 is Sunday, 1 is Monday\n\n var firstDayInLastMonth = lastDayInLastMonth - (calendar.getDay() + 7 - firstDayOfWeek) % 7;\n\n for (var i = firstDayInLastMonth; i <= lastDayInLastMonth; i++) {\n arr.push(createDate(year, month, i - lastDayInLastMonth));\n } // change to the last day of the current month\n\n\n calendar.setMonth(month + 1, 0);\n var lastDayInCurrentMonth = calendar.getDate();\n\n for (var _i = 1; _i <= lastDayInCurrentMonth; _i++) {\n arr.push(createDate(year, month, _i));\n }\n\n var lastMonthLength = lastDayInLastMonth - firstDayInLastMonth + 1;\n var nextMonthLength = 6 * 7 - lastMonthLength - lastDayInCurrentMonth;\n\n for (var _i2 = 1; _i2 <= nextMonthLength; _i2++) {\n arr.push(createDate(year, month, lastDayInCurrentMonth + _i2));\n }\n\n return arr;\n}\nfunction setMonth(dirtyDate, dirtyMonth) {\n var date = new Date(dirtyDate);\n var month = Number(dirtyMonth);\n var year = date.getFullYear();\n var daysInMonth = createDate(year, month + 1, 0).getDate();\n var day = date.getDate();\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}\nfunction assignTime(target, source) {\n var date = new Date(target);\n var time = new Date(source);\n date.setHours(time.getHours(), time.getMinutes(), time.getSeconds());\n return date;\n}\n\n/**\n * chunk the array\n * @param {Array} arr\n * @param {Number} size\n */\nfunction chunk(arr, size) {\n if (!Array.isArray(arr)) {\n return [];\n }\n\n var result = [];\n var len = arr.length;\n var i = 0;\n size = size || len;\n\n while (i < len) {\n result.push(arr.slice(i, i += size));\n }\n\n return result;\n}\n/**\n * isObject\n * @param {*} obj\n * @returns {Boolean}\n */\n\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n/**\n * pick object\n * @param {Object} obj\n * @param {Array|String} props\n */\n\nfunction pick(obj, props) {\n if (!isObject(obj)) return {};\n\n if (!Array.isArray(props)) {\n props = [props];\n }\n\n var res = {};\n props.forEach(function (prop) {\n if (prop in obj) {\n res[prop] = obj[prop];\n }\n });\n return res;\n}\n/**\n * deep merge two object without merging array\n * @param {object} target\n * @param {object} source\n */\n\nfunction mergeDeep(target, source) {\n if (!isObject(target)) {\n return {};\n }\n\n var result = target;\n\n if (isObject(source)) {\n Object.keys(source).forEach(function (key) {\n var value = source[key];\n\n if (isObject(value) && isObject(target[key])) {\n value = mergeDeep(target[key], value);\n }\n\n result = _objectSpread2({}, result, _defineProperty({}, key, value));\n });\n }\n\n return result;\n}\n\nfunction unwrapExports (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar en = createCommonjsModule(function (module, exports) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar locale = {\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n weekdaysMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n firstDayOfWeek: 0,\n firstWeekContainsDate: 1\n};\nvar _default = locale;\nexports[\"default\"] = _default;\nmodule.exports = exports.default;\n});\n\nvar en$1 = unwrapExports(en);\n\nvar lang = {\n formatLocale: en$1,\n yearFormat: 'YYYY',\n monthFormat: 'MMM',\n monthBeforeYear: true\n};\n\nvar defaultLocale = 'en';\nvar locales = {};\nlocales[defaultLocale] = lang;\nfunction locale(name, object, isLocal) {\n if (typeof name !== 'string') return locales[defaultLocale];\n var l = defaultLocale;\n\n if (locales[name]) {\n l = name;\n }\n\n if (object) {\n locales[name] = object;\n l = name;\n }\n\n if (!isLocal) {\n defaultLocale = l;\n }\n\n return locales[name] || locales[defaultLocale];\n}\n/**\n * get locale object\n * @param {string} name lang\n */\n\nfunction getLocale(name) {\n return locale(name, null, true);\n}\n\n/* istanbul ignore file */\nfunction rafThrottle(fn) {\n var isRunning = false;\n return function fnBinfRaf() {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (isRunning) return;\n isRunning = true;\n requestAnimationFrame(function () {\n isRunning = false;\n fn.apply(_this, args);\n });\n };\n}\n\n/**\n * get the hidden element width, height\n * @param {HTMLElement} element dom\n */\nfunction getPopupElementSize(element) {\n var originalDisplay = element.style.display;\n var originalVisibility = element.style.visibility;\n element.style.display = 'block';\n element.style.visibility = 'hidden';\n var styles = window.getComputedStyle(element);\n var width = element.offsetWidth + parseInt(styles.marginLeft, 10) + parseInt(styles.marginRight, 10);\n var height = element.offsetHeight + parseInt(styles.marginTop, 10) + parseInt(styles.marginBottom, 10);\n element.style.display = originalDisplay;\n element.style.visibility = originalVisibility;\n return {\n width: width,\n height: height\n };\n}\n/**\n * get the popup position\n * @param {HTMLElement} el relative element\n * @param {Number} targetWidth target element's width\n * @param {Number} targetHeight target element's height\n * @param {Boolean} fixed\n */\n\nfunction getRelativePosition(el, targetWidth, targetHeight, fixed) {\n var left = 0;\n var top = 0;\n var offsetX = 0;\n var offsetY = 0;\n var relativeRect = el.getBoundingClientRect();\n var dw = document.documentElement.clientWidth;\n var dh = document.documentElement.clientHeight;\n\n if (fixed) {\n offsetX = window.pageXOffset + relativeRect.left;\n offsetY = window.pageYOffset + relativeRect.top;\n }\n\n if (dw - relativeRect.left < targetWidth && relativeRect.right < targetWidth) {\n left = offsetX - relativeRect.left + 1;\n } else if (relativeRect.left + relativeRect.width / 2 <= dw / 2) {\n left = offsetX;\n } else {\n left = offsetX + relativeRect.width - targetWidth;\n }\n\n if (relativeRect.top <= targetHeight && dh - relativeRect.bottom <= targetHeight) {\n top = offsetY + dh - relativeRect.top - targetHeight;\n } else if (relativeRect.top + relativeRect.height / 2 <= dh / 2) {\n top = offsetY + relativeRect.height;\n } else {\n top = offsetY - targetHeight;\n }\n\n return {\n left: \"\".concat(left, \"px\"),\n top: \"\".concat(top, \"px\")\n };\n}\nfunction getScrollParent(node) {\n var until = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.body;\n\n if (!node || node === until) {\n return null;\n }\n\n var style = function style(value, prop) {\n return getComputedStyle(value, null).getPropertyValue(prop);\n };\n\n var regex = /(auto|scroll)/;\n var scroll = regex.test(style(node, 'overflow') + style(node, 'overflow-y') + style(node, 'overflow-x'));\n return scroll ? node : getScrollParent(node.parentNode, until);\n}\n\n//\nvar script = {\n name: 'Popup',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n appendToBody: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n top: '',\n left: ''\n };\n },\n watch: {\n visible: {\n immediate: true,\n handler: function handler(val) {\n var _this = this;\n\n this.$nextTick(function () {\n if (val) {\n _this.displayPopup();\n }\n });\n }\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.appendToBody) {\n document.body.appendChild(this.$el);\n }\n\n this._clickoutEvent = 'ontouchend' in document ? 'touchstart' : 'mousedown';\n document.addEventListener(this._clickoutEvent, this.handleClickOutside); // change the popup position when resize or scroll\n\n var relativeElement = this.$parent.$el;\n this._displayPopup = rafThrottle(function () {\n return _this2.displayPopup();\n });\n this._scrollParent = getScrollParent(relativeElement) || window;\n\n this._scrollParent.addEventListener('scroll', this._displayPopup);\n\n window.addEventListener('resize', this._displayPopup);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.appendToBody && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n\n document.removeEventListener(this._clickoutEvent, this.handleClickOutside);\n\n this._scrollParent.removeEventListener('scroll', this._displayPopup);\n\n window.removeEventListener('resize', this._displayPopup);\n },\n methods: {\n handleClickOutside: function handleClickOutside(evt) {\n if (!this.visible) return;\n var target = evt.target;\n var el = this.$el;\n\n if (el && !el.contains(target)) {\n this.$emit('clickoutside', evt);\n }\n },\n displayPopup: function displayPopup() {\n if (!this.visible) return;\n var popup = this.$el;\n var relativeElement = this.$parent.$el;\n var appendToBody = this.appendToBody;\n\n if (!this._popupRect) {\n this._popupRect = getPopupElementSize(popup);\n }\n\n var _this$_popupRect = this._popupRect,\n width = _this$_popupRect.width,\n height = _this$_popupRect.height;\n\n var _getRelativePosition = getRelativePosition(relativeElement, width, height, appendToBody),\n left = _getRelativePosition.left,\n top = _getRelativePosition.top;\n\n this.left = left;\n this.top = top;\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('transition', {\n attrs: {\n \"name\": _vm.prefixClass + \"-zoom-in-down\"\n }\n }, [_vm.visible ? _c('div', {\n class: _vm.prefixClass + \"-datepicker-main \" + _vm.prefixClass + \"-datepicker-popup\",\n style: {\n top: _vm.top,\n left: _vm.left,\n position: 'absolute'\n }\n }, [_vm._t(\"default\")], 2) : _vm._e()]);\n};\n\nvar __vue_staticRenderFns__ = [];\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$1 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M940.218182 107.054545h-209.454546V46.545455h-65.163636v60.50909H363.054545V46.545455H297.890909v60.50909H83.781818c-18.618182 0-32.581818 13.963636-32.581818 32.581819v805.236363c0 18.618182 13.963636 32.581818 32.581818 32.581818h861.090909c18.618182 0 32.581818-13.963636 32.581818-32.581818V139.636364c-4.654545-18.618182-18.618182-32.581818-37.236363-32.581819zM297.890909 172.218182V232.727273h65.163636V172.218182h307.2V232.727273h65.163637V172.218182h176.872727v204.8H116.363636V172.218182h181.527273zM116.363636 912.290909V442.181818h795.927273v470.109091H116.363636z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$1 = [];\n/* style */\n\nvar __vue_inject_styles__$1 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$1 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$1 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$1 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$1 = normalizeComponent({\n render: __vue_render__$1,\n staticRenderFns: __vue_staticRenderFns__$1\n}, __vue_inject_styles__$1, {}, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);\n\n/* script */\n\n/* template */\nvar __vue_render__$2 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('svg', {\n attrs: {\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 1024 1024\",\n \"width\": \"1em\",\n \"height\": \"1em\"\n }\n }, [_c('path', {\n attrs: {\n \"d\": \"M810.005333 274.005333l-237.994667 237.994667 237.994667 237.994667-60.010667 60.010667-237.994667-237.994667-237.994667 237.994667-60.010667-60.010667 237.994667-237.994667-237.994667-237.994667 60.010667-60.010667 237.994667 237.994667 237.994667-237.994667z\"\n }\n })]);\n};\n\nvar __vue_staticRenderFns__$2 = [];\n/* style */\n\nvar __vue_inject_styles__$2 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$2 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$2 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$2 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$2 = normalizeComponent({\n render: __vue_render__$2,\n staticRenderFns: __vue_staticRenderFns__$2\n}, __vue_inject_styles__$2, {}, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar script$1 = {\n props: {\n type: String\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n }\n};\n\n/* script */\nvar __vue_script__$1 = script$1;\n/* template */\n\nvar __vue_render__$3 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('button', _vm._g({\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-icon-\" + _vm.type,\n attrs: {\n \"type\": \"button\"\n }\n }, _vm.$listeners), [_c('i', {\n class: _vm.prefixClass + \"-icon-\" + _vm.type\n })]);\n};\n\nvar __vue_staticRenderFns__$3 = [];\n/* style */\n\nvar __vue_inject_styles__$3 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$3 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$3 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$3 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$3 = normalizeComponent({\n render: __vue_render__$3,\n staticRenderFns: __vue_staticRenderFns__$3\n}, __vue_inject_styles__$3, __vue_script__$1, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);\n\nvar script$2 = {\n name: 'TableDate',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n getWeek: {\n default: function _default() {\n return getWeek;\n }\n },\n prefixClass: {\n default: 'mx'\n },\n onDateMouseEnter: {\n default: undefined\n },\n onDateMouseLeave: {\n default: undefined\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: false\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n getRowClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n firstDayOfWeek: function firstDayOfWeek() {\n return this.getLocale().formatLocale.firstDayOfWeek || 0;\n },\n yearMonth: function yearMonth() {\n var _this$getLocale = this.getLocale(),\n yearFormat = _this$getLocale.yearFormat,\n monthBeforeYear = _this$getLocale.monthBeforeYear,\n _this$getLocale$month = _this$getLocale.monthFormat,\n monthFormat = _this$getLocale$month === void 0 ? 'MMM' : _this$getLocale$month;\n\n var yearLabel = {\n panel: 'year',\n label: this.formatDate(this.calendar, yearFormat)\n };\n var monthLabel = {\n panel: 'month',\n label: this.formatDate(this.calendar, monthFormat)\n };\n return monthBeforeYear ? [monthLabel, yearLabel] : [yearLabel, monthLabel];\n },\n days: function days() {\n var locale = this.getLocale();\n var days = locale.days || locale.formatLocale.weekdaysMin;\n return days.concat(days).slice(this.firstDayOfWeek, this.firstDayOfWeek + 7);\n },\n dates: function dates() {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n var arr = getCalendar({\n firstDayOfWeek: this.firstDayOfWeek,\n year: year,\n month: month\n });\n return chunk(arr, 7);\n }\n },\n methods: {\n getNextCalendar: function getNextCalendar(diffMonth) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year, month + diffMonth);\n },\n handleIconLeftClick: function handleIconLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-1), 'last-month');\n },\n handleIconRightClick: function handleIconRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(1), 'next-month');\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-12), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(12), 'next-year');\n },\n handlePanelChange: function handlePanelChange(panel) {\n this.$emit('changepanel', panel);\n },\n handleMouseEnter: function handleMouseEnter(cell) {\n if (typeof this.onDateMouseEnter === 'function') {\n this.onDateMouseEnter(cell);\n }\n },\n handleMouseLeave: function handleMouseLeave(cell) {\n if (typeof this.onDateMouseLeave === 'function') {\n this.onDateMouseLeave(cell);\n }\n },\n handleCellClick: function handleCellClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var index = target.getAttribute('data-row-col');\n\n if (index) {\n var _index$split$map = index.split(',').map(function (v) {\n return parseInt(v, 10);\n }),\n _index$split$map2 = _slicedToArray(_index$split$map, 2),\n row = _index$split$map2[0],\n col = _index$split$map2[1];\n\n var date = this.dates[row][col];\n this.$emit('select', new Date(date));\n }\n },\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n getCellTitle: function getCellTitle(date) {\n var fmt = this.titleFormat;\n return this.formatDate(date, fmt);\n },\n getWeekNumber: function getWeekNumber(date) {\n return this.getWeek(date, this.getLocale().formatLocale);\n }\n }\n};\n\n/* script */\nvar __vue_script__$2 = script$2;\n/* template */\n\nvar __vue_render__$4 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-date\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"left\"\n },\n on: {\n \"click\": _vm.handleIconLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"right\"\n },\n on: {\n \"click\": _vm.handleIconRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, _vm._l(_vm.yearMonth, function (item) {\n return _c('button', {\n key: item.panel,\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-btn-current-\" + item.panel,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function click($event) {\n return _vm.handlePanelChange(item.panel);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.label) + \"\\n \")]);\n }), 0)], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-date\"\n }, [_c('thead', [_c('tr', [_vm.showWeekNumber ? _c('th', {\n class: _vm.prefixClass + \"-week-number-header\"\n }) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.days, function (day) {\n return _c('th', {\n key: day\n }, [_vm._v(_vm._s(day))]);\n })], 2)]), _vm._v(\" \"), _c('tbody', {\n on: {\n \"click\": _vm.handleCellClick\n }\n }, _vm._l(_vm.dates, function (row, i) {\n return _c('tr', {\n key: i,\n class: [_vm.prefixClass + \"-date-row\", _vm.getRowClasses(row)]\n }, [_vm.showWeekNumber ? _c('td', {\n class: _vm.prefixClass + \"-week-number\",\n attrs: {\n \"data-row-col\": i + \",0\"\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.getWeekNumber(row[0])) + \"\\n \")]) : _vm._e(), _vm._v(\" \"), _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-row-col\": i + \",\" + j,\n \"title\": _vm.getCellTitle(cell)\n },\n on: {\n \"mouseenter\": function mouseenter($event) {\n return _vm.handleMouseEnter(cell);\n },\n \"mouseleave\": function mouseleave($event) {\n return _vm.handleMouseLeave(cell);\n }\n }\n }, [_c('div', [_vm._v(_vm._s(cell.getDate()))])]);\n })], 2);\n }), 0)])])]);\n};\n\nvar __vue_staticRenderFns__$4 = [];\n/* style */\n\nvar __vue_inject_styles__$4 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$4 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$4 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$4 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$4 = normalizeComponent({\n render: __vue_render__$4,\n staticRenderFns: __vue_staticRenderFns__$4\n}, __vue_inject_styles__$4, __vue_script__$2, __vue_scope_id__$4, __vue_is_functional_template__$4, __vue_module_identifier__$4, false, undefined, undefined, undefined);\n\n//\nvar script$3 = {\n name: 'TableMonth',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n calendarYear: function calendarYear() {\n return this.calendar.getFullYear();\n },\n months: function months() {\n var locale = this.getLocale();\n var monthsLocale = locale.months || locale.formatLocale.monthsShort;\n var months = monthsLocale.map(function (text, month) {\n return {\n text: text,\n month: month\n };\n });\n return chunk(months, 3);\n }\n },\n methods: {\n getNextCalendar: function getNextCalendar(diffYear) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year + diffYear, month);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-1), 'last-year');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(1), 'next-year');\n },\n handlePanelChange: function handlePanelChange() {\n this.$emit('changepanel', 'year');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var month = target.getAttribute('data-month');\n\n if (month) {\n this.$emit('select', parseInt(month, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$3 = script$3;\n/* template */\n\nvar __vue_render__$5 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-month\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handlePanelChange\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.calendarYear) + \"\\n \")])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-month\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.months, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell.month),\n attrs: {\n \"data-month\": cell.month\n }\n }, [_c('div', [_vm._v(_vm._s(cell.text))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$5 = [];\n/* style */\n\nvar __vue_inject_styles__$5 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$5 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$5 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$5 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$5 = normalizeComponent({\n render: __vue_render__$5,\n staticRenderFns: __vue_staticRenderFns__$5\n}, __vue_inject_styles__$5, __vue_script__$3, __vue_scope_id__$5, __vue_is_functional_template__$5, __vue_module_identifier__$5, false, undefined, undefined, undefined);\n\n//\nvar script$4 = {\n name: 'TableYear',\n components: {\n IconButton: __vue_component__$3\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n calendar: {\n type: Date,\n default: function _default() {\n return new Date();\n }\n },\n getCellClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n getYearPanel: {\n type: Function\n }\n },\n computed: {\n years: function years() {\n var calendar = new Date(this.calendar);\n\n if (typeof this.getYearPanel === 'function') {\n return this.getYearPanel(calendar);\n }\n\n return this.getYears(calendar);\n },\n firstYear: function firstYear() {\n return this.years[0][0];\n },\n lastYear: function lastYear() {\n var last = function last(arr) {\n return arr[arr.length - 1];\n };\n\n return last(last(this.years));\n }\n },\n methods: {\n getYears: function getYears(calendar) {\n var firstYear = Math.floor(calendar.getFullYear() / 10) * 10;\n var years = [];\n\n for (var i = 0; i < 10; i++) {\n years.push(firstYear + i);\n }\n\n return chunk(years, 2);\n },\n getNextCalendar: function getNextCalendar(diffYear) {\n var year = this.calendar.getFullYear();\n var month = this.calendar.getMonth();\n return createDate(year + diffYear, month);\n },\n handleIconDoubleLeftClick: function handleIconDoubleLeftClick() {\n this.$emit('changecalendar', this.getNextCalendar(-10), 'last-decade');\n },\n handleIconDoubleRightClick: function handleIconDoubleRightClick() {\n this.$emit('changecalendar', this.getNextCalendar(10), 'next-decade');\n },\n handleClick: function handleClick(evt) {\n var target = evt.target;\n\n if (target.tagName.toUpperCase() === 'DIV') {\n target = target.parentNode;\n }\n\n var year = target.getAttribute('data-year');\n\n if (year) {\n this.$emit('select', parseInt(year, 10));\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$4 = script$4;\n/* template */\n\nvar __vue_render__$6 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-calendar \" + _vm.prefixClass + \"-calendar-panel-year\"\n }, [_c('div', {\n class: _vm.prefixClass + \"-calendar-header\"\n }, [_c('icon-button', {\n attrs: {\n \"type\": \"double-left\"\n },\n on: {\n \"click\": _vm.handleIconDoubleLeftClick\n }\n }), _vm._v(\" \"), _c('icon-button', {\n attrs: {\n \"type\": \"double-right\"\n },\n on: {\n \"click\": _vm.handleIconDoubleRightClick\n }\n }), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-header-label\"\n }, [_c('span', [_vm._v(_vm._s(_vm.firstYear))]), _vm._v(\" \"), _c('span', {\n class: _vm.prefixClass + \"-calendar-decade-separator\"\n }), _vm._v(\" \"), _c('span', [_vm._v(_vm._s(_vm.lastYear))])])], 1), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-calendar-content\"\n }, [_c('table', {\n class: _vm.prefixClass + \"-table \" + _vm.prefixClass + \"-table-year\",\n on: {\n \"click\": _vm.handleClick\n }\n }, _vm._l(_vm.years, function (row, i) {\n return _c('tr', {\n key: i\n }, _vm._l(row, function (cell, j) {\n return _c('td', {\n key: j,\n staticClass: \"cell\",\n class: _vm.getCellClasses(cell),\n attrs: {\n \"data-year\": cell\n }\n }, [_c('div', [_vm._v(_vm._s(cell))])]);\n }), 0);\n }), 0)])]);\n};\n\nvar __vue_staticRenderFns__$6 = [];\n/* style */\n\nvar __vue_inject_styles__$6 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$6 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$6 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$6 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$6 = normalizeComponent({\n render: __vue_render__$6,\n staticRenderFns: __vue_staticRenderFns__$6\n}, __vue_inject_styles__$6, __vue_script__$4, __vue_scope_id__$6, __vue_is_functional_template__$6, __vue_module_identifier__$6, false, undefined, undefined, undefined);\n\nvar CalendarPanel = {\n name: 'CalendarPanel',\n inject: {\n prefixClass: {\n default: 'mx'\n },\n dispatchDatePicker: {\n default: function _default() {\n return function () {};\n }\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n defaultPanel: {\n type: String\n },\n disabledDate: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n type: {\n type: String,\n default: 'date'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n showWeekNumber: {\n type: Boolean,\n default: undefined\n },\n getYearPanel: {\n type: Function\n },\n titleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n calendar: Date,\n // update date when select year or month\n partialUpdate: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n var panels = ['date', 'month', 'year'];\n var index = Math.max(panels.indexOf(this.type), panels.indexOf(this.defaultPanel));\n var panel = index !== -1 ? panels[index] : 'date';\n return {\n panel: panel,\n innerCalendar: new Date()\n };\n },\n computed: {\n innerValue: function innerValue() {\n var value = Array.isArray(this.value) ? this.value : [this.value];\n var map = {\n year: startOfYear,\n month: startOfMonth,\n date: startOfDay\n };\n var start = map[this.type] || map.date;\n return value.filter(isValidDate).map(function (v) {\n return start(v);\n });\n },\n calendarYear: function calendarYear() {\n return this.innerCalendar.getFullYear();\n },\n calendarMonth: function calendarMonth() {\n return this.innerCalendar.getMonth();\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: 'initCalendar'\n },\n calendar: {\n handler: 'initCalendar'\n },\n defaultValue: {\n handler: 'initCalendar'\n }\n },\n methods: {\n initCalendar: function initCalendar() {\n var calendarDate = this.calendar;\n\n if (!isValidDate(calendarDate)) {\n var length = this.innerValue.length;\n calendarDate = getValidDate(length > 0 ? this.innerValue[length - 1] : this.defaultValue);\n }\n\n this.innerCalendar = startOfMonth(calendarDate);\n },\n isDisabled: function isDisabled(date) {\n return this.disabledDate(new Date(date), this.innerValue);\n },\n emitDate: function emitDate(date, type) {\n if (!this.isDisabled(date)) {\n this.$emit('select', date, type, this.innerValue); // someone need get the first selected date to set range value. (#429)\n\n this.dispatchDatePicker('pick', date, type);\n }\n },\n handleCalendarChange: function handleCalendarChange(calendar, type) {\n var oldCalendar = new Date(this.innerCalendar);\n this.innerCalendar = calendar;\n this.$emit('update:calendar', calendar);\n this.dispatchDatePicker('calendar-change', calendar, oldCalendar, type);\n },\n handelPanelChange: function handelPanelChange(panel) {\n var oldPanel = this.panel;\n this.panel = panel;\n this.dispatchDatePicker('panel-change', panel, oldPanel);\n },\n handleSelectYear: function handleSelectYear(year) {\n if (this.type === 'year') {\n var date = this.getYearCellDate(year);\n this.emitDate(date, 'year');\n } else {\n this.handleCalendarChange(createDate(year, this.calendarMonth), 'year');\n this.handelPanelChange('month');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date = new Date(this.innerValue[0]);\n\n _date.setFullYear(year);\n\n this.emitDate(_date, 'year');\n }\n }\n },\n handleSelectMonth: function handleSelectMonth(month) {\n if (this.type === 'month') {\n var date = this.getMonthCellDate(month);\n this.emitDate(date, 'month');\n } else {\n this.handleCalendarChange(createDate(this.calendarYear, month), 'month');\n this.handelPanelChange('date');\n\n if (this.partialUpdate && this.innerValue.length === 1) {\n var _date2 = new Date(this.innerValue[0]);\n\n _date2.setFullYear(this.calendarYear);\n\n this.emitDate(setMonth(_date2, month), 'month');\n }\n }\n },\n handleSelectDate: function handleSelectDate(date) {\n this.emitDate(date, this.type === 'week' ? 'week' : 'date');\n },\n getMonthCellDate: function getMonthCellDate(month) {\n return createDate(this.calendarYear, month);\n },\n getYearCellDate: function getYearCellDate(year) {\n return createDate(year, 0);\n },\n getDateClasses: function getDateClasses(cellDate) {\n var notCurrentMonth = cellDate.getMonth() !== this.calendarMonth;\n var classes = [];\n\n if (cellDate.getTime() === new Date().setHours(0, 0, 0, 0)) {\n classes.push('today');\n }\n\n if (notCurrentMonth) {\n classes.push('not-current-month');\n }\n\n var state = this.getStateClass(cellDate);\n\n if (!(state === 'active' && notCurrentMonth)) {\n classes.push(state);\n }\n\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getMonthClasses: function getMonthClasses(month) {\n if (this.type !== 'month') {\n return this.calendarMonth === month ? 'active' : '';\n }\n\n var classes = [];\n var cellDate = this.getMonthCellDate(month);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getYearClasses: function getYearClasses(year) {\n if (this.type !== 'year') {\n return this.calendarYear === year ? 'active' : '';\n }\n\n var classes = [];\n var cellDate = this.getYearCellDate(year);\n classes.push(this.getStateClass(cellDate));\n return classes.concat(this.getClasses(cellDate, this.innerValue, classes.join(' ')));\n },\n getStateClass: function getStateClass(cellDate) {\n if (this.isDisabled(cellDate)) {\n return 'disabled';\n }\n\n if (this.innerValue.some(function (v) {\n return v.getTime() === cellDate.getTime();\n })) {\n return 'active';\n }\n\n return '';\n },\n getWeekState: function getWeekState(row) {\n if (this.type !== 'week') return '';\n var start = row[0].getTime();\n var end = row[6].getTime();\n var active = this.innerValue.some(function (v) {\n var time = v.getTime();\n return time >= start && time <= end;\n });\n return active ? \"\".concat(this.prefixClass, \"-active-week\") : '';\n }\n },\n render: function render() {\n var h = arguments[0];\n var panel = this.panel,\n innerCalendar = this.innerCalendar;\n\n if (panel === 'year') {\n return h(__vue_component__$6, {\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getYearClasses,\n \"getYearPanel\": this.getYearPanel\n },\n \"on\": {\n \"select\": this.handleSelectYear,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n if (panel === 'month') {\n return h(__vue_component__$5, {\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getMonthClasses\n },\n \"on\": {\n \"select\": this.handleSelectMonth,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n\n return h(__vue_component__$4, {\n \"class\": _defineProperty({}, \"\".concat(this.prefixClass, \"-calendar-week-mode\"), this.type === 'week'),\n \"attrs\": {\n \"calendar\": innerCalendar,\n \"getCellClasses\": this.getDateClasses,\n \"getRowClasses\": this.getWeekState,\n \"titleFormat\": this.titleFormat,\n \"showWeekNumber\": typeof this.showWeekNumber === 'boolean' ? this.showWeekNumber : this.type === 'week'\n },\n \"on\": {\n \"select\": this.handleSelectDate,\n \"changepanel\": this.handelPanelChange,\n \"changecalendar\": this.handleCalendarChange\n }\n });\n }\n};\n\nvar CalendarRange = {\n name: 'CalendarRange',\n components: {\n CalendarPanel: CalendarPanel\n },\n provide: function provide() {\n return {\n onDateMouseEnter: this.onDateMouseEnter,\n onDateMouseLeave: this.onDateMouseLeave\n };\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, CalendarPanel.props),\n data: function data() {\n return {\n innerValue: [],\n calendars: [],\n hoveredValue: null\n };\n },\n computed: {\n // Minimum difference between start and end calendars\n calendarMinDiff: function calendarMinDiff() {\n var map = {\n date: 1,\n // type:date min 1 month\n month: 1 * 12,\n // type:month min 1 year\n year: 10 * 12 // type:year min 10 year\n\n };\n return map[this.type] || map.date;\n },\n calendarMaxDiff: function calendarMaxDiff() {\n return Infinity;\n },\n defaultValues: function defaultValues() {\n return Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n }\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n var _this = this;\n\n this.innerValue = isValidRangeDate(this.value) ? this.value : [new Date(NaN), new Date(NaN)];\n var calendars = this.innerValue.map(function (v, i) {\n return startOfMonth(getValidDate(v, _this.defaultValues[i]));\n });\n this.updateCalendars(calendars);\n }\n }\n },\n methods: {\n handleSelect: function handleSelect(date, type) {\n var _this$innerValue = _slicedToArray(this.innerValue, 2),\n startValue = _this$innerValue[0],\n endValue = _this$innerValue[1];\n\n if (isValidDate(startValue) && !isValidDate(endValue)) {\n if (startValue.getTime() > date.getTime()) {\n this.innerValue = [date, startValue];\n } else {\n this.innerValue = [startValue, date];\n }\n\n this.emitDate(this.innerValue, type);\n } else {\n this.innerValue = [date, new Date(NaN)];\n }\n },\n onDateMouseEnter: function onDateMouseEnter(cell) {\n this.hoveredValue = cell;\n },\n onDateMouseLeave: function onDateMouseLeave() {\n this.hoveredValue = null;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n updateStartCalendar: function updateStartCalendar(value) {\n this.updateCalendars([value, this.calendars[1]], 1);\n },\n updateEndCalendar: function updateEndCalendar(value) {\n this.updateCalendars([this.calendars[0], value], 0);\n },\n updateCalendars: function updateCalendars(calendars) {\n var adjustIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var gap = this.getCalendarGap(calendars);\n\n if (gap) {\n var calendar = new Date(calendars[adjustIndex]);\n calendar.setMonth(calendar.getMonth() + (adjustIndex === 0 ? -gap : gap));\n calendars[adjustIndex] = calendar;\n }\n\n this.calendars = calendars;\n },\n getCalendarGap: function getCalendarGap(calendars) {\n var _calendars = _slicedToArray(calendars, 2),\n calendarLeft = _calendars[0],\n calendarRight = _calendars[1];\n\n var yearDiff = calendarRight.getFullYear() - calendarLeft.getFullYear();\n var monthDiff = calendarRight.getMonth() - calendarLeft.getMonth();\n var diff = yearDiff * 12 + monthDiff;\n var min = this.calendarMinDiff;\n var max = this.calendarMaxDiff;\n\n if (diff < min) {\n return min - diff;\n }\n\n if (diff > max) {\n return max - diff;\n }\n\n return 0;\n },\n getRangeClasses: function getRangeClasses(cellDate, currentDates, classnames) {\n var classes = [].concat(this.getClasses(cellDate, currentDates, classnames));\n if (/disabled|active/.test(classnames)) return classes;\n\n var inRange = function inRange(data, range) {\n var fn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (v) {\n return v.getTime();\n };\n var value = fn(data);\n\n var _range$map = range.map(fn),\n _range$map2 = _slicedToArray(_range$map, 2),\n min = _range$map2[0],\n max = _range$map2[1];\n\n if (min > max) {\n var _ref = [max, min];\n min = _ref[0];\n max = _ref[1];\n }\n\n return value > min && value < max;\n };\n\n if (currentDates.length === 2 && inRange(cellDate, currentDates)) {\n return classes.concat('in-range');\n }\n\n if (currentDates.length === 1 && this.hoveredValue && inRange(cellDate, [currentDates[0], this.hoveredValue])) {\n return classes.concat('hover-in-range');\n }\n\n return classes;\n }\n },\n render: function render() {\n var _this2 = this;\n\n var h = arguments[0];\n var calendarRange = this.calendars.map(function (calendar, index) {\n var props = _objectSpread2({}, _this2.$props, {\n calendar: calendar,\n value: _this2.innerValue,\n defaultValue: _this2.defaultValues[index],\n getClasses: _this2.getRangeClasses,\n // don't update when range is true\n partialUpdate: false\n });\n\n var on = {\n select: _this2.handleSelect,\n 'update:calendar': index === 0 ? _this2.updateStartCalendar : _this2.updateEndCalendar\n };\n return h(\"calendar-panel\", {\n \"props\": _objectSpread2({}, props),\n \"on\": _objectSpread2({}, on)\n });\n });\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [calendarRange]);\n }\n};\n\nvar scrollBarWidth;\nfunction getScrollbarWidth () {\n if (typeof window === 'undefined') return 0;\n if (scrollBarWidth !== undefined) return scrollBarWidth;\n var outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll';\n outer.style.width = '100px';\n outer.style.position = 'absolute';\n outer.style.top = '-9999px';\n document.body.appendChild(outer);\n var inner = document.createElement('div');\n inner.style.width = '100%';\n outer.appendChild(inner);\n scrollBarWidth = outer.offsetWidth - inner.offsetWidth;\n outer.parentNode.removeChild(outer);\n return scrollBarWidth;\n}\n\n//\nvar script$5 = {\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n data: function data() {\n return {\n scrollbarWidth: 0,\n thumbTop: '',\n thumbHeight: ''\n };\n },\n created: function created() {\n this.scrollbarWidth = getScrollbarWidth();\n document.addEventListener('mouseup', this.handleDragend);\n },\n beforeDestroy: function beforeDestroy() {\n document.addEventListener('mouseup', this.handleDragend);\n },\n mounted: function mounted() {\n this.$nextTick(this.getThumbSize);\n },\n methods: {\n getThumbSize: function getThumbSize() {\n var wrap = this.$refs.wrap;\n if (!wrap) return;\n var heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;\n this.thumbHeight = heightPercentage < 100 ? \"\".concat(heightPercentage, \"%\") : '';\n },\n handleScroll: function handleScroll(evt) {\n var el = evt.currentTarget;\n var scrollHeight = el.scrollHeight,\n scrollTop = el.scrollTop;\n this.thumbTop = \"\".concat(scrollTop * 100 / scrollHeight, \"%\");\n },\n handleDragstart: function handleDragstart(evt) {\n evt.stopImmediatePropagation();\n this._draggable = true;\n var offsetTop = this.$refs.thumb.offsetTop;\n this._prevY = evt.clientY - offsetTop;\n document.addEventListener('mousemove', this.handleDraging);\n },\n handleDraging: function handleDraging(evt) {\n if (!this._draggable) return;\n var clientY = evt.clientY;\n var wrap = this.$refs.wrap;\n var scrollHeight = wrap.scrollHeight,\n clientHeight = wrap.clientHeight;\n var offsetY = clientY - this._prevY;\n var top = offsetY * scrollHeight / clientHeight;\n wrap.scrollTop = top;\n },\n handleDragend: function handleDragend() {\n if (this._draggable) {\n this._draggable = false;\n document.removeEventListener('mousemove', this.handleDraging);\n }\n }\n }\n};\n\n/* script */\nvar __vue_script__$5 = script$5;\n/* template */\n\nvar __vue_render__$7 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-scrollbar\",\n style: {\n position: 'relative',\n overflow: 'hidden'\n }\n }, [_c('div', {\n ref: \"wrap\",\n class: _vm.prefixClass + \"-scrollbar-wrap\",\n style: {\n marginRight: \"-\" + _vm.scrollbarWidth + \"px\"\n },\n on: {\n \"scroll\": _vm.handleScroll\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-scrollbar-track\"\n }, [_c('div', {\n ref: \"thumb\",\n class: _vm.prefixClass + \"-scrollbar-thumb\",\n style: {\n height: _vm.thumbHeight,\n top: _vm.thumbTop\n },\n on: {\n \"mousedown\": _vm.handleDragstart\n }\n })])]);\n};\n\nvar __vue_staticRenderFns__$7 = [];\n/* style */\n\nvar __vue_inject_styles__$7 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$7 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$7 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$7 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$7 = normalizeComponent({\n render: __vue_render__$7,\n staticRenderFns: __vue_staticRenderFns__$7\n}, __vue_inject_styles__$7, __vue_script__$5, __vue_scope_id__$7, __vue_is_functional_template__$7, __vue_module_identifier__$7, false, undefined, undefined, undefined);\n\n//\n\nvar padNumber = function padNumber(value) {\n value = parseInt(value, 10);\n return value < 10 ? \"0\".concat(value) : \"\".concat(value);\n};\n\nvar generateOptions = function generateOptions(length, step, options) {\n if (Array.isArray(options)) {\n return options.filter(function (v) {\n return v >= 0 && v < length;\n });\n }\n\n if (step <= 0) {\n step = 1;\n }\n\n var arr = [];\n\n for (var i = 0; i < length; i += step) {\n arr.push(i);\n }\n\n return arr;\n};\n\nvar scrollTo = function scrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n // jump to target if duration zero\n if (duration <= 0) {\n requestAnimationFrame(function () {\n element.scrollTop = to;\n });\n return;\n }\n\n var difference = to - element.scrollTop;\n var tick = difference / duration * 10;\n requestAnimationFrame(function () {\n var scrollTop = element.scrollTop + tick;\n\n if (scrollTop >= to) {\n element.scrollTop = to;\n return;\n }\n\n element.scrollTop = scrollTop;\n scrollTo(element, to, duration - 10);\n });\n};\n\nvar script$6 = {\n name: 'ListColumns',\n components: {\n ScrollbarVertical: __vue_component__$7\n },\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n scrollDuration: {\n type: Number,\n default: 100\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n showHour: {\n type: Boolean,\n default: true\n },\n showMinute: {\n type: Boolean,\n default: true\n },\n showSecond: {\n type: Boolean,\n default: true\n },\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n use12h: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n columns: function columns() {\n var cols = [];\n if (this.showHour) cols.push({\n type: 'hour',\n list: this.getHoursList()\n });\n if (this.showMinute) cols.push({\n type: 'minute',\n list: this.getMinutesList()\n });\n if (this.showSecond) cols.push({\n type: 'second',\n list: this.getSecondsList()\n });\n if (this.use12h) cols.push({\n type: 'ampm',\n list: this.getAMPMList()\n });\n return cols.filter(function (v) {\n return v.list.length > 0;\n });\n }\n },\n watch: {\n date: {\n handler: function handler() {\n var _this = this;\n\n this.$nextTick(function () {\n _this.scrollToSelected(_this.scrollDuration);\n });\n }\n }\n },\n mounted: function mounted() {\n this.scrollToSelected(0);\n },\n methods: {\n getHoursList: function getHoursList() {\n var _this2 = this;\n\n return generateOptions(this.use12h ? 12 : 24, this.hourStep, this.hourOptions).map(function (num) {\n var date = new Date(_this2.date);\n var text = padNumber(num);\n\n if (_this2.use12h) {\n if (num === 0) {\n text = '12';\n }\n\n if (date.getHours() >= 12) {\n num += 12;\n }\n }\n\n var value = date.setHours(num);\n return {\n value: value,\n text: text\n };\n });\n },\n getMinutesList: function getMinutesList() {\n var _this3 = this;\n\n return generateOptions(60, this.minuteStep, this.minuteOptions).map(function (num) {\n var value = new Date(_this3.date).setMinutes(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getSecondsList: function getSecondsList() {\n var _this4 = this;\n\n return generateOptions(60, this.secondStep, this.secondOptions).map(function (num) {\n var value = new Date(_this4.date).setSeconds(num);\n return {\n value: value,\n text: padNumber(num)\n };\n });\n },\n getAMPMList: function getAMPMList() {\n var _this5 = this;\n\n return ['AM', 'PM'].map(function (text, i) {\n var date = new Date(_this5.date);\n var value = date.setHours(date.getHours() % 12 + i * 12);\n return {\n text: text,\n value: value\n };\n });\n },\n scrollToSelected: function scrollToSelected(duration) {\n var elements = this.$el.querySelectorAll('.active');\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var scrollElement = getScrollParent(element, this.$el);\n\n if (scrollElement) {\n var to = element.offsetTop;\n scrollTo(scrollElement, to, duration);\n }\n }\n },\n handleSelect: function handleSelect(evt) {\n var target = evt.target,\n currentTarget = evt.currentTarget;\n if (target.tagName.toUpperCase() !== 'LI') return;\n var type = currentTarget.getAttribute('data-type');\n var colIndex = parseInt(currentTarget.getAttribute('data-index'), 10);\n var cellIndex = parseInt(target.getAttribute('data-index'), 10);\n var value = this.columns[colIndex].list[cellIndex].value;\n this.$emit('select', value, type);\n }\n }\n};\n\n/* script */\nvar __vue_script__$6 = script$6;\n/* template */\n\nvar __vue_render__$8 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time-columns\"\n }, _vm._l(_vm.columns, function (col, i) {\n return _c('scrollbar-vertical', {\n key: i,\n class: _vm.prefixClass + \"-time-column\"\n }, [_c('ul', {\n class: _vm.prefixClass + \"-time-list\",\n attrs: {\n \"data-type\": col.type,\n \"data-index\": i\n },\n on: {\n \"click\": _vm.handleSelect\n }\n }, _vm._l(col.list, function (item, j) {\n return _c('li', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-item\", _vm.getClasses(item.value)],\n attrs: {\n \"data-index\": j\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0)]);\n }), 1);\n};\n\nvar __vue_staticRenderFns__$8 = [];\n/* style */\n\nvar __vue_inject_styles__$8 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$8 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$8 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$8 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$8 = normalizeComponent({\n render: __vue_render__$8,\n staticRenderFns: __vue_staticRenderFns__$8\n}, __vue_inject_styles__$8, __vue_script__$6, __vue_scope_id__$8, __vue_is_functional_template__$8, __vue_module_identifier__$8, false, undefined, undefined, undefined);\n\n//\n\nfunction parseOption() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var values = time.split(':');\n\n if (values.length >= 2) {\n var hours = parseInt(values[0], 10);\n var minutes = parseInt(values[1], 10);\n return {\n hours: hours,\n minutes: minutes\n };\n }\n\n return null;\n}\n\nvar scrollTo$1 = function scrollTo(element, to) {\n if (element) {\n element.scrollTop = to;\n }\n};\n\nvar script$7 = {\n name: 'ListOptions',\n components: {\n ScrollbarVertical: __vue_component__$7\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n date: Date,\n options: {\n type: [Object, Function],\n default: function _default() {\n return [];\n }\n },\n format: {\n type: String,\n default: 'HH:mm:ss'\n },\n getClasses: {\n type: Function,\n default: function _default() {\n return [];\n }\n }\n },\n computed: {\n list: function list() {\n var result = [];\n var options = this.options;\n\n if (typeof options === 'function') {\n return options() || [];\n }\n\n var start = parseOption(options.start);\n var end = parseOption(options.end);\n var step = parseOption(options.step);\n var fmt = options.format || this.format;\n\n if (start && end && step) {\n var startMinutes = start.minutes + start.hours * 60;\n var endMinutes = end.minutes + end.hours * 60;\n var stepMinutes = step.minutes + step.hours * 60;\n var len = Math.floor((endMinutes - startMinutes) / stepMinutes);\n\n for (var i = 0; i <= len; i++) {\n var timeMinutes = startMinutes + i * stepMinutes;\n var hours = Math.floor(timeMinutes / 60);\n var minutes = timeMinutes % 60;\n var value = new Date(this.date).setHours(hours, minutes, 0);\n result.push({\n value: value,\n text: this.formatDate(value, fmt)\n });\n }\n }\n\n return result;\n }\n },\n mounted: function mounted() {\n this.scrollToSelected();\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n scrollToSelected: function scrollToSelected() {\n var element = this.$el.querySelector('.active');\n if (!element) return;\n var scrollElement = getScrollParent(element, this.$el);\n if (!scrollElement) return;\n var to = element.offsetTop;\n scrollTo$1(scrollElement, to);\n },\n handleSelect: function handleSelect(value) {\n this.$emit('select', value, 'time');\n }\n }\n};\n\n/* script */\nvar __vue_script__$7 = script$7;\n/* template */\n\nvar __vue_render__$9 = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('scrollbar-vertical', _vm._l(_vm.list, function (item) {\n return _c('div', {\n key: item.value,\n class: [_vm.prefixClass + \"-time-option\", _vm.getClasses(item.value)],\n on: {\n \"click\": function click($event) {\n return _vm.handleSelect(item.value);\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.text) + \"\\n \")]);\n }), 0);\n};\n\nvar __vue_staticRenderFns__$9 = [];\n/* style */\n\nvar __vue_inject_styles__$9 = undefined;\n/* scoped */\n\nvar __vue_scope_id__$9 = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$9 = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$9 = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$9 = normalizeComponent({\n render: __vue_render__$9,\n staticRenderFns: __vue_staticRenderFns__$9\n}, __vue_inject_styles__$9, __vue_script__$7, __vue_scope_id__$9, __vue_is_functional_template__$9, __vue_module_identifier__$9, false, undefined, undefined, undefined);\n\n//\nvar script$8 = {\n name: 'TimePanel',\n components: {\n ListColumns: __vue_component__$8,\n ListOptions: __vue_component__$9\n },\n inject: {\n getLocale: {\n default: function _default() {\n return getLocale;\n }\n },\n prefixClass: {\n default: 'mx'\n }\n },\n props: {\n value: {},\n defaultValue: {\n default: function _default() {\n var date = new Date();\n date.setHours(0, 0, 0, 0);\n return date;\n }\n },\n format: {\n default: 'HH:mm:ss'\n },\n timeTitleFormat: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n showTimeHeader: {\n type: Boolean,\n default: false\n },\n disabledTime: {\n type: Function,\n default: function _default() {\n return false;\n }\n },\n timePickerOptions: {\n type: [Object, Function],\n default: function _default() {\n return null;\n }\n },\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n hourStep: {\n type: Number,\n default: 1\n },\n minuteStep: {\n type: Number,\n default: 1\n },\n secondStep: {\n type: Number,\n default: 1\n },\n showHour: {\n type: Boolean,\n default: undefined\n },\n showMinute: {\n type: Boolean,\n default: undefined\n },\n showSecond: {\n type: Boolean,\n default: undefined\n },\n use12h: {\n type: Boolean,\n default: undefined\n },\n scrollDuration: {\n type: Number,\n default: 100\n }\n },\n computed: {\n innerValue: function innerValue() {\n return getValidDate(this.value, this.defaultValue);\n },\n title: function title() {\n var titleFormat = this.timeTitleFormat;\n var date = new Date(this.innerValue);\n return this.formatDate(date, titleFormat);\n },\n innerForamt: function innerForamt() {\n return typeof this.format === 'string' ? this.format : 'HH:mm:ss';\n },\n ShowHourMinuteSecondAMPM: function ShowHourMinuteSecondAMPM() {\n var _this = this;\n\n var fmt = this.innerForamt;\n var defaultProps = {\n showHour: /[HhKk]/.test(fmt),\n showMinute: /m/.test(fmt),\n showSecond: /s/.test(fmt),\n use12h: /a/i.test(fmt)\n };\n var obj = {};\n Object.keys(defaultProps).forEach(function (key) {\n obj[key] = typeof _this[key] === 'boolean' ? _this[key] : defaultProps[key];\n });\n return obj;\n }\n },\n methods: {\n formatDate: function formatDate(date, fmt) {\n return format(date, fmt, {\n locale: this.getLocale().formatLocale\n });\n },\n isDisabled: function isDisabled(date) {\n return this.disabledTime(new Date(date));\n },\n handleSelect: function handleSelect(value, type) {\n var date = new Date(value);\n\n if (!this.isDisabled(value)) {\n this.$emit('select', date, type);\n }\n },\n handleClickTitle: function handleClickTitle() {\n this.$emit('clicktitle');\n },\n getClasses: function getClasses(value) {\n var cellDate = new Date(value);\n\n if (this.isDisabled(value)) {\n return 'disabled';\n }\n\n if (cellDate.getTime() === this.innerValue.getTime()) {\n return 'active';\n }\n\n return '';\n }\n }\n};\n\n/* script */\nvar __vue_script__$8 = script$8;\n/* template */\n\nvar __vue_render__$a = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c('div', {\n class: _vm.prefixClass + \"-time\"\n }, [_vm.showTimeHeader ? _c('div', {\n class: _vm.prefixClass + \"-time-header\"\n }, [_c('button', {\n class: _vm.prefixClass + \"-btn \" + _vm.prefixClass + \"-btn-text \" + _vm.prefixClass + \"-time-header-title\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": _vm.handleClickTitle\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.title) + \"\\n \")])]) : _vm._e(), _vm._v(\" \"), _c('div', {\n class: _vm.prefixClass + \"-time-content\"\n }, [_vm.timePickerOptions ? _c('list-options', {\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"options\": _vm.timePickerOptions,\n \"format\": _vm.innerForamt\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }) : _c('list-columns', _vm._b({\n attrs: {\n \"date\": _vm.innerValue,\n \"get-classes\": _vm.getClasses,\n \"hour-options\": _vm.hourOptions,\n \"minute-options\": _vm.minuteOptions,\n \"second-options\": _vm.secondOptions,\n \"hour-step\": _vm.hourStep,\n \"minute-step\": _vm.minuteStep,\n \"second-step\": _vm.secondStep,\n \"scroll-duration\": _vm.scrollDuration\n },\n on: {\n \"select\": _vm.handleSelect\n }\n }, 'list-columns', _vm.ShowHourMinuteSecondAMPM, false))], 1)]);\n};\n\nvar __vue_staticRenderFns__$a = [];\n/* style */\n\nvar __vue_inject_styles__$a = undefined;\n/* scoped */\n\nvar __vue_scope_id__$a = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__$a = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__$a = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__$a = normalizeComponent({\n render: __vue_render__$a,\n staticRenderFns: __vue_staticRenderFns__$a\n}, __vue_inject_styles__$a, __vue_script__$8, __vue_scope_id__$a, __vue_is_functional_template__$a, __vue_module_identifier__$a, false, undefined, undefined, undefined);\n\nvar TimeRange = {\n name: 'TimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n props: _objectSpread2({}, __vue_component__$a.props),\n data: function data() {\n return {\n startValue: new Date(NaN),\n endValue: new Date(NaN)\n };\n },\n watch: {\n value: {\n immediate: true,\n handler: function handler() {\n if (isValidRangeDate(this.value)) {\n var _this$value = _slicedToArray(this.value, 2),\n startValue = _this$value[0],\n endValue = _this$value[1];\n\n this.startValue = startValue;\n this.endValue = endValue;\n } else {\n this.startValue = new Date(NaN);\n this.endValue = new Date(NaN);\n }\n }\n }\n },\n methods: {\n emitChange: function emitChange(type, index) {\n var date = [this.startValue, this.endValue];\n this.$emit('select', date, type === 'time' ? 'time-range' : type, index);\n },\n handleSelectStart: function handleSelectStart(date, type) {\n this.startValue = date; // check the NaN\n\n if (!(this.endValue.getTime() >= date.getTime())) {\n this.endValue = date;\n }\n\n this.emitChange(type, 0);\n },\n handleSelectEnd: function handleSelectEnd(date, type) {\n // check the NaN\n this.endValue = date;\n\n if (!(this.startValue.getTime() <= date.getTime())) {\n this.startValue = date;\n }\n\n this.emitChange(type, 1);\n },\n disabledStartTime: function disabledStartTime(date) {\n return this.disabledTime(date, 0);\n },\n disabledEndTime: function disabledEndTime(date) {\n return date.getTime() < this.startValue.getTime() || this.disabledTime(date, 1);\n }\n },\n render: function render() {\n var h = arguments[0];\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-range-wrapper\")\n }, [h(__vue_component__$a, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.startValue,\n defaultValue: defaultValues[0],\n disabledTime: this.disabledStartTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectStart\n }))\n }), h(__vue_component__$a, {\n \"props\": _objectSpread2({}, _objectSpread2({}, this.$props, {\n value: this.endValue,\n defaultValue: defaultValues[1],\n disabledTime: this.disabledEndTime\n })),\n \"on\": _objectSpread2({}, _objectSpread2({}, this.$listeners, {\n select: this.handleSelectEnd\n }))\n })]);\n }\n};\n\nvar DatetimePanel = {\n name: 'DatetimePanel',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarPanel.props, {}, __vue_component__$a.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n },\n defaultTimeVisible: function defaultTimeVisible(val) {\n this.$emit('update:show-time-panel', val);\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n },\n emitDate: function emitDate(date, type) {\n this.$emit('select', date, type);\n },\n handleSelect: function handleSelect(date, type) {\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var datetime = assignTime(date, getValidDate(this.value, this.defaultValue));\n\n if (this.disabledTime(new Date(datetime))) {\n // set the time of defalutValue;\n datetime = assignTime(date, this.defaultValue);\n\n if (this.disabledTime(new Date(datetime))) {\n // if disabled don't emit date\n this.currentValue = datetime;\n return;\n }\n }\n\n this.emitDate(datetime, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarPanel.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(__vue_component__$a.props)), {\n showTimeHeader: true,\n value: this.currentValue\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarPanel, helper([{}, calendarProps])), this.timeVisible && h(__vue_component__$a, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar DatetimeRange = {\n name: 'DatetimeRange',\n inject: {\n prefixClass: {\n default: 'mx'\n }\n },\n emits: ['select', 'update:show-time-panel'],\n props: _objectSpread2({}, CalendarRange.props, {}, TimeRange.props, {\n showTimePanel: {\n type: Boolean,\n default: undefined\n }\n }),\n data: function data() {\n return {\n defaultTimeVisible: false,\n currentValue: this.value\n };\n },\n computed: {\n timeVisible: function timeVisible() {\n return typeof this.showTimePanel === 'boolean' ? this.showTimePanel : this.defaultTimeVisible;\n }\n },\n watch: {\n value: function value(val) {\n this.currentValue = val;\n },\n defaultTimeVisible: function defaultTimeVisible(val) {\n this.$emit('update:show-time-panel', val);\n }\n },\n methods: {\n closeTimePanel: function closeTimePanel() {\n this.defaultTimeVisible = false;\n },\n openTimePanel: function openTimePanel() {\n this.defaultTimeVisible = true;\n },\n emitDate: function emitDate(dates, type) {\n this.$emit('select', dates, type);\n },\n handleSelect: function handleSelect(dates, type) {\n var _this = this;\n\n if (type === 'date') {\n this.openTimePanel();\n }\n\n var defaultValues = Array.isArray(this.defaultValue) ? this.defaultValue : [this.defaultValue, this.defaultValue];\n var datetimes = dates.map(function (date, i) {\n var time = isValidRangeDate(_this.value) ? _this.value[i] : defaultValues[i];\n return assignTime(date, time);\n });\n\n if (datetimes[1].getTime() < datetimes[0].getTime()) {\n datetimes = [datetimes[0], datetimes[0]];\n }\n\n if (datetimes.some(this.disabledTime)) {\n datetimes = dates.map(function (date, i) {\n return assignTime(date, defaultValues[i]);\n });\n\n if (datetimes.some(this.disabledTime)) {\n this.currentValue = datetimes;\n return;\n }\n }\n\n this.emitDate(datetimes, type);\n }\n },\n render: function render() {\n var h = arguments[0];\n var calendarProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(CalendarRange.props)), {\n type: 'date',\n value: this.currentValue\n }),\n on: {\n select: this.handleSelect\n }\n };\n var timeProps = {\n props: _objectSpread2({}, pick(this.$props, Object.keys(TimeRange.props)), {\n value: this.currentValue,\n showTimeHeader: true\n }),\n on: {\n select: this.emitDate,\n clicktitle: this.closeTimePanel\n }\n };\n var prefixClass = this.prefixClass;\n return h(\"div\", [h(CalendarRange, helper([{}, calendarProps])), this.timeVisible && h(TimeRange, helper([{\n \"class\": \"\".concat(prefixClass, \"-calendar-time\")\n }, timeProps]))]);\n }\n};\n\nvar componentMap = {\n default: CalendarPanel,\n time: __vue_component__$a,\n datetime: DatetimePanel\n};\nvar componentRangeMap = {\n default: CalendarRange,\n time: TimeRange,\n datetime: DatetimeRange\n};\nvar DatePicker = {\n name: 'DatePicker',\n provide: function provide() {\n var _this = this;\n\n return {\n // make locale reactive\n getLocale: function getLocale() {\n return _this.locale;\n },\n getWeek: this.getWeek,\n prefixClass: this.prefixClass,\n dispatchDatePicker: this.$emit.bind(this)\n };\n },\n props: _objectSpread2({}, DatetimePanel.props, {\n value: {},\n valueType: {\n type: String,\n default: 'date' // date, format, timestamp, or token like 'YYYY-MM-DD'\n\n },\n type: {\n type: String,\n // ['date', 'datetime', 'time', 'year', 'month', 'week']\n default: 'date'\n },\n format: {\n type: String\n },\n formatter: {\n type: Object\n },\n range: {\n type: Boolean,\n default: false\n },\n multiple: {\n type: Boolean,\n default: false\n },\n rangeSeparator: {\n type: String\n },\n lang: {\n type: [String, Object]\n },\n placeholder: {\n type: String,\n default: ''\n },\n editable: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n clearable: {\n type: Boolean,\n default: true\n },\n prefixClass: {\n type: String,\n default: 'mx'\n },\n inputClass: {},\n inputAttr: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n appendToBody: {\n type: Boolean,\n default: true\n },\n open: {\n type: Boolean,\n default: undefined\n },\n popupClass: {},\n popupStyle: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n inline: {\n type: Boolean,\n default: false\n },\n confirm: {\n type: Boolean,\n default: false\n },\n confirmText: {\n type: String,\n default: 'OK'\n },\n renderInputText: {\n type: Function\n },\n shortcuts: {\n type: Array,\n validator: function validator(value) {\n return Array.isArray(value) && value.every(function (v) {\n return isObject(v) && typeof v.text === 'string' && typeof v.onClick === 'function';\n });\n },\n default: function _default() {\n return [];\n }\n }\n }),\n data: function data() {\n return {\n // cache the innervalue, wait to confirm\n currentValue: null,\n userInput: null,\n defaultOpen: false\n };\n },\n computed: {\n popupVisible: function popupVisible() {\n return !this.disabled && (typeof this.open === 'boolean' ? this.open : this.defaultOpen);\n },\n innerRangeSeparator: function innerRangeSeparator() {\n return this.rangeSeparator || (this.multiple ? ',' : ' ~ ');\n },\n innerFormat: function innerFormat() {\n var map = {\n date: 'YYYY-MM-DD',\n datetime: 'YYYY-MM-DD HH:mm:ss',\n year: 'YYYY',\n month: 'YYYY-MM',\n time: 'HH:mm:ss',\n week: 'w'\n };\n return this.format || map[this.type] || map.date;\n },\n innerValue: function innerValue() {\n var value = this.value;\n\n if (this.validMultipleType) {\n value = Array.isArray(value) ? value : [];\n return value.map(this.value2date);\n }\n\n if (this.range) {\n value = Array.isArray(value) ? value.slice(0, 2) : [null, null];\n return value.map(this.value2date);\n }\n\n return this.value2date(value);\n },\n text: function text() {\n var _this2 = this;\n\n if (this.userInput !== null) {\n return this.userInput;\n }\n\n if (typeof this.renderInputText === 'function') {\n return this.renderInputText(this.innerValue);\n }\n\n if (!this.isValidValue(this.innerValue)) {\n return '';\n }\n\n if (Array.isArray(this.innerValue)) {\n return this.innerValue.map(function (v) {\n return _this2.formatDate(v);\n }).join(this.innerRangeSeparator);\n }\n\n return this.formatDate(this.innerValue);\n },\n showClearIcon: function showClearIcon() {\n return !this.disabled && this.clearable && this.text;\n },\n locale: function locale() {\n if (isObject(this.lang)) {\n return mergeDeep(getLocale(), this.lang);\n }\n\n return getLocale(this.lang);\n },\n validMultipleType: function validMultipleType() {\n var types = ['date', 'month', 'year'];\n return this.multiple && !this.range && types.indexOf(this.type) !== -1;\n }\n },\n watch: {\n innerValue: {\n immediate: true,\n handler: function handler(val) {\n this.currentValue = val;\n }\n }\n },\n created: function created() {\n if (_typeof(this.format) === 'object') {\n console.warn(\"[vue2-datepicker]: The prop `format` don't support Object any more. You can use the new prop `formatter` to replace it\");\n }\n },\n methods: {\n handleClickOutSide: function handleClickOutSide(evt) {\n var target = evt.target;\n\n if (!this.$el.contains(target)) {\n this.closePopup();\n }\n },\n getFormatter: function getFormatter(key) {\n return isObject(this.formatter) && this.formatter[key] || isObject(this.format) && this.format[key];\n },\n getWeek: function getWeek$1(date, options) {\n if (typeof this.getFormatter('getWeek') === 'function') {\n return this.getFormatter('getWeek')(date, options);\n }\n\n return getWeek(date, options);\n },\n parseDate: function parseDate(value, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('parse') === 'function') {\n return this.getFormatter('parse')(value, fmt);\n }\n\n var backupDate = new Date();\n return parse(value, fmt, {\n locale: this.locale.formatLocale,\n backupDate: backupDate\n });\n },\n formatDate: function formatDate(date, fmt) {\n fmt = fmt || this.innerFormat;\n\n if (typeof this.getFormatter('stringify') === 'function') {\n return this.getFormatter('stringify')(date, fmt);\n }\n\n return format(date, fmt, {\n locale: this.locale.formatLocale\n });\n },\n // transform the outer value to inner date\n value2date: function value2date(value) {\n switch (this.valueType) {\n case 'date':\n return value instanceof Date ? new Date(value.getTime()) : new Date(NaN);\n\n case 'timestamp':\n return typeof value === 'number' ? new Date(value) : new Date(NaN);\n\n case 'format':\n return typeof value === 'string' ? this.parseDate(value) : new Date(NaN);\n\n default:\n return typeof value === 'string' ? this.parseDate(value, this.valueType) : new Date(NaN);\n }\n },\n // transform the inner date to outer value\n date2value: function date2value(date) {\n if (!isValidDate(date)) return null;\n\n switch (this.valueType) {\n case 'date':\n return date;\n\n case 'timestamp':\n return date.getTime();\n\n case 'format':\n return this.formatDate(date);\n\n default:\n return this.formatDate(date, this.valueType);\n }\n },\n emitValue: function emitValue(date, type) {\n // fix IE11/10 trigger input event when input is focused. (placeholder !== '')\n this.userInput = null;\n var value = Array.isArray(date) ? date.map(this.date2value) : this.date2value(date);\n this.$emit('input', value);\n this.$emit('change', value, type);\n this.afterEmitValue(type);\n return value;\n },\n afterEmitValue: function afterEmitValue(type) {\n // this.type === 'datetime', click the time should close popup\n if (!type || type === this.type || type === 'time') {\n this.closePopup();\n }\n },\n isValidValue: function isValidValue(value) {\n if (this.validMultipleType) {\n return isValidDates(value);\n }\n\n if (this.range) {\n return isValidRangeDate(value);\n }\n\n return isValidDate(value);\n },\n isValidValueAndNotDisabled: function isValidValueAndNotDisabled(value) {\n if (!this.isValidValue(value)) {\n return false;\n }\n\n var disabledDate = typeof this.disabledDate === 'function' ? this.disabledDate : function () {\n return false;\n };\n var disabledTime = typeof this.disabledTime === 'function' ? this.disabledTime : function () {\n return false;\n };\n\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n return value.every(function (v) {\n return !disabledDate(v) && !disabledTime(v);\n });\n },\n handleMultipleDates: function handleMultipleDates(date, dates) {\n if (this.validMultipleType && dates) {\n var nextDates = dates.filter(function (v) {\n return v.getTime() !== date.getTime();\n });\n\n if (nextDates.length === dates.length) {\n nextDates.push(date);\n }\n\n return nextDates;\n }\n\n return date;\n },\n handleSelectDate: function handleSelectDate(val, type, dates) {\n val = this.handleMultipleDates(val, dates);\n\n if (this.confirm) {\n this.currentValue = val;\n } else {\n this.emitValue(val, this.validMultipleType ? \"multiple-\".concat(type) : type);\n }\n },\n clear: function clear() {\n this.emitValue(this.range ? [null, null] : null);\n this.$emit('clear');\n },\n handleClear: function handleClear(evt) {\n evt.stopPropagation();\n this.clear();\n },\n handleConfirmDate: function handleConfirmDate() {\n var value = this.emitValue(this.currentValue);\n this.$emit('confirm', value);\n },\n handleSelectShortcut: function handleSelectShortcut(evt) {\n var index = evt.currentTarget.getAttribute('data-index');\n var item = this.shortcuts[parseInt(index, 10)];\n\n if (isObject(item) && typeof item.onClick === 'function') {\n var date = item.onClick(this);\n\n if (date) {\n this.emitValue(date);\n }\n }\n },\n openPopup: function openPopup(evt) {\n if (this.popupVisible) return;\n this.defaultOpen = true;\n this.$emit('open', evt);\n this.$emit('update:open', true);\n },\n closePopup: function closePopup() {\n if (!this.popupVisible) return;\n this.defaultOpen = false;\n this.$emit('close');\n this.$emit('update:open', false);\n },\n blur: function blur() {\n // when use slot input\n if (this.$refs.input) {\n this.$refs.input.blur();\n }\n },\n focus: function focus() {\n if (this.$refs.input) {\n this.$refs.input.focus();\n }\n },\n handleInputChange: function handleInputChange() {\n var _this3 = this;\n\n if (!this.editable || this.userInput === null) return;\n var text = this.userInput.trim();\n this.userInput = null;\n\n if (text === '') {\n this.clear();\n return;\n }\n\n var date;\n\n if (this.validMultipleType) {\n date = text.split(this.innerRangeSeparator).map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else if (this.range) {\n var arr = text.split(this.innerRangeSeparator);\n\n if (arr.length !== 2) {\n // Maybe the separator during the day is the same as the separator for the date\n // eg: 2019-10-09-2020-01-02\n arr = text.split(this.innerRangeSeparator.trim());\n }\n\n date = arr.map(function (v) {\n return _this3.parseDate(v.trim());\n });\n } else {\n date = this.parseDate(text);\n }\n\n if (this.isValidValueAndNotDisabled(date)) {\n this.emitValue(date);\n this.blur();\n } else {\n this.$emit('input-error', text);\n }\n },\n handleInputInput: function handleInputInput(evt) {\n // slot input v-model\n this.userInput = typeof evt === 'string' ? evt : evt.target.value;\n },\n handleInputKeydown: function handleInputKeydown(evt) {\n var keyCode = evt.keyCode; // Tab 9 or Enter 13\n\n if (keyCode === 9) {\n this.closePopup();\n } else if (keyCode === 13) {\n this.handleInputChange();\n }\n },\n handleInputBlur: function handleInputBlur(evt) {\n // tab close\n this.$emit('blur', evt);\n },\n handleInputFocus: function handleInputFocus(evt) {\n this.openPopup(evt);\n this.$emit('focus', evt);\n },\n hasSlot: function hasSlot(name) {\n return !!(this.$slots[name] || this.$scopedSlots[name]);\n },\n renderSlot: function renderSlot(name, fallback, props) {\n var slotFn = this.$scopedSlots[name];\n\n if (slotFn) {\n return slotFn(props) || fallback;\n }\n\n return this.$slots[name] || fallback;\n },\n renderInput: function renderInput() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n\n var props = _objectSpread2({\n name: 'date',\n type: 'text',\n autocomplete: 'off',\n value: this.text,\n class: this.inputClass || \"\".concat(this.prefixClass, \"-input\"),\n readonly: !this.editable,\n disabled: this.disabled,\n placeholder: this.placeholder\n }, this.inputAttr);\n\n var value = props.value,\n className = props.class,\n attrs = _objectWithoutProperties(props, [\"value\", \"class\"]);\n\n var events = {\n keydown: this.handleInputKeydown,\n focus: this.handleInputFocus,\n blur: this.handleInputBlur,\n input: this.handleInputInput,\n change: this.handleInputChange\n };\n var input = this.renderSlot('input', h(\"input\", {\n \"domProps\": {\n \"value\": value\n },\n \"class\": className,\n \"attrs\": _objectSpread2({}, attrs),\n \"on\": _objectSpread2({}, events),\n \"ref\": \"input\"\n }), {\n props: props,\n events: events\n });\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-input-wrapper\"),\n \"on\": {\n \"mousedown\": this.openPopup\n }\n }, [input, this.showClearIcon ? h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-clear\"),\n \"on\": {\n \"mousedown\": this.handleClear\n }\n }, [this.renderSlot('icon-clear', h(__vue_component__$2))]) : null, h(\"i\", {\n \"class\": \"\".concat(prefixClass, \"-icon-calendar\")\n }, [this.renderSlot('icon-calendar', h(__vue_component__$1))])]);\n },\n renderContent: function renderContent() {\n var h = this.$createElement;\n var map = this.range ? componentRangeMap : componentMap;\n var Component = map[this.type] || map.default;\n\n var props = _objectSpread2({}, pick(this.$props, Object.keys(Component.props)), {\n value: this.currentValue\n });\n\n var on = _objectSpread2({}, pick(this.$listeners, Component.emits || []), {\n select: this.handleSelectDate\n });\n\n var content = h(Component, helper([{}, {\n props: props,\n on: on,\n ref: 'picker'\n }]));\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-body\")\n }, [this.renderSlot('content', content, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderSidebar: function renderSidebar() {\n var _this4 = this;\n\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-sidebar\")\n }, [this.renderSlot('sidebar', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.shortcuts.map(function (v, i) {\n return h(\"button\", {\n \"key\": i,\n \"attrs\": {\n \"data-index\": i,\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-btn-text \").concat(prefixClass, \"-btn-shortcut\"),\n \"on\": {\n \"click\": _this4.handleSelectShortcut\n }\n }, [v.text]);\n })]);\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n return h(\"div\", {\n \"class\": \"\".concat(this.prefixClass, \"-datepicker-header\")\n }, [this.renderSlot('header', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n })]);\n },\n renderFooter: function renderFooter() {\n var h = this.$createElement;\n var prefixClass = this.prefixClass;\n return h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-footer\")\n }, [this.renderSlot('footer', null, {\n value: this.currentValue,\n emit: this.handleSelectDate\n }), this.confirm ? h(\"button\", {\n \"attrs\": {\n \"type\": \"button\"\n },\n \"class\": \"\".concat(prefixClass, \"-btn \").concat(prefixClass, \"-datepicker-btn-confirm\"),\n \"on\": {\n \"click\": this.handleConfirmDate\n }\n }, [this.confirmText]) : null]);\n }\n },\n render: function render() {\n var _class;\n\n var h = arguments[0];\n var prefixClass = this.prefixClass,\n inline = this.inline,\n disabled = this.disabled;\n var sidedar = this.hasSlot('sidebar') || this.shortcuts.length ? this.renderSidebar() : null;\n var content = h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-content\")\n }, [this.hasSlot('header') ? this.renderHeader() : null, this.renderContent(), this.hasSlot('footer') || this.confirm ? this.renderFooter() : null]);\n return h(\"div\", {\n \"class\": (_class = {}, _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker\"), true), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-range\"), this.range), _defineProperty(_class, \"\".concat(prefixClass, \"-datepicker-inline\"), inline), _defineProperty(_class, \"disabled\", disabled), _class)\n }, [!inline ? this.renderInput() : null, !inline ? h(__vue_component__, {\n \"ref\": \"popup\",\n \"class\": this.popupClass,\n \"style\": this.popupStyle,\n \"attrs\": {\n \"visible\": this.popupVisible,\n \"appendToBody\": this.appendToBody\n },\n \"on\": {\n \"clickoutside\": this.handleClickOutSide\n }\n }, [sidedar, content]) : h(\"div\", {\n \"class\": \"\".concat(prefixClass, \"-datepicker-main\")\n }, [sidedar, content])]);\n }\n};\n\nDatePicker.locale = locale;\n\nDatePicker.install = function install(Vue) {\n Vue.component(DatePicker.name, DatePicker);\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n DatePicker.install(window.Vue);\n}\n\n_extends(DatePicker, {\n CalendarPanel: CalendarPanel,\n CalendarRange: CalendarRange,\n TimePanel: __vue_component__$a,\n TimeRange: TimeRange,\n DatetimePanel: DatetimePanel,\n DatetimeRange: DatetimeRange\n});\n\nexport default DatePicker;\n"],"sourceRoot":""}