1
|
{"version":3,"sources":["webpack:///../lib/index.ts","webpack:///./node_modules/linkifyjs/lib/linkify/utils/class.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/linkifyjs/lib/linkify/core/tokens/text.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///NextcloudVue.[name]/webpack/universalModuleDefinition","webpack:///NextcloudVue.[name]/webpack/bootstrap","webpack:///NextcloudVue.[name]/node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack:///NextcloudVue.[name]/node_modules/css-loader/dist/runtime/api.js","webpack:///NextcloudVue.[name]/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///NextcloudVue.[name]/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///NextcloudVue.[name]/node_modules/css-loader/dist/runtime/getUrl.js","webpack:///webpack:/NextcloudVue.[name]/external \"vue\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.object.to-string.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"v-tooltip\"","webpack:///NextcloudVue.[name]/src/fonts/iconfont-vue-e08a231.eot","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.map.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/router\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.function.name.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.regexp.exec.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.iterator.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.iterator.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/web.dom-collections.iterator.js\"","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue?770b","webpack:///NextcloudVue.[name]/src/directives/Tooltip/index.scss?0d1f","webpack:///NextcloudVue.[name]/src/directives/Tooltip/index.js","webpack:///NextcloudVue.[name]/src/directives/Tooltip/index.scss","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.replace.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.regexp.to-string.js\"","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue?1515","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue?470d","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue?01ec","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/event-bus\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.number.constructor.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.concat.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.symbol.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/auth\"","webpack:///NextcloudVue.[name]/src/utils/IsMobileState.js","webpack:///NextcloudVue.[name]/src/mixins/isMobile/index.js","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/axios\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.symbol.description.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/web.url.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.slice.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"v-click-outside\"","webpack:///webpack:/NextcloudVue.[name]/external \"striptags\"","webpack:///NextcloudVue.[name]/src/components/RichContenteditable/MentionBubble.vue?931e","webpack:///NextcloudVue.[name]/src/mixins/userStatus.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.symbol.iterator.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"linkifyjs/string\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.from.js\"","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?24db","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?b2a5","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?3c28","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.join.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"regenerator-runtime/runtime.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.promise.js\"","webpack:///NextcloudVue.[name]/src/components/RichContenteditable/MentionBubble.vue?d102","webpack:///NextcloudVue.[name]/src/components/RichContenteditable/MentionBubble.vue","webpack:///NextcloudVue.[name]/src/components/RichContenteditable/MentionBubble.vue?6682","webpack:///NextcloudVue.[name]/src/components/RichContenteditable/MentionBubble.vue?50ea","webpack:///NextcloudVue.[name]/src/mixins/richEditor/index.js","webpack:///webpack:/NextcloudVue.[name]/external \"escape-html\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.starts-with.js\"","webpack:///NextcloudVue.[name]/src/utils/GenColors.js","webpack:///NextcloudVue.[name]/src/components/Avatar/Avatar.vue?a5a6","webpack:///NextcloudVue.[name]/src/mixins/excludeClickOutsideClasses/index.js","webpack:///NextcloudVue.[name]/src/mixins/isFullscreen/index.js","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?cb4e","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?356f","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?60b7","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?aea0","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?b983","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenuItem.vue?c793","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/PopoverMenu.vue?ca3a","webpack:///NextcloudVue.[name]/src/components/PopoverMenu/index.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.split.js\"","webpack:///NextcloudVue.[name]/src/components/Avatar/Avatar.vue?7e12","webpack:///NextcloudVue.[name]/src/components/Avatar/Avatar.vue","webpack:///NextcloudVue.[name]/src/components/Avatar/Avatar.vue?125c","webpack:///NextcloudVue.[name]/src/components/Avatar/Avatar.vue?7897","webpack:///NextcloudVue.[name]/src/components/Avatar/index.js","webpack:///webpack:/NextcloudVue.[name]/external \"md5\"","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/capabilities\"","webpack:///NextcloudVue.[name]/src/functions/usernameToColor/index.js","webpack:///NextcloudVue.[name]/src/functions/usernameToColor/usernameToColor.js","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/browser-storage\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.includes.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.regexp.constructor.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.flat.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.match.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.from-code-point.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.code-point-at.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/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/charenc/charenc.js","webpack:///../src/v-click-outside.js","webpack:///../src/index.js","webpack:///./node_modules/striptags/src/striptags.js","webpack:///./node_modules/linkifyjs/string.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/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/native-promise-constructor.js","webpack:///./node_modules/core-js/internals/microtask.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/modules/es.string.split.js","webpack:///./node_modules/md5/md5.js","webpack:///./node_modules/crypt/crypt.js","webpack:///./node_modules/is-buffer/index.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/internals/flatten-into-array.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"],"names":["elem","document","fallback","JSON","atob","exports","__esModule","inherits","parent","child","props","arguments","length","undefined","extended","Object","create","prototype","p","constructor","DESCRIPTORS","require","global","isForced","redefine","has","classof","inheritIfRequired","toPrimitive","fails","getOwnPropertyNames","f","getOwnPropertyDescriptor","defineProperty","trim","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","argument","first","third","radix","maxCode","digits","index","code","it","charCodeAt","NaN","slice","parseInt","key","NumberWrapper","value","dummy","this","valueOf","call","keys","split","j","AMPERSAND","CLOSEPAREN","CLOSEANGLEBRACKET","CLOSEBRACKET","CLOSEBRACE","OPENPAREN","OPENANGLEBRACKET","OPENBRACKET","OPENBRACE","WS","TLD","SYM","UNDERSCORE","SLASH","MAILTO","PROTOCOL","QUERY","POUND","PLUS","NUM","NL","LOCALHOST","PUNCTUATION","DOT","COLON","AT","DOMAIN","Base","_createTokenClass","_class","TextToken","createTokenClass","inheritsToken","v","toString","module","process","factory","window","installedModules","__webpack_require__","moduleId","i","l","modules","m","c","d","name","getter","o","enumerable","get","r","Symbol","toStringTag","t","mode","ns","bind","n","object","property","hasOwnProperty","s","_slicedToArray","arr","Array","isArray","iterator","_arr","_n","_d","_e","_s","_i","next","done","push","err","minLen","_arrayLikeToArray","from","test","TypeError","len","arr2","item","_item","content","cssMapping","btoa","base64","unescape","encodeURIComponent","stringify","data","concat","sourceMapping","sourceURLs","sources","map","source","sourceRoot","join","cssWithMappingToString","list","mediaQuery","dedupe","alreadyImportedModules","id","memo","getTarget","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","e","stylesInDom","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","obj","css","media","sourceMap","references","updater","addStyle","insertStyleElement","style","createElement","attributes","nonce","forEach","setAttribute","insert","Error","appendChild","textStore","replaceText","replacement","filter","Boolean","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","newObj","all","lastIdentifiers","newList","newLastIdentifiers","_index","splice","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","url","default","hash","needQuotes","replace","__webpack_exports__","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default","version","names","mappings","sourcesContent","injectStylesIntoStyleTag_default","Tooltip","locals","VTooltip","defaultTemplate","SCOPE_VERSION","defaultHtml","Popover_Popovervue_type_script_lang_js_","components","VPopover","Popovervue_type_style_index_0_lang_scss_","_h","$createElement","_c","_self","_g","_b","attrs","popover-base-class","popover-wrapper-class","popover-arrow-class","popover-inner-class","$attrs","$listeners","_t","_v","slot","IsMobileState","isMobile","watch","val","$emit","created","addEventListener","handleWindowResize","beforeDestroy","removeEventListener","methods","documentElement","clientWidth","mounted","$on","onIsMobileChanged","$off","hasStatus","userStatus","status","message","icon","fetchUserStatus","userId","capabilities","getCapabilities","user_status","enabled","getCurrentUser","axios","generateOcsUrl","ocs","_this","_context","response","console","error","RichContenteditable_MentionBubblevue_type_script_lang_js_","type","required","label","primary","computed","avatarUrl","mentionText","getAvatarUrl","user","size","MentionBubblevue_type_style_index_0_id_724f9d58_lang_scss_scoped_true_","_vm","staticClass","class","mention-bubble--primary","contenteditable","backgroundImage","role","title","USERID_REGEX","RegExp","USERID_REGEX_WITH_SPACE","userData","renderContent","escapeHtml","part","flat","startsWith","linkifyStr","defaultProtocol","className","rel","genSelectTemplate","parseContent","text","stripTags","renderComponentHtml","MentionBubble","indexOf","propsData","component","Item","Vue","extend","wrapper","mount","display","body","$mount","renderedHtml","innerHTML","$destroy","Color","g","b","mixPalette","steps","color1","color2","palette","step","ends","GenColors","red","yellow","blue","palette1","palette2","palette3","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","___CSS_LOADER_URL_REPLACEMENT_0___","_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default","_fonts_iconfont_vue_e08a231_eot__WEBPACK_IMPORTED_MODULE_3__","___CSS_LOADER_URL_REPLACEMENT_1___","_fonts_iconfont_vue_e08a231_woff__WEBPACK_IMPORTED_MODULE_4__","___CSS_LOADER_URL_REPLACEMENT_2___","_fonts_iconfont_vue_e08a231_ttf__WEBPACK_IMPORTED_MODULE_5__","___CSS_LOADER_URL_REPLACEMENT_3___","_fonts_iconfont_vue_e08a231_svg__WEBPACK_IMPORTED_MODULE_6__","excludeClickOutsideClasses","String","clickOutsideMiddleware","event","excludedClassList","hasNodeOrAnyParentClass","node","classArray","classList","contains","parentElement","isFullscreen","_isFullscreen","beforeMount","_onResize","outerHeight","screen","height","PopoverMenu_PopoverMenuItemvue_type_script_lang_js_","href","validator","Math","iconIsUrl","action","PopoverMenuItemvue_type_style_index_0_id_a7ced2f4_scoped_true_lang_css_","PopoverMenuItemvue_type_style_index_1_id_a7ced2f4_lang_scss_scoped_true_","PopoverMenu_PopoverMenuvue_type_script_lang_js_","PopoverMenuItem","download","on","click","src","longtext","active","input","submit","$event","preventDefault","placeholder","domProps","directives","rawName","expression","checked","model","change","$$a","$$el","$$c","$$i","$set","_q","composing","for","stopPropagation","disabled","menu","PopoverMenuvue_type_style_index_0_id_4dae360a_lang_scss_scoped_true_","_l","PopoverMenu","getUserHasAvatar","setUserHasAvatar","flag","browserStorage","Avatar_Avatarvue_type_script_lang_js_","tooltip","ClickOutside","Popover","mixins","iconClass","showUserStatus","showUserStatusCompact","preloadedUserStatus","isGuest","displayName","allowPlaceholder","disableTooltip","disableMenu","tooltipMessage","isNoUser","statusColor","menuPosition","menuContainer","avatarUrlLoaded","avatarSrcSetLoaded","userDoesNotExist","isAvatarLoaded","isMenuLoaded","contactsMenuLoading","contactsMenuActions","contactsMenuOpenState","canDisplayUserStatus","showUserStatusIconOnAvatar","getUserIdentifier","isUserDefined","isDisplayNameDefined","isUrlDefined","hasMenu","shouldShowPlaceholder","avatarStyle","width","lineHeight","fontSize","initials","idx","html","actions","beforeDestroyed","handleUserStatusUpdated","toggleMenu","closeMenu","fetchContactsMenu","_this2","axios_default","loadAvatarUrl","srcset","avatarUrlGenerator","updateImageIfValid","userHasAvatar","img","_this3","Avatarvue_type_style_index_0_id_1bfc7bfe_scoped_true_lang_scss_","avatardiv--unknown","avatardiv--with-menu","alt","placement","container","open","backgroundColor","xmlns","viewBox","fill","stroke","stroke-width","stroke-linecap","Avatar","usernameToColor","username","toLowerCase","match","md5","maximum","finalInt","charAt","define","stateify","TokenState","CharacterState","BaseState","tClass","T","defaultTransition","symbol","state","jump","accepts","emit","character","charOrRegExp","token","tokenClass","str","start","endToken","defaultToken","newStates","nextState","anObject","aFunction","SPECIES","wellKnownSymbol","O","defaultConstructor","S","C","defer","channel","port","IS_IOS","IS_NODE","location","set","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","counter","queue","run","fn","runner","listener","post","postMessage","protocol","host","args","Function","apply","nextTick","now","port2","port1","onmessage","importScripts","setTimeout","userAgent","PromiseCapability","resolve","reject","promise","$$resolve","$$reject","charenc","utf8","stringToBytes","bin","bytesToString","bytes","decodeURIComponent","escape","fromCharCode","HAS_WINDOWS","HAS_NAVIGATOR","navigator","EVENTS","msMaxTouchPoints","execHandler","handler","middleware","el","bindingValue","isFunction","events","isActive","detectIframe","processDirectiveArguments","eventName","srcTarget","path","composedPath","detectIframeEvent","activeElement","tagName","unbind","oldValue","install","directive","nonNative","STATE_PLAINTEXT","STATE_HTML","STATE_COMMENT","ALLOWED_TAGS_REGEX","NORMALIZE_TAG_REGEX","striptags","allowable_tags","tag_replacement","striptags_internal","init_context","tag_set","Set","exec","parse_allowable_tags","tag_buffer","depth","in_quote_char","output","char","normalize_tag","init_streaming_mode","linkify","_interopRequireWildcard","tokenize","Options","escapeText","escapeAttr","attributesToString","attr","opts","tokens","nl2br","isLink","check","_opts$resolve","formatted","formattedHref","link","scanner","parser","find","arg","filtered","toObject","_typeof","defaults","format","noop","formatHref","validate","ignoreTags","linkAttributes","linkClass","ignoredTags","toUpperCase","toHref","getObject","operator","optionValue","option","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","pop","S_PROTOCOL_FTP","S_PROTOCOL_HTTP","S_MAILTO","S_PROTOCOL_SECURE","S_FULL_PROTOCOL","S_FULL_MAILTO","partialLocalhostStates","lowerStr","cursor","tokenLength","latestAccepting","sinceAccepts","TOKEN","substr","_multi","MULTI_TOKENS","S_PROTOCOL","S_PROTOCOL_SLASH","S_PROTOCOL_SLASH_SLASH","S_DOMAIN_DOT","S_TLD","URL","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","$","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","proto","forced","separator","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","configurable","writable","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","method","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","__await","then","unwrapped","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","IS_PURE","getBuiltIn","NativePromise","redefineAll","setToStringTag","setSpecies","isObject","anInstance","inspectSource","iterate","checkCorrectnessOfIteration","speciesConstructor","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","InternalStateModule","V8_VERSION","PROMISE","getInternalState","setInternalState","getInternalPromiseState","getterFor","PromiseConstructor","$fetch","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","FORCED","FakePromise","INCORRECT_ITERATION","isThenable","notify","isReject","notified","chain","reactions","ok","exited","reaction","fail","domain","rejection","onHandleUnhandled","enter","exit","onUnhandled","reason","initEvent","facade","isUnhandled","unwrap","internalReject","internalResolve","executor","onFulfilled","onRejected","that","unsafe","fetch","stat","capability","x","$promiseResolve","remaining","alreadyCalled","race","flush","last","toggle","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","observe","characterData","promiseCapability","a","fixRegExpWellKnownSymbolLogic","isRegExp","requireObjectCoercible","advanceStringIndex","toLength","callRegExpExec","regexpExec","arrayPush","min","SUPPORTS_Y","SPLIT","nativeSplit","maybeCallNative","internalSplit","limit","string","lim","lastIndex","lastLength","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","splitter","regexp","res","rx","unicodeMatching","q","A","z","crypt","isBuffer","encoding","Uint8Array","bytesToWords","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","endian","_blocksize","_digestsize","digestbytes","wordsToBytes","asBytes","asString","bytesToHex","base64map","rotl","rotr","Number","randomBytes","floor","random","words","hex","hexToBytes","bytesToBase64","triplet","base64ToBytes","imod4","pow","readFloatLE","isSlowBuffer","_isBuffer","loadState","$includes","includes","addToUnscopables","arrayMethodUsesToLength","ACCESSORS","1","getFlags","stickyHelpers","MATCH","NativeRegExp","RegExpPrototype","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","RegExpWrapper","pattern","thisIsRegExp","patternIsRegExp","flagsAreUndefined","proxy","flattenIntoArray","toInteger","arraySpeciesCreate","depthArg","sourceLen","original","mapper","thisArg","element","targetIndex","sourceIndex","mapFn","regExpExec","nativeMatch","matcher","fullUnicode","matchStr","toAbsoluteIndex","nativeFromCodePoint","fromCodePoint","elements","RangeError","codeAt","codePointAt","pos"],"mappings":"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","file":"vendors~editor-collab~editor-guest.js?v=dc9588822ea89afc59b3","sourcesContent":["import { loadState } from '@nextcloud/initial-state'\n\nexport function getCapabilities(): Object {\n\ttry {\n\t\treturn loadState('core', 'capabilities')\n\t} catch (error) {\n\t\tconsole.debug('Could not find capabilities initial state fall back to _oc_capabilities')\n\t\tif (!('_oc_capabilities' in window)) {\n\t\t\treturn {}\n\t\t}\n\t\treturn window['_oc_capabilities']\n\t}\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}","'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.github.io/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.github.io/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","'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 classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Components/Avatar\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Components/Avatar\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/Avatar\"] = factory();\n})(window, function() {\nreturn "," \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 = \"/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 76);\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) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) 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\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\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};","\"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};","/* 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\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = url && url.__esModule ? url.default : url;\n\n if (typeof url !== \"string\") {\n return url;\n } // If url is already wrapped in quotes, remove them\n\n\n if (/^['\"].*['\"]$/.test(url)) {\n // eslint-disable-next-line no-param-reassign\n url = url.slice(1, -1);\n }\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n\n return url;\n};","module.exports = require(\"vue\");","module.exports = require(\"core-js/modules/es.object.to-string.js\");","module.exports = require(\"v-tooltip\");","export default \"data:application/vnd.ms-fontobject;base64,rg8AAOQOAAABAAIAAAAAAAIABQMAAAAAAAABQJABAAAAAExQAAAAABAAAAAAAAAAAAAAAAAAAAEAAAAA0axwawAAAAAAAAAAAAAAAAAAAAAAACgAAGkAYwBvAG4AZgBvAG4AdAAtAHYAdQBlAC0AZQAwADgAYQAyADMAMQAAAAAAABYAAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAAKAAAaQBjAG8AbgBmAG8AbgB0AC0AdgB1AGUALQBlADAAOABhADIAMwAxAAAAAAABAAAACgCAAAMAIE9TLzJ044/RAAAArAAAAGBjbWFwAA3ruAAAAQwAAAFCZ2x5ZsdHOUwAAAJQAAAH/GhlYWQrHcL/AAAKTAAAADZoaGVhJv0ThQAACoQAAAAkaG10eGe+//8AAAqoAAAANGxvY2ENvA9mAAAK3AAAAChtYXhwASAAVwAACwQAAAAgbmFtZdjQdgEAAAskAAACpnBvc3Q/VL7XAAANzAAAARYABBLKAZAABQAADGUNrAAAArwMZQ2sAAAJYAD1BQoAAAIABQMAAAAAAAAAAAAAEAAAAAAAAAAAAAAAUGZFZABA6gHqEhOIAAABwhOIAAAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQAAAAAAPAADAAEAAAAcAAQAIAAAAAQABAABAADqEv//AADqAf//FgAAAQAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAOpg9DAAUACwAACQIRCQQRCQEOpvqCBX77ugRG+oL6ggV++7oERg9C+oL6ggE4BEYERgE4+oL6ggE4BEYERgABAAAAAA1uElAABQAACQERCQERBhsHU/d0CIwJxPit/sgIiwiM/scAAgAAAAAP3w9DAAUACwAACQIRCQQRCQEE4gV++oIERvu6BX4Ff/qBBEb7ugRGBX4Ffv7I+7r7uv7IBX4Ffv7I+7r7ugABAAAAAA6mElAABQAACQERCQERDW74rQiL93UJxAdTATn3dPd1ATgAAQAAAAAGNxOIAAUAABMHCQEXAZSUBXL6jpQFoxOIVfaR9pFVCcQAAAEAAAAAEYcPgwAFAAAJBQ/N9/P7+/5GBb8Jxw+D9/MEBf5H+kEJxgABAAAAABEXERcACwAACQsRF/3t+sD6wP3tBUD6wAITBUAFQAIT+sAEhP3tBUD6wAITBUAFQAIT+sAFQP3t+sAAAf//AAATkxLsADMAAAEiBw4BFxYXASEmBwYHBgcGFBcWFxYXFjchAQYHBhcWFx4BFxYXFjc2NwE2NzYnJicBLgEKYGVPSkYQEkgF1/HgTT46KScUFBQUJyk6Pk0OIPopNxoYAwMbGVY1Nzs+Oj81B+07FRUUFTz4Eyx0Euw5NKxZYEf6KgEbGC4sOTh4ODksLhgbAvopNT87Pjo3NlYZGgMDGBk4B+w8UVBPUjwH7C0yAAAAAgAAAAAOphJQABgARgAAASIHDgEHBhQXHgEXFjI3PgE3NjQnLgEnJgEiBwYHBhQXFhcWMyERISIHBgcGFBcWFxY3ITI3Njc2NCcmJyYjIRE0JyYnJiMJdm9mYpgpKyspmGJm3mZilyorKyqXYmb8NlZIRykrKylHSFYCcf2PVkhHKSsrKUdIVgdTVUhHKSsrKUdIVf2PKylHSVUSUCsql2Nl32VimCkrKymYYmXfZWOXKiv55SspR0irSEcpK/nmKylHSapJRykrASopR0mqSUcpKwdTVUhHKSsAAAMAAAAAERcRFwADAAcACwAAAREhEQERIREBESERAnEOpvFaDqbxWg6mERf9jwJx+eb9jwJx+eX9jwJxAAMAAAAAEp4L5wAYADEASgAAATIXHgEXFhQHDgEHBiInLgEnJjQ3PgE3NiEyFx4BFxYUBw4BBwYiJy4BJyY0Nz4BNzYhMhceARcWFAcOAQcGIicuAScmNDc+ATc2Aw1wZWKYKSsrKZhiZd9mYpcqKysql2JmByZvZmKXKisrKpdiZt5mYpcqKysql2JmByZvZmKXKisrKpdiZt9lYpgpKyspmGJlC+crKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisrKpdiZt5mYpcqKysql2Jm3mZilyorKyqXYmbeZmKXKisAAAAAAgAAAAAP3w/fAAMABwAAAREhESERIREDqgTiAnEE4g/f88sMNfPLDDUAAAABAAAAABEXERcAAgAACQICcQ6m8VoRF/it+K0AAQAAAAAOpgw1AAIAAAkCBOIE4gTiDDX7HgTgAAH/4AAAE2kTaQAxAAABBAUEBQQDAgMCERATEhMSBQQFBCEgJSQlJBMSExITBgAFBCEgJSQnJicmAwIREBMSAAhs/pj+sf66/u3+7sbKa26Ae+nlATkBPAFyAX4BlgFxAWEBVgEuASrr7JmcOLz+Kf75/vP+6v6+/s7+2f37uLtjZ1BOAScTaS6Xk+nn/tf+0/6r/p/+j/5q/oL+jv7E/sfl6HyAa2jFwgENAQ4BQwFLAWnM/tpOUGdju7j7/QEnATIBQgElARMBDQHLAAIAAAAAE4gTiAAkAEAAAAEgBQQFBAMCAwIQExITEgUEBQQgJSQlJBMSExIQAwIDAiUkJSQBITIXHgEXFhQHDgEHBiMhIicuAScmNDc+ATc2CcT+av6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyAgHzo5f7H/sT+jv6C+sEHU1tXVIQkJiYkhFRXW/itXFdUhCQmJiSEVFcTiIB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofID4ESYlhFNXuFdThCUmJiWEU1e4V1OEJSYAAAACAAAAABOIE4gAJAA9AAABIAUEBQQDAgMCEBMSExIFBAUEICUkJSQTEhMSEAMCAwIlJCUkASAFBAATEhADAgAFBCAlJAADAhATEgAlJAnE/mr+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gIB86OX+x/7E/o7+gv5qATcBFwEPAZtwdHRw/mX+8f7p/ZL+6f7x/mVwdHRwAZsBDwEXE4iAfOjl/sf+xP6O/oL81P6C/o7+xP7H5eh8gIB86OUBOQE8AXIBfgMsAX4BcgE8ATnl6HyA/Bh0cP5l/vH+6f2S/un+8f5lcHR0cAGbAQ8BFwJuARcBDwGbcHQAAAACAAAAABOIE4gAAwAoAAABIREhASAFBAUEAwIDAhATEhMSBQQFBCAlJCUkExITEhADAgMCJSQlJAXcB9D4MAPo/mr+gv6O/sT+x+XofICAfOjlATkBPAFyAX4DLAF+AXIBPAE55eh8gIB86OX+x/7E/o7+ggXcB9AF3IB86OX+x/7E/o7+gvzU/oL+jv7E/sfl6HyAgHzo5QE5ATwBcgF+AywBfgFyATwBOeXofIAAAAEAAAABAABrcKzRXw889QALE4gAAAAA3G6deQAAAADcHcF5/+AAABOTE4gAAAAIAAIAAAAAAAAAAQAAE4gAAAAAE4j/4P/1E5MAAQAAAAAAAAAAAAAAAAAAAAcAAAAAE4gAABOIAAATiAAAE4gAAAY2AAATiAAAAAD//wAAAAAAAAAAAAAAAP/gAAAAAAAAAAAAAAAiADYAWABsAIAAlAC0AQ4BfAGaAhACJgI0AkICqAMiA6YD/gABAAAAEwBLAAMAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAAAEADGAAEAAAAAAAEAFAAAAAEAAAAAAAIABwAUAAEAAAAAAAMAFAAbAAEAAAAAAAQAFAAvAAEAAAAAAAUACwBDAAEAAAAAAAYAFABOAAEAAAAAAAoAKwBiAAEAAAAAAAsAEwCNAAMAAQQJAAEAKACgAAMAAQQJAAIADgDIAAMAAQQJAAMAKADWAAMAAQQJAAQAKAD+AAMAAQQJAAUAFgEmAAMAAQQJAAYAKAE8AAMAAQQJAAoAVgFkAAMAAQQJAAsAJgG6aWNvbmZvbnQtdnVlLWUwOGEyMzFSZWd1bGFyaWNvbmZvbnQtdnVlLWUwOGEyMzFpY29uZm9udC12dWUtZTA4YTIzMVZlcnNpb24gMS4waWNvbmZvbnQtdnVlLWUwOGEyMzFHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGUAMAA4AGEAMgAzADEAUgBlAGcAdQBsAGEAcgBpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGUAMAA4AGEAMgAzADEAaQBjAG8AbgBmAG8AbgB0AC0AdgB1AGUALQBlADAAOABhADIAMwAxAFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAGMAbwBuAGYAbwBuAHQALQB2AHUAZQAtAGUAMAA4AGEAMgAzADEARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAgAAAAAAAAAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwATAAABAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMRYXJyb3ctbGVmdC1kb3VibGUKYXJyb3ctbGVmdBJhcnJvdy1yaWdodC1kb3VibGULYXJyb3ctcmlnaHQKYnJlYWRjcnVtYgljaGVja21hcmsFY2xvc2UHY29uZmlybQRpbmZvBG1lbnUEbW9yZQVwYXVzZQRwbGF5CnRyaWFuZ2xlLXMQdXNlci1zdGF0dXMtYXdheQ91c2VyLXN0YXR1cy1kbmQVdXNlci1zdGF0dXMtaW52aXNpYmxlEnVzZXItc3RhdHVzLW9ubGluZQAA\"","module.exports = require(\"core-js/modules/es.array.map.js\");","module.exports = require(\"@nextcloud/router\");","module.exports = require(\"core-js/modules/es.function.name.js\");","module.exports = require(\"core-js/modules/es.regexp.exec.js\");","module.exports = require(\"core-js/modules/es.string.iterator.js\");","module.exports = require(\"core-js/modules/es.array.iterator.js\");","module.exports = require(\"core-js/modules/web.dom-collections.iterator.js\");","// 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, \".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\":\"AAmFA,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:\\\"e08a231\\\"; @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$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// Exports\nexport default ___CSS_LOADER_EXPORT___;\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/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!./index.scss\";\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 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 */\nimport { VTooltip } from 'v-tooltip'\nimport './index.scss'\n\n// force scope the tooltip and use .vue-tooltip\n// instead of .tooltip to avoid server compatibility\n// issues and the use of !important\nVTooltip.options.defaultTemplate = `<div class=\"vue-tooltip\" role=\"tooltip\" data-v-${SCOPE_VERSION}><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>`\nVTooltip.options.defaultHtml = false\n\nexport default VTooltip\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, \".vue-tooltip[data-v-e08a231]{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-e08a231][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-e08a231][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-e08a231][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-e08a231][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-e08a231][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-e08a231][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-e08a231] .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-e08a231] .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:\\\"e08a231\\\"; @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\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"core-js/modules/es.string.replace.js\");","module.exports = require(\"core-js/modules/es.regexp.to-string.js\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VPopover',_vm._g(_vm._b({attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},'VPopover',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"trigger\"),_vm._v(\" \"),_c('template',{slot:\"popover\"},[_vm._t(\"default\")],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Popover.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!./Popover.vue?vue&type=script&lang=js&\"","<!--\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<docs>\n\n### General description\n\nThis component is just a wrapper for the v-component plugin by Akryum,\nplease refer to this documentation for customization:\nhttps://github.com/Akryum/v-tooltip\n\nThis components has two slots:\n* 'trigger' which can be any html element and it will trigger the popover\nthis slot is optional since you can toggle the popover also by updating the\nopen prop on this component;\n\n* a default slot that is for the content of the popover.\n\n### Examples\n\nWith a `<button>` as a trigger:\n```vue\n<template>\n\t<Popover>\n\t\t<button slot=\"trigger\"> I am the trigger </button>\n\t\t<template>\n\t\t<h2>this is some content</h2>\n\t\t</template>\n\t</Popover>\n</template>\n```\n</docs>\n\n<template>\n\t<VPopover\n\t\tv-bind=\"$attrs\"\n\t\tpopover-base-class=\"popover\"\n\t\tpopover-wrapper-class=\"popover__wrapper\"\n\t\tpopover-arrow-class=\"popover__arrow\"\n\t\tpopover-inner-class=\"popover__inner\"\n\t\tv-on=\"$listeners\">\n\t\t<!-- This will be the popover target (for the events and position) -->\n\t\t<slot name=\"trigger\" />\n\t\t<!-- This will be the content of the popover -->\n\t\t<template slot=\"popover\">\n\t\t\t<slot />\n\t\t</template>\n\t</VPopover>\n</template>\n\n<script>\nimport { VPopover } from 'v-tooltip'\n\nexport default {\n\tname: 'Popover',\n\tcomponents: {\n\t\tVPopover,\n\t},\n}\n</script>\n\n<style lang=\"scss\">\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</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/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Popover.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 || {};","module.exports = require(\"@nextcloud/event-bus\");","module.exports = require(\"core-js/modules/es.number.constructor.js\");","module.exports = require(\"core-js/modules/es.array.concat.js\");","module.exports = require(\"core-js/modules/es.symbol.js\");","module.exports = require(\"@nextcloud/auth\");","/**\n * @copyright Copyright (c) 2019 Kristof Hamann, Paul Schwörer\n *\n * @author Kristof Hamann\n * @author Paul Schwörer\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'\n\nexport const IsMobileState = new Vue({\n\tdata() {\n\t\treturn {\n\t\t\tisMobile: false,\n\t\t}\n\t},\n\twatch: {\n\t\tisMobile(val) {\n\t\t\tthis.$emit('changed', val)\n\t\t},\n\t},\n\tcreated() {\n\t\twindow.addEventListener('resize', this.handleWindowResize)\n\t\tthis.handleWindowResize()\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.handleWindowResize)\n\t},\n\tmethods: {\n\t\thandleWindowResize() {\n\t\t\tthis.isMobile = document.documentElement.clientWidth < 1024\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\nimport { IsMobileState } from '../../utils/IsMobileState'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tisMobile: false,\n\t\t}\n\t},\n\tmounted() {\n\t\tIsMobileState.$on('changed', this.onIsMobileChanged)\n\t\tthis.isMobile = IsMobileState.isMobile\n\t},\n\tbeforeDestroy() {\n\t\tIsMobileState.$off('changed', this.onIsMobileChanged)\n\t},\n\tmethods: {\n\t\tonIsMobileChanged(val) {\n\t\t\tthis.isMobile = val\n\t\t},\n\t},\n}\n","module.exports = require(\"@nextcloud/axios\");","module.exports = require(\"core-js/modules/es.symbol.description.js\");","module.exports = require(\"core-js/modules/web.url.js\");","module.exports = require(\"core-js/modules/es.array.slice.js\");","module.exports = require(\"v-click-outside\");","module.exports = require(\"striptags\");","// 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, \".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:\\\"e08a231\\\"; @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\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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 */\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { getCapabilities } from '@nextcloud/capabilities'\nimport { getCurrentUser } from '@nextcloud/auth'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\thasStatus: false,\n\t\t\tuserStatus: {\n\t\t\t\tstatus: null,\n\t\t\t\tmessage: null,\n\t\t\t\ticon: null,\n\t\t\t},\n\t\t}\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Fetches the user-status from the server\n\t\t * @param {String} userId UserId of the user to fetch the status for\n\t\t *\n\t\t * @returns {Promise<void>}\n\t\t */\n\t\tasync fetchUserStatus(userId) {\n\t\t\tconst capabilities = getCapabilities()\n\t\t\tif (!Object.prototype.hasOwnProperty.call(capabilities, 'user_status') || !capabilities.user_status.enabled) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// User status endpoint is not available for guests.\n\t\t\tif (!getCurrentUser()) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst { data } = await axios.get(generateOcsUrl('apps/user_status/api/v1', 2) + `statuses/${encodeURIComponent(userId)}`)\n\t\t\t\tconst {\n\t\t\t\t\tstatus,\n\t\t\t\t\tmessage,\n\t\t\t\t\ticon,\n\t\t\t\t} = data.ocs.data\n\t\t\t\tthis.userStatus.status = status\n\t\t\t\tthis.userStatus.message = message || ''\n\t\t\t\tthis.userStatus.icon = icon || ''\n\t\t\t\tthis.hasStatus = true\n\t\t\t} catch (e) {\n\t\t\t\tif (e.response.status === 404 && e.response.data.ocs?.data?.length === 0) {\n\t\t\t\t\t// User just has no status set, so don't log it\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tconsole.error(e)\n\t\t\t}\n\t\t},\n\t},\n}\n","module.exports = require(\"core-js/modules/es.symbol.iterator.js\");","module.exports = require(\"linkifyjs/string\");","module.exports = require(\"core-js/modules/es.array.from.js\");","// 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, \"\\nbutton.menuitem[data-v-a7ced2f4] {\\n\\ttext-align: left;\\n}\\nbutton.menuitem *[data-v-a7ced2f4] {\\n\\tcursor: pointer;\\n}\\nbutton.menuitem[data-v-a7ced2f4]:disabled {\\n\\topacity: 0.5 !important;\\n\\tcursor: default;\\n}\\nbutton.menuitem:disabled *[data-v-a7ced2f4] {\\n\\tcursor: default;\\n}\\n.menuitem.active[data-v-a7ced2f4] {\\n\\tbox-shadow: inset 2px 0 var(--color-primary);\\n\\tborder-radius: 0;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenuItem.vue\"],\"names\":[],\"mappings\":\";AA4HA;CACA,gBAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,uBAAA;CACA,eAAA;AACA;AAEA;CACA,eAAA;AACA;AAEA;CACA,4CAAA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"<!--\\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\\n<template>\\n\\t<li class=\\\"popover__menuitem\\\">\\n\\t\\t<!-- If item.href is set, a link will be directly used -->\\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<!-- If item.input is set instead, an put will be used -->\\n\\t\\t<span v-else-if=\\\"item.input\\\" class=\\\"menuitem\\\" :class=\\\"{active: item.active}\\\">\\n\\t\\t\\t<!-- does not show if input is checkbox -->\\n\\t\\t\\t<span v-if=\\\"item.input !== 'checkbox'\\\" :class=\\\"item.icon\\\" />\\n\\n\\t\\t\\t<!-- only shows if input is text -->\\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<!-- checkbox -->\\n\\t\\t\\t<template v-else>\\n\\t\\t\\t\\t<input :id=\\\"key\\\"\\n\\t\\t\\t\\t\\tv-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<!-- If item.action is set instead, a button will be used -->\\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<!-- If item.longtext is set AND the item does not have an action -->\\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<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<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<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// 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, \"li[data-v-a7ced2f4]{display:flex;flex:0 0 auto}li.hidden[data-v-a7ced2f4]{display:none}li>button[data-v-a7ced2f4],li>a[data-v-a7ced2f4],li>.menuitem[data-v-a7ced2f4]{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-a7ced2f4],li>button span[class*=' icon-'][data-v-a7ced2f4],li>button[class^='icon-'][data-v-a7ced2f4],li>button[class*=' icon-'][data-v-a7ced2f4],li>a span[class^='icon-'][data-v-a7ced2f4],li>a span[class*=' icon-'][data-v-a7ced2f4],li>a[class^='icon-'][data-v-a7ced2f4],li>a[class*=' icon-'][data-v-a7ced2f4],li>.menuitem span[class^='icon-'][data-v-a7ced2f4],li>.menuitem span[class*=' icon-'][data-v-a7ced2f4],li>.menuitem[class^='icon-'][data-v-a7ced2f4],li>.menuitem[class*=' icon-'][data-v-a7ced2f4]{min-width:0;min-height:0;background-position:14px center;background-size:16px}li>button span[class^='icon-'][data-v-a7ced2f4],li>button span[class*=' icon-'][data-v-a7ced2f4],li>a span[class^='icon-'][data-v-a7ced2f4],li>a span[class*=' icon-'][data-v-a7ced2f4],li>.menuitem span[class^='icon-'][data-v-a7ced2f4],li>.menuitem span[class*=' icon-'][data-v-a7ced2f4]{padding:22px 0 22px 44px}li>button:not([class^='icon-']):not([class*='icon-'])>span[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>input[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>button:not([class^='icon-']):not([class*='icon-'])>form[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>span[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>input[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>a:not([class^='icon-']):not([class*='icon-'])>form[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>span[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>input[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child,li>.menuitem:not([class^='icon-']):not([class*='icon-'])>form[data-v-a7ced2f4]:not([class^='icon-']):not([class*='icon-']):first-child{margin-left:44px}li>button[class^='icon-'][data-v-a7ced2f4],li>button[class*=' icon-'][data-v-a7ced2f4],li>a[class^='icon-'][data-v-a7ced2f4],li>a[class*=' icon-'][data-v-a7ced2f4],li>.menuitem[class^='icon-'][data-v-a7ced2f4],li>.menuitem[class*=' icon-'][data-v-a7ced2f4]{padding:0 14px 0 44px}li>button[data-v-a7ced2f4]:not(:disabled):hover,li>button[data-v-a7ced2f4]:not(:disabled):focus,li>button:not(:disabled).active[data-v-a7ced2f4],li>a[data-v-a7ced2f4]:not(:disabled):hover,li>a[data-v-a7ced2f4]:not(:disabled):focus,li>a:not(:disabled).active[data-v-a7ced2f4],li>.menuitem[data-v-a7ced2f4]:not(:disabled):hover,li>.menuitem[data-v-a7ced2f4]:not(:disabled):focus,li>.menuitem:not(:disabled).active[data-v-a7ced2f4]{opacity:1 !important}li>button.action[data-v-a7ced2f4],li>a.action[data-v-a7ced2f4],li>.menuitem.action[data-v-a7ced2f4]{padding:inherit !important}li>button>span[data-v-a7ced2f4],li>a>span[data-v-a7ced2f4],li>.menuitem>span[data-v-a7ced2f4]{cursor:pointer;white-space:nowrap}li>button>p[data-v-a7ced2f4],li>a>p[data-v-a7ced2f4],li>.menuitem>p[data-v-a7ced2f4]{width:150px;line-height:1.6em;padding:8px 0;white-space:normal;overflow:hidden;text-overflow:ellipsis}li>button>select[data-v-a7ced2f4],li>a>select[data-v-a7ced2f4],li>.menuitem>select[data-v-a7ced2f4]{margin:0;margin-left:6px}li>button[data-v-a7ced2f4]:not(:empty),li>a[data-v-a7ced2f4]:not(:empty),li>.menuitem[data-v-a7ced2f4]:not(:empty){padding-right:14px !important}li>button>img[data-v-a7ced2f4],li>a>img[data-v-a7ced2f4],li>.menuitem>img[data-v-a7ced2f4]{width:16px;padding:14px}li>button>input.radio+label[data-v-a7ced2f4],li>button>input.checkbox+label[data-v-a7ced2f4],li>a>input.radio+label[data-v-a7ced2f4],li>a>input.checkbox+label[data-v-a7ced2f4],li>.menuitem>input.radio+label[data-v-a7ced2f4],li>.menuitem>input.checkbox+label[data-v-a7ced2f4]{padding:0 !important;width:100%}li>button>input.checkbox+label[data-v-a7ced2f4]::before,li>a>input.checkbox+label[data-v-a7ced2f4]::before,li>.menuitem>input.checkbox+label[data-v-a7ced2f4]::before{margin:-2px 13px 0}li>button>input.radio+label[data-v-a7ced2f4]::before,li>a>input.radio+label[data-v-a7ced2f4]::before,li>.menuitem>input.radio+label[data-v-a7ced2f4]::before{margin:-2px 12px 0}li>button>input[data-v-a7ced2f4]:not([type=radio]):not([type=checkbox]):not([type=image]),li>a>input[data-v-a7ced2f4]:not([type=radio]):not([type=checkbox]):not([type=image]),li>.menuitem>input[data-v-a7ced2f4]:not([type=radio]):not([type=checkbox]):not([type=image]){width:150px}li>button form[data-v-a7ced2f4],li>a form[data-v-a7ced2f4],li>.menuitem form[data-v-a7ced2f4]{display:flex;flex:1 1 auto}li>button form[data-v-a7ced2f4]:not(:first-child),li>a form[data-v-a7ced2f4]:not(:first-child),li>.menuitem form[data-v-a7ced2f4]:not(:first-child){margin-left:5px}li>button>span.hidden+form[data-v-a7ced2f4],li>button>span[style*='display:none']+form[data-v-a7ced2f4],li>a>span.hidden+form[data-v-a7ced2f4],li>a>span[style*='display:none']+form[data-v-a7ced2f4],li>.menuitem>span.hidden+form[data-v-a7ced2f4],li>.menuitem>span[style*='display:none']+form[data-v-a7ced2f4]{margin-left:0}li>button input[data-v-a7ced2f4],li>a input[data-v-a7ced2f4],li>.menuitem input[data-v-a7ced2f4]{min-width:44px;max-height:40px;margin:2px 0;flex:1 1 auto}li>button input[data-v-a7ced2f4]:not(:first-child),li>a input[data-v-a7ced2f4]:not(:first-child),li>.menuitem input[data-v-a7ced2f4]:not(:first-child){margin-left:5px}li:not(.hidden):not([style*='display:none']):first-of-type>button>form[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):first-of-type>button>input[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):first-of-type>a>form[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):first-of-type>a>input[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>form[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):first-of-type>.menuitem>input[data-v-a7ced2f4]{margin-top:12px}li:not(.hidden):not([style*='display:none']):last-of-type>button>form[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):last-of-type>button>input[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):last-of-type>a>form[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):last-of-type>a>input[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>form[data-v-a7ced2f4],li:not(.hidden):not([style*='display:none']):last-of-type>.menuitem>input[data-v-a7ced2f4]{margin-bottom:12px}li>button[data-v-a7ced2f4]{padding:0}li>button span[data-v-a7ced2f4]{opacity:1}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./PopoverMenuItem.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AA2MA,oBACC,YAAa,CACb,aAAc,CAFf,2BAKE,YAAa,CALf,+EAWE,cAAe,CACf,gBC9LmB,CD+LnB,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,UC1LiB,CDgKnB,giBAiCG,WAAY,CACZ,YAAa,CACb,+BAA2C,CAC3C,oBClNa,CD8KhB,+RA2CG,wBC7NkB,CDkLrB,iqCAoDK,gBCtOgB,CDkLrB,iQA2DG,qBC7OkB,CDkLrB,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,UCtRa,CDuRb,YCnR6C,CD0KhD,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,cC/TkB,CDgUlB,eAAY,CACZ,YAAa,CACb,aAAc,CAhJjB,uJAmJI,eAAgB,CAnJpB,+gBA8JK,eAA8B,CA9JnC,ygBAqKK,kBAAiC,CArKtC,2BA2KE,SAAU,CA3KZ,gCA6KG,SC5Ua\",\"sourcesContent\":[\"$scope_version:\\\"e08a231\\\"; @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\\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// 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, \"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:\\\"e08a231\\\"; @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\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"core-js/modules/es.array.join.js\");","module.exports = require(\"regenerator-runtime/runtime.js\");","module.exports = require(\"core-js/modules/es.promise.js\");","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionBubble.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!./MentionBubble.vue?vue&type=script&lang=js&\"","<!--\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<template>\n\t<span :class=\"{'mention-bubble--primary': primary}\"\n\t\tclass=\"mention-bubble\"\n\t\tcontenteditable=\"false\">\n\t\t<span class=\"mention-bubble__wrapper\">\n\t\t\t<span class=\"mention-bubble__content\">\n\t\t\t\t<!-- Avatar or icon -->\n\t\t\t\t<span :class=\"[icon, `mention-bubble__icon--${avatarUrl ? 'with-avatar' : ''}`]\"\n\t\t\t\t\t:style=\"avatarUrl ? { backgroundImage: `url(${avatarUrl})` } : null\"\n\t\t\t\t\tclass=\"mention-bubble__icon\" />\n\n\t\t\t\t<!-- Title -->\n\t\t\t\t<span role=\"heading\" class=\"mention-bubble__title\" :title=\"label\" />\n\t\t\t</span>\n\n\t\t\t<!-- Selectable text for copy/paste -->\n\t\t\t<span role=\"none\" class=\"mention-bubble__select\">{{ mentionText }}</span>\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport { generateUrl } from '@nextcloud/router'\n\nexport default {\n\tname: 'MentionBubble',\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tsource: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomputed: {\n\t\tavatarUrl() {\n\t\t\treturn this.id && this.source === 'users'\n\t\t\t\t? this.getAvatarUrl(this.id, 44)\n\t\t\t\t: null\n\t\t},\n\t\tmentionText() {\n\t\t\treturn this.id.indexOf(' ') === -1\n\t\t\t\t? `@${this.id}`\n\t\t\t\t: `@\"${this.id}\"`\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetAvatarUrl(user, size) {\n\t\t\treturn generateUrl('/avatar/{user}/{size}', {\n\t\t\t\tuser,\n\t\t\t\tsize,\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\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</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/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionBubble.vue?vue&type=style&index=0&id=724f9d58&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 || {};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"mention-bubble\",class:{'mention-bubble--primary': _vm.primary},attrs:{\"contenteditable\":\"false\"}},[_c('span',{staticClass:\"mention-bubble__wrapper\"},[_c('span',{staticClass:\"mention-bubble__content\"},[_c('span',{staticClass:\"mention-bubble__icon\",class:[_vm.icon, (\"mention-bubble__icon--\" + (_vm.avatarUrl ? 'with-avatar' : ''))],style:(_vm.avatarUrl ? { backgroundImage: (\"url(\" + _vm.avatarUrl + \")\") } : null)}),_vm._v(\" \"),_c('span',{staticClass:\"mention-bubble__title\",attrs:{\"role\":\"heading\",\"title\":_vm.label}})]),_vm._v(\" \"),_c('span',{staticClass:\"mention-bubble__select\",attrs:{\"role\":\"none\"}},[_vm._v(_vm._s(_vm.mentionText))])])])}\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 escapeHtml from 'escape-html'\nimport linkifyStr from 'linkifyjs/string'\nimport stripTags from 'striptags'\nimport Vue from 'vue'\n\nimport MentionBubble from '../../components/RichContenteditable/MentionBubble'\n\n// Beginning or whitespace. Non-capturing group\nconst MENTION_START = '(?:^|\\\\s)'\n// Anything that is not text or end-of-line. Non-capturing group\nconst MENTION_END = '(?:[^a-z]|$)'\nexport const USERID_REGEX = new RegExp(`${MENTION_START}(@[a-zA-Z0-9_.@\\\\-']+)(${MENTION_END})`, 'gi')\nexport const USERID_REGEX_WITH_SPACE = new RegExp(`${MENTION_START}(@\"[a-zA-Z0-9 _.@\\\\-']+\")(${MENTION_END})`, 'gi')\n\nexport default {\n\tprops: {\n\t\tuserData: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({}),\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Convert the value string to html for the inner content\n\t\t *\n\t\t * @param {string} value the content without html\n\t\t * @returns {string} rendered html\n\t\t */\n\t\trenderContent(value) {\n\t\t\t// Sanitize the value prop\n\t\t\tconst sanitizedValue = escapeHtml(value)\n\n\t\t\t// Extract all the userIds\n\t\t\tconst splitValue = sanitizedValue.split(USERID_REGEX)\n\t\t\t\t.map(part => part.split(USERID_REGEX_WITH_SPACE)).flat()\n\n\t\t\t// Replace userIds by html\n\t\t\treturn splitValue\n\t\t\t\t.map(part => {\n\t\t\t\t\t// When splitting, the string is always putting the userIds\n\t\t\t\t\t// on the the uneven indexes. We only want to generate the mentions html\n\t\t\t\t\tif (!part.startsWith('@')) {\n\t\t\t\t\t\t// This part doesn't contain a mention, let's make sure links are parsed\n\t\t\t\t\t\treturn linkifyStr(part, {\n\t\t\t\t\t\t\tdefaultProtocol: 'https',\n\t\t\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\t\t\tclassName: 'external',\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\t// Extracting the id, nuking the \" and @\n\t\t\t\t\tconst id = part.replace(/[@\"]/gi, '')\n\n\t\t\t\t\t// Compiling template and prepend with the space we removed during the split\n\t\t\t\t\treturn ' ' + this.genSelectTemplate(id)\n\t\t\t\t})\n\t\t\t\t.join('')\n\t\t\t\t.replace(/\\n/gmi, '<br>')\n\t\t\t\t.replace(/&/gmi, '&')\n\t\t},\n\n\t\t/**\n\t\t * Convert the innerHtml content to a string with mentions as text\n\t\t *\n\t\t * @param {string} content the content without html\n\t\t * @returns {string}\n\t\t */\n\t\tparseContent(content) {\n\t\t\tlet text = content.replace(/<br>/gmi, '\\n')\n\t\t\ttext = text.replace(/ /gmi, ' ')\n\t\t\ttext = text.replace(/&/gmi, '&')\n\n\t\t\t// Convert the mentions to text only\n\t\t\t// first we replace divs with new lines\n\t\t\ttext = text.replace(/<\\/div>/gmi, '\\n')\n\t\t\t// then we remove all leftover html\n\t\t\ttext = stripTags(text, '<div>')\n\t\t\ttext = stripTags(text)\n\n\t\t\treturn text\n\t\t},\n\n\t\t/**\n\t\t * Generate an autocompletion popup entry template\n\t\t *\n\t\t * @param {string} value the value to match against the userData\n\t\t * @returns {string}\n\t\t */\n\t\tgenSelectTemplate(value) {\n\t\t\tconst data = this.userData[value]\n\n\t\t\t// Fallback to @mention in case no data matches\n\t\t\tif (!data) {\n\t\t\t\t// return `@${value}`\n\t\t\t\treturn value.indexOf(' ') === -1\n\t\t\t\t\t? `@${value}`\n\t\t\t\t\t: `@\"${value}\"`\n\t\t\t}\n\n\t\t\t// Return template and make sure we strip of new lines and tabs\n\t\t\treturn this.renderComponentHtml(data, MentionBubble).replace(/[\\n\\t]/gmi, '')\n\t\t},\n\n\t\t/**\n\t\t * Render a component and return its html content\n\t\t *\n\t\t * @param {Object} propsData the props to pass to the component\n\t\t * @param {Object} component the component to render\n\t\t * @returns {string} the rendered html\n\t\t */\n\t\trenderComponentHtml(propsData, component) {\n\t\t\tconst View = Vue.extend(component)\n\t\t\tconst Item = new View({\n\t\t\t\tpropsData,\n\t\t\t})\n\n\t\t\t// Prepare mountpoint\n\t\t\tconst wrapper = document.createElement('div')\n\t\t\tconst mount = document.createElement('div')\n\t\t\twrapper.style.display = 'none'\n\t\t\twrapper.appendChild(mount)\n\t\t\tdocument.body.appendChild(wrapper)\n\n\t\t\t// Mount and get raw html\n\t\t\tItem.$mount(mount)\n\t\t\tconst renderedHtml = wrapper.innerHTML\n\n\t\t\t// Destroy\n\t\t\tItem.$destroy()\n\t\t\twrapper.remove()\n\n\t\t\treturn renderedHtml\n\t\t},\n\t},\n}\n","module.exports = require(\"escape-html\");","module.exports = require(\"core-js/modules/es.string.starts-with.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/**\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n */\n\nfunction Color(r, g, b) {\n\tthis.r = r\n\tthis.g = g\n\tthis.b = b\n}\n\nfunction stepCalc(steps, ends) {\n\tconst step = new Array(3)\n\tstep[0] = (ends[1].r - ends[0].r) / steps\n\tstep[1] = (ends[1].g - ends[0].g) / steps\n\tstep[2] = (ends[1].b - ends[0].b) / steps\n\treturn step\n}\n\nfunction mixPalette(steps, color1, color2) {\n\tconst palette = []\n\tpalette.push(color1)\n\tconst step = stepCalc(steps, [color1, color2])\n\tfor (let i = 1; i < steps; i++) {\n\t\tconst r = parseInt(color1.r + step[0] * i, 10)\n\t\tconst g = parseInt(color1.g + step[1] * i, 10)\n\t\tconst b = parseInt(color1.b + step[2] * i, 10)\n\t\tpalette.push(new Color(r, g, b))\n\t}\n\treturn palette\n}\n\n/**\n * Generate colors from the official nextcloud color\n * You can provide how many colors you want (multiplied by 3)\n * if step = 6\n * 3 colors * 6 will result in 18 generated colors\n *\n * @param {number} [steps=6] Number of steps to go from a color to another\n * @returns {Object[]}\n */\nfunction GenColors(steps) {\n\tif (!steps) {\n\t\tsteps = 6\n\t}\n\n\tconst red = new Color(182, 70, 157)\n\tconst yellow = new Color(221, 203, 85)\n\tconst blue = new Color(0, 130, 201) // Nextcloud blue\n\n\tconst palette1 = mixPalette(steps, red, yellow)\n\tconst palette2 = mixPalette(steps, yellow, blue)\n\tconst palette3 = mixPalette(steps, blue, red)\n\n\treturn palette1.concat(palette2).concat(palette3)\n}\n\nexport default GenColors\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\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nimport ___CSS_LOADER_URL_IMPORT_0___ from \"../../fonts/iconfont-vue-e08a231.eot\";\nimport ___CSS_LOADER_URL_IMPORT_1___ from \"../../fonts/iconfont-vue-e08a231.woff\";\nimport ___CSS_LOADER_URL_IMPORT_2___ from \"../../fonts/iconfont-vue-e08a231.ttf\";\nimport ___CSS_LOADER_URL_IMPORT_3___ from \"../../fonts/iconfont-vue-e08a231.svg\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@font-face{font-family:\\\"iconfont-vue-e08a231\\\";src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\")}.icon[data-v-1bfc7bfe]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.arrow-left[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.arrow-right-double[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.arrow-right[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.breadcrumb[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.checkmark[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.close[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.confirm[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.info[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.menu[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.more[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.pause[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.play[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.triangle-s[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.user-status-away[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.user-status-dnd[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.user-status-invisible[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.icon.user-status-online[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";content:\\\"\\\"}.avatardiv[data-v-1bfc7bfe]{position:relative;display:inline-block}.avatardiv--unknown[data-v-1bfc7bfe]{position:relative;background-color:var(--color-text-maxcontrast)}.avatardiv[data-v-1bfc7bfe]: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-1bfc7bfe]:not(.avatardiv--unknown){background-color:#000 !important}.avatardiv--with-menu[data-v-1bfc7bfe]{cursor:pointer}.avatardiv--with-menu[data-v-1bfc7bfe] .trigger{position:absolute;top:0;left:0}.avatardiv--with-menu .icon-more[data-v-1bfc7bfe]{display:flex;cursor:pointer;opacity:0;background:none;font-size:18px;align-items:center;justify-content:center}.avatardiv--with-menu .icon-more[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.avatardiv--with-menu .icon-more[data-v-1bfc7bfe]::before{display:block}.avatardiv--with-menu:focus .icon-more[data-v-1bfc7bfe],.avatardiv--with-menu:hover .icon-more[data-v-1bfc7bfe]{opacity:1}.avatardiv--with-menu:focus img[data-v-1bfc7bfe],.avatardiv--with-menu:hover img[data-v-1bfc7bfe]{opacity:0.3}.avatardiv--with-menu .icon-more[data-v-1bfc7bfe],.avatardiv--with-menu img[data-v-1bfc7bfe]{transition:opacity var(--animation-quick)}.avatardiv>.unknown[data-v-1bfc7bfe]{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-1bfc7bfe]{width:100%;height:100%;object-fit:cover}.avatardiv .avatardiv__status[data-v-1bfc7bfe]{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-1bfc7bfe]{border-radius:50%;background-color:var(--color-success)}.avatardiv .avatardiv__status--negative[data-v-1bfc7bfe]{background-color:var(--color-error)}.avatardiv .avatardiv__status--neutral[data-v-1bfc7bfe]{border:none;background-color:transparent !important}.avatardiv .avatardiv__status--neutral svg[data-v-1bfc7bfe]{position:absolute;top:-3px;left:-2px}.avatardiv .avatardiv__status--neutral svg path[data-v-1bfc7bfe]{fill:#aaa}.avatardiv .avatardiv__user-status[data-v-1bfc7bfe]{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-1bfc7bfe]{border-color:var(--color-background-hover);background-color:var(--color-background-hover)}.acli.active .avatardiv .avatardiv__user-status[data-v-1bfc7bfe]{border-color:var(--color-primary-light);background-color:var(--color-primary-light)}.avatardiv .avatardiv__user-status--online[data-v-1bfc7bfe]{color:#49b382}.avatardiv .avatardiv__user-status--online[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.avatardiv .avatardiv__user-status--dnd[data-v-1bfc7bfe]{background-color:#ffffff;color:#ed484c}.avatardiv .avatardiv__user-status--dnd[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.avatardiv .avatardiv__user-status--away[data-v-1bfc7bfe]{color:#f4a331}.avatardiv .avatardiv__user-status--away[data-v-1bfc7bfe]:before{font-family:\\\"iconfont-vue-e08a231\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.avatardiv .avatardiv__user-status--icon[data-v-1bfc7bfe]{border:none;background-color:transparent}.avatardiv .popovermenu-wrapper[data-v-1bfc7bfe]{position:relative;display:inline-block}.avatar-class-icon[data-v-1bfc7bfe]{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,iBC0eE,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,kCDjnBD,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,0DC8hBF,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,kCDntBF,CAAA,iBAAA,CAAsB,eAkFP,CAAA,WACZ,CAAA,yDCooBD,wBAEA,CAAA,aAAkB,CAAA,gEAFlB,kCDvtBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DCyoBD,aAAA,CAAA,iEAAA,kCD5tBF,CAAA,iBAAA,CAAA,eAkFe,CAAA,WACZ,CAAA,0DC6oBD,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-e08a231\\\": (\\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-e08a231\\\";\\n src: url('../iconfont-vue-e08a231.eot'); /* IE9 Compat Modes */\\n src: url('../iconfont-vue-e08a231.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n url('../iconfont-vue-e08a231.woff') format('woff'), /* Pretty Modern Browsers */\\n url('../iconfont-vue-e08a231.ttf') format('truetype'), /* Safari, Android, iOS */\\n url('../iconfont-vue-e08a231.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-e08a231\\\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \\\"iconfont-vue-e08a231\\\";\\n content: iconfont-item(\\\"iconfont-vue-e08a231/#{$icon}\\\");\\n }\\n }\\n }\\n}\\n\",\"$scope_version:\\\"e08a231\\\"; @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@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\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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\nexport default {\n\tprops: {\n\t\t/**\n\t\t * A class-name or an array of class-names\n\t\t * to be ignored when clicking outside\n\t\t * an element\n\t\t */\n\t\texcludeClickOutsideClasses: {\n\t\t\ttype: String | Array,\n\t\t\tdefault: () => [],\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Middleware Handler for V-Click-Outside\n\t\t *\n\t\t * @param {Event} event The click event\n\t\t * @returns {Boolean}\n\t\t */\n\t\tclickOutsideMiddleware(event) {\n\t\t\tconst excludedClassList = Array.isArray(this.excludeClickOutsideClasses)\n\t\t\t\t? this.excludeClickOutsideClasses\n\t\t\t\t: [this.excludeClickOutsideClasses]\n\n\t\t\t// No need to iterate through all parents\n\t\t\t// if class-list is empty\n\t\t\tif (excludedClassList.length === 0) {\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\treturn !this.hasNodeOrAnyParentClass(event.target, excludedClassList)\n\t\t},\n\t\t/**\n\t\t * Checks if given node or any of it's parents have a class of classArray\n\t\t *\n\t\t * @param {Element} node Node to test\n\t\t * @param {Array} classArray List of classes to check for\n\t\t * @returns {Boolean}\n\t\t */\n\t\thasNodeOrAnyParentClass(node, classArray) {\n\t\t\tfor (const className of classArray) {\n\t\t\t\tif (node?.classList?.contains(className)) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn !!node.parentElement && this.hasNodeOrAnyParentClass(node.parentElement, classArray)\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\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tisFullscreen: this._isFullscreen(),\n\t\t}\n\t},\n\tbeforeMount() {\n\t\twindow.addEventListener('resize', this._onResize)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this._onResize)\n\t},\n\tmethods: {\n\t\t_onResize() {\n\t\t\t// Update fullscreen mode\n\t\t\tthis.isFullscreen = this._isFullscreen()\n\t\t},\n\t\t_isFullscreen() {\n\t\t\t// if the window height is equal to the screen height,\n\t\t\t// we're in full screen mode\n\t\t\treturn window.outerHeight === screen.height\n\t\t},\n\t},\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"popover__menu\"},_vm._l((_vm.menu),function(item,key){return _c('PopoverMenuItem',{key:key,attrs:{\"item\":item}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.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!./PopoverMenuItem.vue?vue&type=script&lang=js&\"","<!--\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\n<template>\n\t<li class=\"popover__menuitem\">\n\t\t<!-- If item.href is set, a link will be directly used -->\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<!-- If item.input is set instead, an put will be used -->\n\t\t<span v-else-if=\"item.input\" class=\"menuitem\" :class=\"{active: item.active}\">\n\t\t\t<!-- does not show if input is checkbox -->\n\t\t\t<span v-if=\"item.input !== 'checkbox'\" :class=\"item.icon\" />\n\n\t\t\t<!-- only shows if input is text -->\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<!-- checkbox -->\n\t\t\t<template v-else>\n\t\t\t\t<input :id=\"key\"\n\t\t\t\t\tv-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<!-- If item.action is set instead, a button will be used -->\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<!-- If item.longtext is set AND the item does not have an action -->\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<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<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<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","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/resolve-url-loader/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=0&id=a7ced2f4&scoped=true&lang=css&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","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/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenuItem.vue?vue&type=style&index=1&id=a7ced2f4&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!./PopoverMenu.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!./PopoverMenu.vue?vue&type=script&lang=js&\"","<!--\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\n<docs>\n\tThis component is deprecated. Please use the [Actions](#/Components?id=actions-1) component instead.\n</docs>\n\n<template>\n\t<ul class=\"popover__menu\">\n\t\t<PopoverMenuItem v-for=\"(item, key) in menu\" :key=\"key\" :item=\"item\" />\n\t</ul>\n</template>\n\n<script>\nimport PopoverMenuItem from './PopoverMenuItem'\n\nexport default {\n\tname: 'PopoverMenu',\n\tcomponents: {\n\t\tPopoverMenuItem,\n\t},\n\tprops: {\n\t\tmenu: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => {\n\t\t\t\treturn [{\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\trequired: true,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nul {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n</style>\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"popover__menuitem\"},[(_vm.item.href)?_c('a',{staticClass:\"focusable\",attrs:{\"href\":(_vm.item.href) ? _vm.item.href : '#',\"target\":(_vm.item.target) ? _vm.item.target : '',\"download\":_vm.item.download,\"rel\":\"noreferrer noopener\"},on:{\"click\":_vm.action}},[(!_vm.iconIsUrl)?_c('span',{class:_vm.item.icon}):_c('img',{attrs:{\"src\":_vm.item.icon}}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):(_vm.item.input)?_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[(_vm.item.input !== 'checkbox')?_c('span',{class:_vm.item.icon}):_vm._e(),_vm._v(\" \"),(_vm.item.input === 'text')?_c('form',{class:_vm.item.input,on:{\"submit\":function($event){$event.preventDefault();return _vm.item.action($event)}}},[_c('input',{attrs:{\"type\":_vm.item.input,\"placeholder\":_vm.item.text,\"required\":\"\"},domProps:{\"value\":_vm.item.value}}),_vm._v(\" \"),_c('input',{staticClass:\"icon-confirm\",attrs:{\"type\":\"submit\",\"value\":\"\"}})]):[((_vm.item.input)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.item.model)?_vm._i(_vm.item.model,null)>-1:(_vm.item.model)},on:{\"change\":[function($event){var $$a=_vm.item.model,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.item, \"model\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.item, \"model\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.item, \"model\", $$c)}},_vm.item.action]}}):((_vm.item.input)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.item.model,null)},on:{\"change\":[function($event){return _vm.$set(_vm.item, \"model\", null)},_vm.item.action]}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.item.model),expression:\"item.model\"}],class:_vm.item.input,attrs:{\"id\":_vm.key,\"type\":_vm.item.input},domProps:{\"value\":(_vm.item.model)},on:{\"change\":_vm.item.action,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.item, \"model\", $event.target.value)}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.key},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")])]],2):(_vm.item.action)?_c('button',{staticClass:\"menuitem focusable\",class:{active: _vm.item.active},attrs:{\"disabled\":_vm.item.disabled},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.item.action($event)}}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()]):_c('span',{staticClass:\"menuitem\",class:{active: _vm.item.active}},[_c('span',{class:_vm.item.icon}),_vm._v(\" \"),(_vm.item.text && _vm.item.longtext)?_c('p',[_c('strong',{staticClass:\"menuitem-text\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\\t\")]),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"menuitem-text-detail\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\\t\")])]):(_vm.item.text)?_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.text)+\"\\n\\t\\t\")]):(_vm.item.longtext)?_c('p',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.item.longtext)+\"\\n\\t\\t\")]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","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/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PopoverMenu.vue?vue&type=style&index=0&id=4dae360a&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) 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 */\nimport PopoverMenu from './PopoverMenu'\n\nexport default PopoverMenu\n","module.exports = require(\"core-js/modules/es.string.split.js\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._g({directives:[{name:\"tooltip\",rawName:\"v-tooltip\",value:(_vm.tooltip),expression:\"tooltip\"},{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],staticClass:\"avatardiv popovermenu-wrapper\",class:{\n\t\t'avatardiv--unknown': _vm.userDoesNotExist,\n\t\t'avatardiv--with-menu': _vm.hasMenu\n\t},style:(_vm.avatarStyle)},!_vm.disableMenu ? { click: _vm.toggleMenu } : {}),[(_vm.iconClass)?_c('div',{staticClass:\"avatar-class-icon\",class:_vm.iconClass}):(_vm.isAvatarLoaded && !_vm.userDoesNotExist)?_c('img',{attrs:{\"src\":_vm.avatarUrlLoaded,\"srcset\":_vm.avatarSrcSetLoaded,\"alt\":\"\"}}):_vm._e(),_vm._v(\" \"),(_vm.hasMenu)?_c('Popover',{attrs:{\"placement\":\"auto\",\"container\":_vm.menuContainer,\"open\":_vm.contactsMenuOpenState}},[_c('PopoverMenu',{attrs:{\"menu\":_vm.menu}}),_vm._v(\" \"),_c('template',{slot:\"trigger\"},[_c('div',{class:_vm.contactsMenuLoading ? 'icon-loading' : 'icon-more',style:({'width': _vm.size + 'px', 'height': _vm.size + 'px'})})])],2):_vm._e(),_vm._v(\" \"),(_vm.showUserStatusIconOnAvatar)?_c('div',{staticClass:\"avatardiv__user-status avatardiv__user-status--icon\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.userStatus.icon)+\"\\n\\t\")]):(_vm.canDisplayUserStatus)?_c('div',{staticClass:\"avatardiv__user-status\",class:'avatardiv__user-status--' + _vm.userStatus.status}):(_vm.status)?_c('div',{staticClass:\"avatardiv__status\",class:'avatardiv__status--' + _vm.status,style:({ backgroundColor: (\"#\" + _vm.statusColor) })},[(_vm.status === 'neutral')?_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"12\",\"height\":\"11\",\"viewBox\":\"0 0 3.175 2.91\"}},[_c('path',{style:({ fill: (\"#\" + _vm.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\"}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.userDoesNotExist && !_vm.iconClass)?_c('div',{staticClass:\"unknown\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.initials)+\"\\n\\t\")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\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\n<docs>\n\n### Basic user avatar\n\n```vue\n\t<avatar user=\"janedoe\" display-name=\"Jane Doe\" />\n```\n\n### Avatar with image\n\n```vue\n\t<avatar url=\"https://nextcloud.com/wp-content/themes/next/assets/img/common/nextcloud-square-logo.png\" />\n```\n\n</docs>\n<template>\n\t<div v-tooltip=\"tooltip\"\n\t\tv-click-outside=\"closeMenu\"\n\t\t:class=\"{\n\t\t\t'avatardiv--unknown': userDoesNotExist,\n\t\t\t'avatardiv--with-menu': hasMenu\n\t\t}\"\n\t\t:style=\"avatarStyle\"\n\t\tclass=\"avatardiv popovermenu-wrapper\"\n\t\tv-on=\"!disableMenu ? { click: toggleMenu } : {}\">\n\t\t<!-- Avatar icon or image -->\n\t\t<div v-if=\"iconClass\" :class=\"iconClass\" class=\"avatar-class-icon\" />\n\t\t<img v-else-if=\"isAvatarLoaded && !userDoesNotExist\"\n\t\t\t:src=\"avatarUrlLoaded\"\n\t\t\t:srcset=\"avatarSrcSetLoaded\"\n\t\t\talt=\"\">\n\t\t<Popover\n\t\t\tv-if=\"hasMenu\"\n\t\t\tplacement=\"auto\"\n\t\t\t:container=\"menuContainer\"\n\t\t\t:open=\"contactsMenuOpenState\">\n\t\t\t<PopoverMenu :menu=\"menu\" />\n\t\t\t<template slot=\"trigger\">\n\t\t\t\t<div :class=\"contactsMenuLoading ? 'icon-loading' : 'icon-more'\" :style=\"{'width': size + 'px', 'height': size + 'px'}\" />\n\t\t\t</template>\n\t\t</Popover>\n\n\t\t<!-- Avatar status -->\n\t\t<div v-if=\"showUserStatusIconOnAvatar\" class=\"avatardiv__user-status avatardiv__user-status--icon\">\n\t\t\t{{ userStatus.icon }}\n\t\t</div>\n\t\t<div v-else-if=\"canDisplayUserStatus\"\n\t\t\tclass=\"avatardiv__user-status\"\n\t\t\t:class=\"'avatardiv__user-status--' + userStatus.status\" />\n\t\t<div v-else-if=\"status\"\n\t\t\tclass=\"avatardiv__status\"\n\t\t\t:class=\"'avatardiv__status--' + status\"\n\t\t\t:style=\"{ backgroundColor: `#${statusColor}` }\">\n\t\t\t<!-- triangle -->\n\t\t\t<svg v-if=\"status === 'neutral'\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"12\"\n\t\t\t\theight=\"11\"\n\t\t\t\tviewBox=\"0 0 3.175 2.91\">\n\t\t\t\t<path d=\"M3.21 3.043H.494l.679-1.177.68-1.176.678 1.176z\"\n\t\t\t\t\t:style=\"{ fill: `#${statusColor}` }\"\n\t\t\t\t\tstroke=\"#fff\"\n\t\t\t\t\tstroke-width=\".265\"\n\t\t\t\t\tstroke-linecap=\"square\" />\n\t\t\t</svg>\n\t\t</div>\n\n\t\t<!-- Show the letter if no avatar nor icon class -->\n\t\t<div v-if=\"userDoesNotExist && !iconClass\" class=\"unknown\">\n\t\t\t{{ initials }}\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { getBuilder } from '@nextcloud/browser-storage'\nimport { directive as ClickOutside } from 'v-click-outside'\nimport PopoverMenu from '../PopoverMenu'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport Tooltip from '../../directives/Tooltip'\nimport usernameToColor from '../../functions/usernameToColor'\nimport { userStatus } from '../../mixins'\nimport Popover from '../Popover/Popover'\n\nconst browserStorage = getBuilder('nextcloud').persist().build()\n\nfunction getUserHasAvatar(userId) {\n\tconst flag = browserStorage.getItem('user-has-avatar.' + userId)\n\tif (typeof flag === 'string') {\n\t\treturn Boolean(flag)\n\t}\n\treturn null\n}\n\nfunction setUserHasAvatar(userId, flag) {\n\tif (userId) {\n\t\tbrowserStorage.setItem('user-has-avatar.' + userId, flag)\n\t}\n}\n\nexport default {\n\tname: 'Avatar',\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t\tClickOutside,\n\t},\n\tcomponents: {\n\t\tPopover,\n\t\tPopoverMenu,\n\t},\n\tmixins: [userStatus],\n\tprops: {\n\t\t/**\n\t\t * Set a custom url to the avatar image\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\turl: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a css icon-class for an icon to be used instead of the avatar.\n\t\t */\n\t\ticonClass: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set the user id to fetch the avatar\n\t\t * either the url, user or displayName property must be defined\n\t\t */\n\t\tuser: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Whether or not to display the user-status\n\t\t */\n\t\tshowUserStatus: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Whether or not to the status-icon should be used instead of online/away\n\t\t */\n\t\tshowUserStatusCompact: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * When the user status was preloaded via another source it can be handed in with this property to save the request.\n\t\t * If this property is not set the status will be fetched automatically.\n\t\t * If a preloaded no-status is available provide this object with properties \"status\", \"icon\" and \"message\" set to null.\n\t\t */\n\t\tpreloadedUserStatus: {\n\t\t\ttype: Object,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Is the user a guest user (then we have to user a different endpoint)\n\t\t */\n\t\tisGuest: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Set a display name that will be rendered as a tooltip\n\t\t * either the url, user or displayName property must be defined\n\t\t * specify just the displayname to generate a placeholder avatar without\n\t\t * trying to fetch the avatar based on the user id\n\t\t */\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\t\t/**\n\t\t * Set a size in px for the rendered avatar\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 32,\n\t\t},\n\t\t/**\n\t\t * Placeholder avatars will be automatically generated when this is set to true\n\t\t */\n\t\tallowPlaceholder: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Disable the tooltip\n\t\t */\n\t\tdisableTooltip: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Disable the menu\n\t\t */\n\t\tdisableMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declares a custom tooltip when not null\n\t\t * Fallback will be the displayName\n\t\t *\n\t\t * requires disableTooltip not to be set to true\n\t\t */\n\t\ttooltipMessage: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Declares username is not a user's name, when true.\n\t\t * Prevents loading user's avatar from server and forces generating colored initials,\n\t\t * i.e. if the user is a group\n\t\t */\n\t\tisNoUser: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * DEPRECATED!\n\t\t * This prop will be removed with nc/vue 3.0\n\t\t *\n\t\t * Declares a status indicator on the avatar\n\t\t * Available options are `positive`, `negative`, `neutral`\n\t\t */\n\t\tstatus: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t\tvalidator: (value) => {\n\t\t\t\tswitch (value) {\n\t\t\t\tcase 'positive':\n\t\t\t\tcase 'negative':\n\t\t\t\tcase 'neutral':\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\treturn false\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Declares a different color to be used with the status indicator\n\t\t */\n\t\tstatusColor: {\n\t\t\ttype: [Number, String],\n\t\t\tdefault: null,\n\t\t\tvalidator: value => {\n\t\t\t\treturn /^([a-f0-9]{3}){1,2}$/i.test(value)\n\t\t\t},\n\t\t},\n\t\t/**\n\t\t * Choose the avatar menu alignment.\n\t\t * Possible values are `left`, `center`, `right`.\n\t\t */\n\t\tmenuPosition: {\n\t\t\ttype: String,\n\t\t\tdefault: 'center',\n\t\t},\n\n\t\t/**\n\t\t * Selector for the popover menu container\n\t\t */\n\t\tmenuContainer: {\n\t\t\ttype: String,\n\t\t\tdefault: 'body',\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tavatarUrlLoaded: null,\n\t\t\tavatarSrcSetLoaded: null,\n\t\t\tuserDoesNotExist: false,\n\t\t\tisAvatarLoaded: false,\n\t\t\tisMenuLoaded: false,\n\t\t\tcontactsMenuLoading: false,\n\t\t\tcontactsMenuActions: [],\n\t\t\tcontactsMenuOpenState: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tcanDisplayUserStatus() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& ['online', 'away', 'dnd'].includes(this.userStatus.status)\n\t\t},\n\t\tshowUserStatusIconOnAvatar() {\n\t\t\treturn this.showUserStatus\n\t\t\t\t&& this.showUserStatusCompact\n\t\t\t\t&& this.hasStatus\n\t\t\t\t&& this.userStatus.status !== 'dnd'\n\t\t\t\t&& this.userStatus.icon\n\t\t},\n\t\tgetUserIdentifier() {\n\t\t\tif (this.isDisplayNameDefined) {\n\t\t\t\treturn this.displayName\n\t\t\t}\n\t\t\tif (this.isUserDefined) {\n\t\t\t\treturn this.user\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\tisUserDefined() {\n\t\t\treturn typeof this.user !== 'undefined'\n\t\t},\n\t\tisDisplayNameDefined() {\n\t\t\treturn typeof this.displayName !== 'undefined'\n\t\t},\n\t\tisUrlDefined() {\n\t\t\treturn typeof this.url !== 'undefined'\n\t\t},\n\t\thasMenu() {\n\t\t\tif (this.disableMenu) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.isMenuLoaded) {\n\t\t\t\treturn this.menu.length > 0\n\t\t\t}\n\t\t\treturn !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url)\n\t\t},\n\t\tshouldShowPlaceholder() {\n\t\t\treturn this.allowPlaceholder && (\n\t\t\t\tthis.userDoesNotExist)\n\t\t},\n\t\tavatarStyle() {\n\t\t\tconst style = {\n\t\t\t\twidth: this.size + 'px',\n\t\t\t\theight: this.size + 'px',\n\t\t\t\tlineHeight: this.size + 'px',\n\t\t\t\tfontSize: Math.round(this.size * 0.55) + 'px',\n\t\t\t}\n\n\t\t\tif (!this.iconClass && !this.avatarSrcSetLoaded) {\n\t\t\t\tconst rgb = usernameToColor(this.getUserIdentifier)\n\t\t\t\tstyle.backgroundColor = 'rgb(' + rgb.r + ', ' + rgb.g + ', ' + rgb.b + ')'\n\t\t\t}\n\t\t\treturn style\n\t\t},\n\t\ttooltip() {\n\t\t\tif (this.disableTooltip) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tif (this.tooltipMessage) {\n\t\t\t\treturn this.tooltipMessage\n\t\t\t}\n\n\t\t\treturn this.displayName\n\t\t},\n\t\tinitials() {\n\t\t\tlet initials\n\t\t\tif (this.shouldShowPlaceholder) {\n\t\t\t\tconst user = this.getUserIdentifier\n\t\t\t\tconst idx = user.indexOf(' ')\n\t\t\t\tif (user === '') {\n\t\t\t\t\tinitials = '?'\n\t\t\t\t} else {\n\t\t\t\t\tinitials = String.fromCodePoint(user.codePointAt(0))\n\t\t\t\t\tif (idx !== -1) {\n\t\t\t\t\t\tinitials = initials.concat(String.fromCodePoint(user.codePointAt(idx + 1)))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn initials.toUpperCase()\n\t\t},\n\t\tmenu() {\n\t\t\tconst actions = this.contactsMenuActions.map((item) => {\n\t\t\t\treturn {\n\t\t\t\t\thref: item.hyperlink,\n\t\t\t\t\ticon: item.icon,\n\t\t\t\t\tlongtext: item.title,\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tfunction escape(html) {\n\t\t\t\tconst text = document.createTextNode(html)\n\t\t\t\tconst p = document.createElement('p')\n\t\t\t\tp.appendChild(text)\n\t\t\t\treturn p.innerHTML\n\t\t\t}\n\n\t\t\tif (this.showUserStatus && (this.userStatus.icon || this.userStatus.message)) {\n\t\t\t\treturn [{\n\t\t\t\t\thref: '#',\n\t\t\t\t\ticon: `data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><text x='0' y='14' font-size='14'>${escape(this.userStatus.icon)}</text></svg>`,\n\t\t\t\t\ttext: `${this.userStatus.message}`,\n\t\t\t\t}].concat(actions)\n\t\t\t}\n\n\t\t\treturn actions\n\t\t},\n\t},\n\n\twatch: {\n\t\turl() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t\tuser() {\n\t\t\tthis.userDoesNotExist = false\n\t\t\tthis.isMenuLoaded = false\n\t\t\tthis.loadAvatarUrl()\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.loadAvatarUrl()\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tif (!this.preloadedUserStatus) {\n\t\t\t\tthis.fetchUserStatus(this.user)\n\t\t\t} else {\n\t\t\t\tthis.userStatus.status = this.preloadedUserStatus.status || ''\n\t\t\t\tthis.userStatus.message = this.preloadedUserStatus.message || ''\n\t\t\t\tthis.userStatus.icon = this.preloadedUserStatus.icon || ''\n\t\t\t\tthis.hasStatus = this.preloadedUserStatus.status !== null\n\t\t\t}\n\t\t\tsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tbeforeDestroyed() {\n\t\tif (this.showUserStatus && this.user && !this.isNoUser) {\n\t\t\tunsubscribe('user_status:status.updated', this.handleUserStatusUpdated)\n\t\t}\n\t},\n\n\tmethods: {\n\t\thandleUserStatusUpdated(state) {\n\t\t\tif (this.user === state.userId) {\n\t\t\t\tthis.userStatus = {\n\t\t\t\t\tstatus: state.status,\n\t\t\t\t\ticon: state.icon,\n\t\t\t\t\tmessage: state.message,\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync toggleMenu() {\n\t\t\tif (!this.hasMenu) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (!this.contactsMenuOpenState) {\n\t\t\t\tawait this.fetchContactsMenu()\n\t\t\t}\n\t\t\tthis.contactsMenuOpenState = !this.contactsMenuOpenState\n\t\t},\n\t\tcloseMenu() {\n\t\t\tthis.contactsMenuOpenState = false\n\t\t},\n\t\tasync fetchContactsMenu() {\n\t\t\tthis.contactsMenuLoading = true\n\t\t\ttry {\n\t\t\t\tconst user = encodeURIComponent(this.user)\n\t\t\t\tconst { data } = await axios.post(generateUrl('contactsmenu/findOne'), `shareType=0&shareWith=${user}`)\n\t\t\t\tthis.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions\n\t\t\t} catch (e) {\n\t\t\t\tthis.contactsMenuOpenState = false\n\t\t\t}\n\t\t\tthis.contactsMenuLoading = false\n\t\t\tthis.isMenuLoaded = true\n\t\t},\n\n\t\t/**\n\t\t * Handle avatar loading if user or url defined\n\t\t */\n\t\tloadAvatarUrl() {\n\t\t\tthis.isAvatarLoaded = false\n\n\t\t\t/** Only run avatar image loading if either user or url property is defined */\n\t\t\tif (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser)) {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Directly use the url if defined\n\t\t\tif (this.isUrlDefined) {\n\t\t\t\tthis.updateImageIfValid(this.url)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst avatarUrl = this.avatarUrlGenerator(this.user, this.size)\n\t\t\tconst srcset = [\n\t\t\t\tavatarUrl + ' 1x',\n\t\t\t\tthis.avatarUrlGenerator(this.user, this.size * 2) + ' 2x',\n\t\t\t\tthis.avatarUrlGenerator(this.user, this.size * 4) + ' 4x',\n\t\t\t].join(', ')\n\n\t\t\tthis.updateImageIfValid(avatarUrl, srcset)\n\t\t},\n\n\t\t/**\n\t\t * Generate an avatar url from the server's avatar endpoint\n\t\t *\n\t\t * @param {string} user the user id\n\t\t * @param {number} size the desired size\n\t\t * @returns {string}\n\t\t */\n\t\tavatarUrlGenerator(user, size) {\n\t\t\tlet url = '/avatar/{user}/{size}'\n\t\t\tif (this.isGuest) {\n\t\t\t\turl = '/avatar/guest/{user}/{size}'\n\t\t\t}\n\n\t\t\tlet avatarUrl = generateUrl(\n\t\t\t\turl,\n\t\t\t\t{\n\t\t\t\t\tuser,\n\t\t\t\t\tsize,\n\t\t\t\t})\n\n\t\t\t// eslint-disable-next-line camelcase\n\t\t\tif (user === getCurrentUser()?.uid && typeof oc_userconfig !== 'undefined') {\n\t\t\t\tavatarUrl += '?v=' + oc_userconfig.avatar.version\n\t\t\t}\n\n\t\t\treturn avatarUrl\n\t\t},\n\n\t\t/**\n\t\t * Check if the provided url is valid and update Avatar if so\n\t\t *\n\t\t * @param {string} url the avatar url\n\t\t * @param {array} srcset the avatar srcset\n\t\t */\n\t\tupdateImageIfValid(url, srcset = null) {\n\t\t\t// skip loading\n\t\t\tconst userHasAvatar = getUserHasAvatar(this.user)\n\t\t\tif (this.isUserDefined && typeof userHasAvatar === 'boolean') {\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tif (userHasAvatar === false) {\n\t\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst img = new Image()\n\t\t\timg.onload = () => {\n\t\t\t\tthis.avatarUrlLoaded = url\n\t\t\t\tif (srcset) {\n\t\t\t\t\tthis.avatarSrcSetLoaded = srcset\n\t\t\t\t}\n\t\t\t\tthis.isAvatarLoaded = true\n\t\t\t\t// re-get to avoid concurrent access\n\t\t\t\tsetUserHasAvatar(this.user, true)\n\t\t\t}\n\t\t\timg.onerror = () => {\n\t\t\t\tconsole.debug('Invalid avatar url', url)\n\t\t\t\t// Avatar is invalid, reset\n\t\t\t\tthis.avatarUrlLoaded = null\n\t\t\t\tthis.avatarSrcSetLoaded = null\n\n\t\t\t\tthis.userDoesNotExist = true\n\t\t\t\tthis.isAvatarLoaded = false\n\t\t\t\tsetUserHasAvatar(this.user, false)\n\t\t\t}\n\n\t\t\tif (srcset) {\n\t\t\t\timg.srcset = srcset\n\t\t\t}\n\t\t\timg.src = url\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\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</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.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!./Avatar.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/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Avatar.vue?vue&type=style&index=0&id=1bfc7bfe&scoped=true&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 || {};","/**\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\nimport Avatar from './Avatar'\n\nexport default Avatar\n","module.exports = require(\"md5\");","module.exports = require(\"@nextcloud/capabilities\");","/**\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\nimport usernameToColor from './usernameToColor'\n\nexport default usernameToColor\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\nimport md5 from 'md5'\nimport GenColors from '../../utils/GenColors'\n\n/**\n * Originally taken from https://github.com/nextcloud/server/blob/master/core/js/placeholder.js\n * @param {string} username Display name or user id to generate from\n * @returns {Object} the rgb colors as {r:255, g:255, b:255}\n */\nconst usernameToColor = function(username) {\n\t// Normalize hash\n\tlet hash = username.toLowerCase()\n\n\t// Already a md5 hash?\n\tif (hash.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n\t\thash = md5(hash)\n\t}\n\n\thash = hash.replace(/[^0-9a-f]/g, '')\n\n\tconst steps = 6\n\tconst finalPalette = GenColors(steps)\n\n\t// Convert a string to an integer evenly\n\tfunction hashToInt(hash, maximum) {\n\t\tlet finalInt = 0\n\t\tconst result = []\n\n\t\t// Splitting evenly the string\n\t\tfor (let i = 0; i < hash.length; i++) {\n\t\t\t// chars in md5 goes up to f, hex:16\n\t\t\tresult.push(parseInt(hash.charAt(i), 16) % 16)\n\t\t}\n\n\t\t// Adds up all results\n\t\tfor (const j in result) {\n\t\t\tfinalInt += result[j]\n\t\t}\n\n\t\t// chars in md5 goes up to f, hex:16\n\t\t// make sure we're always using int in our operation\n\t\treturn parseInt(parseInt(finalInt, 10) % maximum, 10)\n\t}\n\treturn finalPalette[hashToInt(hash, steps * 3)]\n}\n\nexport default usernameToColor\n","module.exports = require(\"@nextcloud/browser-storage\");","module.exports = require(\"core-js/modules/es.array.includes.js\");","module.exports = require(\"core-js/modules/es.regexp.constructor.js\");","module.exports = require(\"core-js/modules/es.array.flat.js\");","module.exports = require(\"core-js/modules/es.string.match.js\");","module.exports = require(\"core-js/modules/es.string.from-code-point.js\");","module.exports = require(\"core-js/modules/es.string.code-point-at.js\");","'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;","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.github.io/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 location = global.location;\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 defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\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(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 i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\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 = /(iphone|ipod|ipad).*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// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\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","const HANDLERS_PROPERTY = '__v-click-outside'\nconst HAS_WINDOWS = typeof window !== 'undefined'\nconst HAS_NAVIGATOR = typeof navigator !== 'undefined'\nconst IS_TOUCH =\n HAS_WINDOWS &&\n ('ontouchstart' in window ||\n (HAS_NAVIGATOR && navigator.msMaxTouchPoints > 0))\nconst EVENTS = IS_TOUCH ? ['touchstart'] : ['click']\n\nfunction processDirectiveArguments(bindingValue) {\n const isFunction = typeof bindingValue === 'function'\n if (!isFunction && typeof bindingValue !== 'object') {\n throw new Error(\n 'v-click-outside: Binding value must be a function or an object',\n )\n }\n\n return {\n handler: isFunction ? bindingValue : bindingValue.handler,\n middleware: bindingValue.middleware || ((item) => item),\n events: bindingValue.events || EVENTS,\n isActive: !(bindingValue.isActive === false),\n detectIframe: !(bindingValue.detectIframe === false),\n }\n}\n\nfunction execHandler({ event, handler, middleware }) {\n if (middleware(event)) {\n handler(event)\n }\n}\n\nfunction onFauxIframeClick({ el, event, handler, middleware }) {\n // Note: on firefox clicking on iframe triggers blur, but only on\n // next event loop it becomes document.activeElement\n // https://stackoverflow.com/q/2381336#comment61192398_23231136\n setTimeout(() => {\n const { activeElement } = document\n if (\n activeElement &&\n activeElement.tagName === 'IFRAME' &&\n !el.contains(activeElement)\n ) {\n execHandler({ event, handler, middleware })\n }\n }, 0)\n}\n\nfunction onEvent({ el, event, handler, middleware }) {\n // Note: composedPath is not supported on IE and Edge, more information here:\n // https://developer.mozilla.org/en-US/docs/Web/API/Event/composedPath\n // In the meanwhile, we are using el.contains for those browsers, not\n // the ideal solution, but using IE or EDGE is not ideal either.\n const path = event.path || (event.composedPath && event.composedPath())\n const isClickOutside = path\n ? path.indexOf(el) < 0\n : !el.contains(event.target)\n\n if (!isClickOutside) {\n return\n }\n\n execHandler({ event, handler, middleware })\n}\n\nfunction bind(el, { value }) {\n const {\n events,\n handler,\n middleware,\n isActive,\n detectIframe,\n } = processDirectiveArguments(value)\n if (!isActive) {\n return\n }\n\n el[HANDLERS_PROPERTY] = events.map((eventName) => ({\n event: eventName,\n srcTarget: document.documentElement,\n handler: (event) => onEvent({ el, event, handler, middleware }),\n }))\n\n if (detectIframe) {\n const detectIframeEvent = {\n event: 'blur',\n srcTarget: window,\n handler: (event) => onFauxIframeClick({ el, event, handler, middleware }),\n }\n\n el[HANDLERS_PROPERTY] = [...el[HANDLERS_PROPERTY], detectIframeEvent]\n }\n\n el[HANDLERS_PROPERTY].forEach(({ event, srcTarget, handler }) =>\n setTimeout(() => {\n // Note: More info about this implementation can be found here:\n // https://github.com/ndelvalle/v-click-outside/issues/137\n if (!el[HANDLERS_PROPERTY]) {\n return\n }\n srcTarget.addEventListener(event, handler, false)\n }, 0),\n )\n}\n\nfunction unbind(el) {\n const handlers = el[HANDLERS_PROPERTY] || []\n handlers.forEach(({ event, srcTarget, handler }) =>\n srcTarget.removeEventListener(event, handler, false),\n )\n delete el[HANDLERS_PROPERTY]\n}\n\nfunction update(el, { value, oldValue }) {\n if (JSON.stringify(value) === JSON.stringify(oldValue)) {\n return\n }\n unbind(el)\n bind(el, { value })\n}\n\nconst directive = {\n bind,\n update,\n unbind,\n}\n\nexport default HAS_WINDOWS ? directive : {}\n","import directive from './v-click-outside'\n\nconst plugin = {\n install(Vue) {\n Vue.directive('click-outside', directive)\n },\n directive,\n}\n\nexport default plugin\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 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","'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, '&').replace(/</g, '<').replace(/>/g, '>');\n}\n\nfunction escapeAttr(href) {\n\treturn href.replace(/\"/g, '"');\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;","'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.github.io/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 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 = Gp.constructor = GeneratorFunctionPrototype;\n 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 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 Gp[iteratorSymbol] = function() {\n return this;\n };\n\n 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, 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 Function(\"r\", \"regeneratorRuntime = r\")(runtime);\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 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_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 PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\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 Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\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 (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && !NATIVE_REJECTION_EVENT) return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['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(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\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 // eslint-disable-next-line no-unused-vars\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(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/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.github.io/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') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, '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 // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\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.github.io/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.github.io/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.github.io/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.github.io/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","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\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_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 if (!IS_IOS && !IS_NODE && 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 (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\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 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","'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 fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\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.github.io/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.github.io/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 (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', 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 = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), 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}, !SUPPORTS_Y);\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","(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 $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/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 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 setInternalState = require('../internals/internal-state').set;\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.github.io/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) setInternalState(result, { sticky: sticky });\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.github.io/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://github.com/tc39/proposal-flatMap\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 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 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.github.io/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.github.io/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 $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.github.io/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\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.github.io/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n"],"sourceRoot":""}
|