aboutsummaryrefslogtreecommitdiffstats
path: root/apps/oauth2/js/oauth2.js.map
blob: 91e8fbb97d8b2cc3f3d2490415d35667d893cade (plain)
1
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/has-own-property.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/length-of-array-like.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/@nextcloud/axios/dist/index.js","webpack:///./apps/oauth2/src/components/OAuthItem.vue?7c68","webpack:///./node_modules/@nextcloud/router/dist/index.js","webpack:///./apps/oauth2/src/App.vue?fb7e","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///./node_modules/core-js/internals/a-callable.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/@nextcloud/initial-state/dist/index.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/try-to-string.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/function-name.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/@nextcloud/auth/dist/index.js","webpack:///./node_modules/@nextcloud/auth/dist/requesttoken.js","webpack:///./node_modules/core-js/modules/es.array.for-each.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/array-species-constructor.js","webpack:///./node_modules/core-js/internals/is-constructor.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/@nextcloud/auth/node_modules/@nextcloud/event-bus/dist/index.es.js","webpack:///./node_modules/@nextcloud/auth/dist/user.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./apps/oauth2/src/components/OAuthItem.vue?43eb","webpack:///apps/oauth2/src/components/OAuthItem.vue","webpack:///./apps/oauth2/src/components/OAuthItem.vue?d90b","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./apps/oauth2/src/components/OAuthItem.vue","webpack:///./apps/oauth2/src/components/OAuthItem.vue?5f8d","webpack:///./apps/oauth2/src/App.vue?5a24","webpack:///apps/oauth2/src/App.vue","webpack:///./apps/oauth2/src/App.vue?64b2","webpack:///./apps/oauth2/src/App.vue","webpack:///./apps/oauth2/src/App.vue?8635","webpack:///./apps/oauth2/src/main.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","exec","error","it","Math","check","globalThis","window","self","global","this","Function","argument","toString","isArray","val","isUndefined","isObject","isPlainObject","getPrototypeOf","isFunction","forEach","obj","fn","length","isArrayBuffer","isBuffer","constructor","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","document","merge","result","assignValue","slice","arguments","extend","a","b","thisArg","trim","str","replace","stripBOM","content","charCodeAt","shared","hasOwn","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","fails","isCallable","toObject","TypeError","String","g","e","aFunction","undefined","namespace","method","requireObjectCoercible","getOwnPropertyDescriptor","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","target","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","sham","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","IE8_DOM_DEFINE","anObject","toPropertyKey","$defineProperty","O","P","Attributes","ceil","floor","number","memo","isOldIE","Boolean","all","atob","getTarget","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","stylesInDom","getIndexByIdentifier","identifier","modulesToDom","list","idCountMap","identifiers","item","id","base","count","concat","index","css","media","sourceMap","references","updater","push","addStyle","insertStyleElement","style","createElement","attributes","nonce","keys","setAttribute","insert","Error","appendChild","textStore","replaceText","replacement","filter","join","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","btoa","unescape","encodeURIComponent","JSON","stringify","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","removeStyleElement","newObj","lastIdentifiers","newList","newLastIdentifiers","_i","_index","splice","_slicedToArray","arr","Array","_arrayWithHoles","iterator","_s","_e","_arr","_n","_d","next","done","err","_iterableToArrayLimit","minLen","_arrayLikeToArray","from","test","_unsupportedIterableToArray","_nonIterableRest","len","arr2","_item","cssMapping","base64","data","sourceMapping","sourceURLs","sources","map","sourceRoot","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules","emptyObject","freeze","isUndef","v","isDef","isTrue","isPrimitive","_toString","isRegExp","isValidArrayIndex","parseFloat","isFinite","isPromise","then","catch","toNumber","isNaN","makeMap","expectsLowerCase","split","toLowerCase","isReservedAttribute","indexOf","cached","cache","camelizeRE","camelize","_","toUpperCase","capitalize","charAt","hyphenateRE","hyphenate","ctx","boundFn","apply","_length","toArray","start","ret","to","_from","res","noop","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","Date","getTime","keysA","keysB","looseIndexOf","once","called","ASSET_TYPES","LIFECYCLE_HOOKS","config","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","def","writable","configurable","bailRE","RegExp","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","userAgent","isIE","isIE9","isEdge","isIOS","isFF","match","nativeWatch","watch","supportsPassive","opts","addEventListener","isServerRendering","env","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Set","set","has","add","clear","warn","Dep","subs","addSub","sub","removeSub","depend","addDep","notify","targetStack","pushTarget","popTarget","pop","VNode","tag","children","text","elm","context","componentOptions","asyncFactory","fnContext","fnOptions","fnScopeId","componentInstance","parent","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","defineProperties","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","original","args","inserted","ob","__ob__","observeArray","dep","arrayKeys","getOwnPropertyNames","shouldObserve","toggleObserving","Observer","vmCount","src","__proto__","protoAugment","copyAugment","walk","observe","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","setter","childOb","dependArray","newVal","max","del","items","strats","mergeData","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","hooks","dedupeHooks","mergeAssets","hook","type","key$1","props","methods","inject","computed","provide","defaultStrat","mergeOptions","normalizeProps","normalized","normalizeInject","dirs","directives","def$$1","normalizeDirectives","_base","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","prop","absent","booleanIndex","getTypeIndex","stringIndex","default","$options","_props","getType","getPropDefaultValue","prevShouldObserve","functionTypeCheckRE","isSameType","expectedTypes","handleError","info","cur","$parent","errorCaptured","globalHandleError","invokeWithErrorHandling","handler","_handled","logError","console","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","Promise","resolve","setTimeout","MutationObserver","setImmediate","counter","observer","textNode","characterData","nextTick","cb","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","passive","once$$1","capture","createFnInvoker","fns","invoker","arguments$1","updateListeners","on","oldOn","remove$$1","createOnceHandler","old","event","params","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","checkProp","hash","altKey","preserve","normalizeChildren","normalizeArrayChildren","nestedIndex","lastIndex","last","isTextNode","shift","_isVList","resolveInject","provideKey","_provided","provideDefault","resolveSlots","slots","attrs","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","render","renderSlot","fallbackRender","bindObject","nodes","scopedSlotFn","$scopedSlots","$slots","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","tree","markStatic","staticRenderFns","_renderProxy","markOnce","markStaticNode","bindObjectListeners","existing","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","values","prependModifier","symbol","installRenderHelpers","_o","_l","_t","_q","_m","_f","_k","_b","_v","_u","_g","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","_compiled","needNormalization","listeners","injections","scopedSlots","_scopeId","_c","cloneAndMarkFunctionalResult","renderContext","clone","mergeProps","componentVNodeHooks","init","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","_isComponent","_parentVnode","inlineTemplate","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","parentVnode","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","_renderChildren","$vnode","_vnode","$attrs","$listeners","propKeys","_propKeys","oldListeners","_parentListeners","updateComponentListeners","$forceUpdate","updateChildComponent","_isMounted","callHook","_inactive","activatedChildren","activateChildComponent","destroy","deactivateChildComponent","direct","_directInactive","isInInactiveTree","$children","$destroy","hooksToMerge","createComponent","baseCtor","cid","factory","errorComp","resolved","owner","currentRenderingInstance","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","clearTimeout","ensureCtor","reject","reason","component","delay","timeout","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","callback","transformModel","extractPropsFromVNodeData","functional","vnodes","createFunctionalComponent","nativeOn","abstract","toMerge","_merged","mergeHook$1","installComponentHooks","f1","f2","normalizationType","alwaysNormalize","is","simpleNormalizeChildren","pre","applyNS","force","class","registerDeepBindings","_createElement","comp","getFirstComponentChild","remove$1","$off","_target","onceHandler","setActiveInstance","prevActiveInstance","handlers","j","_hasHookEvent","$emit","queue","waiting","flushing","currentFlushTimestamp","getNow","now","createEvent","timeStamp","flushSchedulerQueue","watcher","sort","before","run","activatedQueue","updatedQueue","callActivatedHooks","_watcher","callUpdatedHooks","emit","uid$2","Watcher","expOrFn","isRenderWatcher","_watchers","deep","user","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","path","segments","parsePath","cleanupDeps","tmp","queueWatcher","oldValue","evaluate","teardown","_isBeingDestroyed","sharedPropertyDefinition","sourceKey","initState","propsOptions","initProps","initMethods","_data","getData","initData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","initComputed","createWatcher","initWatch","shouldCache","createComputedGetter","createGetterInvoker","$watch","uid$3","super","superOptions","modifiedOptions","modified","latest","sealed","sealedOptions","resolveModifiedOptions","extendOptions","components","Vue","_init","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","Comp","initProps$1","initComputed$1","mixin","use","getComponentName","matches","pattern","pruneCache","keepAliveInstance","entry","pruneCacheEntry","current","_uid","vnodeComponentOptions","_componentTag","initInternalComponent","_self","$root","$refs","initLifecycle","_events","initEvents","parentData","initRender","initInjections","initProvide","el","initMixin","dataDef","propsDef","$set","$delete","immediate","stateMixin","hookRE","$once","i$1","cbs","eventsMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","lifecycleMixin","$nextTick","_render","ref","renderMixin","patternTypes","builtInComponents","KeepAlive","include","exclude","Number","cacheVNode","vnodeToCache","keyToCache","parseInt","created","destroyed","mounted","updated","configDef","util","defineReactive","delete","observable","plugin","installedPlugins","_installedPlugins","unshift","install","initUse","initMixin$1","definition","initAssetRegisters","initGlobalAPI","ssrContext","version","acceptValue","isEnumeratedAttr","isValidContentEditableValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","childNode","mergeClassData","staticClass","dynamicClass","stringifyClass","renderClass","stringified","stringifyArray","stringifyObject","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","isTextInputType","nodeOps","tagName","multiple","createElementNS","createComment","newNode","referenceNode","nextSibling","setTextContent","textContent","setStyleScope","scopeId","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","typeA","typeB","sameInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldDir","dir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","arg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","isInPre","baseSetAttr","convertEnumeratedValue","setAttributeNS","__ieph","blocker","stopImmediatePropagation","removeEventListener","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","ownerDocument","updateDOMListeners","change","normalizeEvents","svgContainer","events","updateDOMProps","oldProps","_value","strCur","shouldUpdateValue","innerHTML","checkVal","composing","notInFocus","activeElement","isNotInFocusAndDirty","_vModifiers","isDirtyWithModifiers","parseStyleText","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","normalize","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","checkChild","styleData","getStyle","whitespaceRE","addClass","classList","getAttribute","removeClass","tar","resolveTransition","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","requestAnimationFrame","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","end","onEnd","transformRE","styles","getComputedStyle","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","nodeType","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","duration","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","rm","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","patch","backend","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","isReactivated","initComponent","innerNode","activate","reactivateComponent","setScope","createChildren","invokeCreateHooks","pendingInsert","isPatchable","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","childElm","createRmCb","findIdxInOld","oldCh","patchVnode","removeOnly","hydrate","newCh","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","updateChildren","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","patchable","i$2","createPatchFunction","vmodel","trigger","directive","binding","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","some","hasNoMatchingOption","actuallySetSelected","isMultiple","selected","option","selectedIndex","initEvent","dispatchEvent","locateNode","platformDirectives","transition$$1","originalDisplay","__vOriginalDisplay","display","unbind","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","h","rawChild","isNotTextNode","isVShowDirective","Transition","hasParentTransition","_leaving","oldRawChild","oldChild","isSameChild","delayedLeave","moveClass","callPendingCbs","_moveCb","recordPosition","newPos","getBoundingClientRect","applyTranslation","oldPos","pos","dx","left","dy","top","moved","transform","WebkitTransform","transitionDuration","platformComponents","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","c$1","hasMove","_reflow","body","offsetHeight","propertyName","_hasMove","cloneNode","attr","HTMLUnknownElement","HTMLElement","updateComponent","mountComponent","query","bitmap","IndexedObject","classof","propertyIsEnumerable","toPrimitive","isSymbol","process","Deno","versions","v8","IS_PURE","store","copyright","functionToString","inspectSource","toLength","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","Item","array","title","browser","argv","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","re1","re2","regexpFlags","stickyHelpers","getInternalState","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","string","reCopy","group","re","state","groups","sticky","flags","charsAdded","strCopy","multiline","input","_axios","_auth","client","headers","requesttoken","getRequestToken","cancelableClient","assign","CancelToken","isCancel","onRequestTokenUpdate","token","defaults","_default","___CSS_LOADER_EXPORT___","getRootUrl","generateFilePath","imagePath","generateUrl","generateOcsUrl","generateRemoteUrl","linkTo","app","file","service","location","protocol","host","linkToRemoteBase","url","ocsVersion","_generateUrlPath","allOptions","escape","vars","noRewrite","OC","modRewriteWorking","isCore","coreApps","link","substring","appswebroots","encodeURI","webroot","propertyIsEnumerableModule","toIndexedObject","$getOwnPropertyDescriptor","$propertyIsEnumerable","NASHORN_BUG","1","V","getBuiltIn","$Symbol","V8_VERSION","getOwnPropertySymbols","aCallable","func","tryToString","postfix","random","EXISTS","InternalStateModule","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","enforceInternalState","enforce","TEMPLATE","unsafe","simple","NATIVE_WEAK_MAP","sharedKey","hiddenKeys","WeakMap","wmget","wmhas","wmset","metadata","facade","STATE","getterFor","TYPE","names","toIntegerOrInfinity","min","internalObjectKeys","enumBugKeys","utils","encode","paramsSerializer","serializedParams","parts","toISOString","hashmarkIndex","__CANCEL__","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","adapter","XMLHttpRequest","transformRequest","transformResponse","parse","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","status","common","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","requestData","requestHeaders","request","auth","username","password","Authorization","fullPath","baseURL","open","onreadystatechange","readyState","responseURL","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","read","setRequestHeader","onDownloadProgress","onUploadProgress","upload","cancelToken","promise","cancel","abort","send","enhanceError","message","code","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","mergeDeepProperties","axiosKeys","otherKeys","Cancel","arraySpeciesConstructor","originalArray","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","wellKnownSymbol","CORRECT_ARGUMENTS","tryGet","callee","loadState","fallback","elem","$","getMethod","ordinaryToPrimitive","TO_PRIMITIVE","pref","exoticToPrim","valueOf","FunctionPrototype","getDescriptor","PROPER","getOwnPropertyDescriptorModule","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","fromIndex","includes","integer","feature","detection","POLYFILL","NATIVE","objectKeys","$assign","A","B","chr","T","argumentsLength","S","Axios","mergeConfig","createInstance","defaultConfig","instance","axios","instanceConfig","promises","spread","isAxiosError","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","fulfilled","rejected","getUri","eject","transformData","throwIfCancellationRequested","throwIfRequested","toJSON","description","fileName","lineNumber","columnNumber","stack","write","expires","domain","secure","cookie","toGMTString","decodeURIComponent","isAbsoluteURL","combineURLs","requestedURL","relativeURL","ignoreDuplicateOf","parsed","line","substr","originURL","msie","urlParsingNode","resolveURL","href","search","hostname","port","pathname","requestURL","executor","resolvePromise","payload","_requesttoken","_user","getCurrentUser","observers","_eventBus","tokenElement","getElementsByTagName","subscribe","proto","$forEach","STRICT_METHOD","arrayMethodIsStrict","callbackfn","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","that","specificCreate","boundFunction","find","findIndex","filterReject","isConstructor","SPECIES","C","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","METHOD_NAME","commonjsGlobal","createCommonjsModule","global$1","descriptors","getOwnPropertyDescriptor$2","objectPropertyIsEnumerable","indexedObject","PREFERRED_STRING","has$1","document$1","documentCreateElement","ie8DomDefine","objectGetOwnPropertyDescriptor","objectDefineProperty","sharedStore","WeakMap$1","nativeWeakMap","keys$2","hiddenKeys$1","internalState","aFunction$1","variable","toInteger","min$2","min$1","createMethod$3","objectKeysInternal","objectGetOwnPropertyNames","objectGetOwnPropertySymbols","isForced_1","getOwnPropertyDescriptor$1","_export","MAX_SAFE_INTEGER","activeXDocument","objectSetPrototypeOf","setPrototypeOf","CORRECT_SETTER","aPossiblePrototype","inheritIfRequired","dummy","Wrapper","NewTarget","NewTargetPrototype","objectDefineProperties","Properties","html","IE_PROTO$1","EmptyConstructor","scriptTag","LT","NullProtoObject","ActiveXObject","iframeDocument","iframe","close","temp","parentWindow","NullProtoObjectViaActiveX","contentWindow","F","objectCreate","whitespaces","whitespace","ltrim","rtrim","createMethod$2","stringTrim","getOwnPropertyNames$1","defineProperty$3","NativeNumber","NumberPrototype","BROKEN_CLASSOF","first","third","radix","maxCode","digits","NaN","NumberWrapper","keys$1","constants","SEMVER_SPEC_VERSION","MAX_LENGTH","MAX_SAFE_COMPONENT_LENGTH","engineIsNode","engineUserAgent","process$1","engineV8Version","nativeSymbol","useSymbolAsUid","Symbol$1","MATCH$1","isRegexp","ignoreCase","dotAll","unicode","RE","regexpStickyHelpers","SPECIES$4","setSpecies","CONSTRUCTOR_NAME","Constructor","defineProperty$2","MATCH","NativeRegExp","RegExpPrototype$1","CORRECT_NEW","UNSUPPORTED_Y$2","RegExpWrapper","thisIsRegExp","patternIsRegExp","flagsAreUndefined","UNSUPPORTED_Y$1","regexpExec","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","R","rf","createProperty","propertyKey","SPECIES$3","SPECIES$2","arrayMethodHasSpeciesSupport","foo","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","_typeof","_defineProperties","k","E","debug_1","NODE_DEBUG","_console","_len","_key","re_1","createToken","isGlobal","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCE","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","SPECIES$1","REPLACE_SUPPORTS_NAMED_GROUPS","REPLACE_KEEPS_$0","REPLACE","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","fixRegexpWellKnownSymbolLogic","KEY","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","regexp","arg2","forceStringMethod","stringMethod","regexMethod","createMethod$1","CONVERT_TO_STRING","second","position","size","stringMultibyte","codeAt","charAt$1","advanceStringIndex","regexpExecAbstract","nativeMatch","maybeCallNative","matcher","rx","fullUnicode","matchStr","$trim","stringTrimForced","functionBindContext","IS_FILTER_OUT","arrayIteration","filterOut","$map","HAS_SPECIES_SUPPORT$1","arrayPush","SPLIT","nativeSplit","internalSplit","separator","limit","lim","lastLength","output","lastLastIndex","separatorCopy","splitter","defaultConstructor","speciesConstructor","unicodeMatching","q","z","nativeJoin","ES3_STRINGS","STRICT_METHOD$1","$filter","HAS_SPECIES_SUPPORT","parseOptions_1","loose","reduce","numeric","compareIdentifiers$1","anum","bnum","MAX_LENGTH$1","re$1","t$1","compareIdentifiers","semver","SemVer","_classCallCheck","includePrerelease","LOOSE","FULL","major","minor","prerelease","num","build","format","protoProps","staticProps","other","compareMain","comparePre","release","inc","parse_1","er","valid_1","major_1","packageJson$1","ProxyBus","bus","getVersion","unsubscribe","UNSCOPABLES","ArrayPrototype$1","IteratorPrototype$2","PrototypeOfArrayIteratorPrototype","arrayIterator","addToUnscopables","iterators","correctPrototypeGetter","IE_PROTO","ObjectPrototype","objectGetPrototypeOf","ITERATOR$5","BUGGY_SAFARI_ITERATORS$1","iteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","defineProperty$1","TO_STRING_TAG$3","setToStringTag","TAG","IteratorPrototype$1","returnThis$1","ITERATOR$4","returnThis","defineIterator","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","FORCED","createIteratorConstructor","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","setInternalState$2","getInternalState$1","es_array_iterator","iterated","kind","Arguments","freezing","preventExtensions","internalMetadata","METADATA","setMetadata","objectID","weakData","meta","REQUIRED","fastKey","getWeakData","onFreeze","ITERATOR$3","ArrayPrototype","toStringTagSupport","TO_STRING_TAG$1","ITERATOR$2","iteratorClose","returnMethod","Result","stopped","iterate","iterable","unboundFunction","iterFn","step","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","getIteratorMethod","anInstance","ITERATOR$1","SAFE_CLOSING","iteratorWithReturn","redefineAll","setInternalState$1","internalStateGetterFor","wrapper","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","getConstructor","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","SKIP_CLOSING","ITERATION_SUPPORT","checkCorrectnessOfIteration","BUGGY_ZERO","$instance","setStrong","collection","define","previous","getEntry","prev","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","objectToString","setInternalState","point","domIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","ITERATOR","ArrayValues","COLLECTION_NAME$1","Collection$1","CollectionPrototype$1","arrayForEach","COLLECTION_NAME","Collection","CollectionPrototype","packageJson","SimpleBus","Map","_nc_event_bus","displayName","isAdmin","uidElement","displayNameElement","isUserAdmin","fixRegExpWellKnownSymbolLogic","getSubstitution","regExpExec","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","SHAM","$exec","$RegExp","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","tailPos","symbols","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","handle","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","documentElement","script","attachEvent","task","locals","normalizeComponent","scriptExports","functionalTemplate","injectStyles","moduleIdentifier","shadowMode","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","beforeCreate","_vm","_h","redirectUri","clientId","renderedSecret","toggleSecret","instanceName","theme","clients","deleteClient","newClient","errorMsg","preventDefault","addClient","App"],"mappings":"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","file":"oauth2.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/js\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 134);\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","var check = function (it) {\n  return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line es/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n  return typeof argument === 'function';\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n  return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n  return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n    && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n  return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n  return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n  var result;\n  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n    result = ArrayBuffer.isView(val);\n  } else {\n    result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n  }\n  return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n  return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n  return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n  return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n  if (toString.call(val) !== '[object Object]') {\n    return false;\n  }\n\n  var prototype = Object.getPrototypeOf(val);\n  return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n  return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n  return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n  return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n  return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n  return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n  return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n  return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n *  typeof window -> undefined\n *  typeof document -> undefined\n *\n * react-native:\n *  navigator.product -> 'ReactNative'\n * nativescript\n *  navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n  if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n                                           navigator.product === 'NativeScript' ||\n                                           navigator.product === 'NS')) {\n    return false;\n  }\n  return (\n    typeof window !== 'undefined' &&\n    typeof document !== 'undefined'\n  );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n  // Don't bother if no value provided\n  if (obj === null || typeof obj === 'undefined') {\n    return;\n  }\n\n  // Force an array if not already something iterable\n  if (typeof obj !== 'object') {\n    /*eslint no-param-reassign:0*/\n    obj = [obj];\n  }\n\n  if (isArray(obj)) {\n    // Iterate over array values\n    for (var i = 0, l = obj.length; i < l; i++) {\n      fn.call(null, obj[i], i, obj);\n    }\n  } else {\n    // Iterate over object keys\n    for (var key in obj) {\n      if (Object.prototype.hasOwnProperty.call(obj, key)) {\n        fn.call(null, obj[key], key, obj);\n      }\n    }\n  }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n  var result = {};\n  function assignValue(val, key) {\n    if (isPlainObject(result[key]) && isPlainObject(val)) {\n      result[key] = merge(result[key], val);\n    } else if (isPlainObject(val)) {\n      result[key] = merge({}, val);\n    } else if (isArray(val)) {\n      result[key] = val.slice();\n    } else {\n      result[key] = val;\n    }\n  }\n\n  for (var i = 0, l = arguments.length; i < l; i++) {\n    forEach(arguments[i], assignValue);\n  }\n  return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n  forEach(b, function assignValue(val, key) {\n    if (thisArg && typeof val === 'function') {\n      a[key] = bind(val, thisArg);\n    } else {\n      a[key] = val;\n    }\n  });\n  return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n  if (content.charCodeAt(0) === 0xFEFF) {\n    content = content.slice(1);\n  }\n  return content;\n}\n\nmodule.exports = {\n  isArray: isArray,\n  isArrayBuffer: isArrayBuffer,\n  isBuffer: isBuffer,\n  isFormData: isFormData,\n  isArrayBufferView: isArrayBufferView,\n  isString: isString,\n  isNumber: isNumber,\n  isObject: isObject,\n  isPlainObject: isPlainObject,\n  isUndefined: isUndefined,\n  isDate: isDate,\n  isFile: isFile,\n  isBlob: isBlob,\n  isFunction: isFunction,\n  isStream: isStream,\n  isURLSearchParams: isURLSearchParams,\n  isStandardBrowserEnv: isStandardBrowserEnv,\n  forEach: forEach,\n  merge: merge,\n  extend: extend,\n  trim: trim,\n  stripBOM: stripBOM\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n    if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n      WellKnownSymbolsStore[name] = Symbol[name];\n    } else {\n      WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n    }\n  } return WellKnownSymbolsStore[name];\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n  return typeof it === 'object' ? it !== null : isCallable(it);\n};\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n  return hasOwnProperty.call(toObject(it), key);\n};\n","var isObject = require('../internals/is-object');\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n  if (isObject(argument)) return argument;\n  throw TypeError(String(argument) + ' is not an object');\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n  return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n  options.target      - name of the target object\n  options.global      - target is the global object\n  options.stat        - export as static methods of target\n  options.proto       - export as prototype methods of target\n  options.real        - real prototype method for the `pure` version\n  options.forced      - export even if the native feature is available\n  options.bind        - bind methods to the target, required for the `pure` version\n  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe      - use the simple assignment of property instead of delete + defineProperty\n  options.sham        - add a flag to not completely full polyfills\n  options.enumerable  - export as enumerable property\n  options.noTargetGet - prevent calling a getter on target\n  options.name        - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n  if (GLOBAL) {\n    target = global;\n  } else if (STATIC) {\n    target = global[TARGET] || setGlobal(TARGET, {});\n  } else {\n    target = (global[TARGET] || {}).prototype;\n  }\n  if (target) for (key in source) {\n    sourceProperty = source[key];\n    if (options.noTargetGet) {\n      descriptor = getOwnPropertyDescriptor(target, key);\n      targetProperty = descriptor && descriptor.value;\n    } else targetProperty = target[key];\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contained in target\n    if (!FORCED && targetProperty !== undefined) {\n      if (typeof sourceProperty === typeof targetProperty) continue;\n      copyConstructorProperties(sourceProperty, targetProperty);\n    }\n    // add a flag to not completely full polyfills\n    if (options.sham || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(sourceProperty, 'sham', true);\n    }\n    // extend global\n    redefine(target, key, sourceProperty, options);\n  }\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n  return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- safe\n  return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n  var memo;\n  return function memorize() {\n    if (typeof memo === 'undefined') {\n      // Test for IE <= 9 as proposed by Browserhacks\n      // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n      // Tests for existence of standard globals is to allow style-loader\n      // to operate correctly into non-standard environments\n      // @see https://github.com/webpack-contrib/style-loader/issues/177\n      memo = Boolean(window && document && document.all && !window.atob);\n    }\n\n    return memo;\n  };\n}();\n\nvar getTarget = function getTarget() {\n  var memo = {};\n  return function memorize(target) {\n    if (typeof memo[target] === 'undefined') {\n      var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n      if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n        try {\n          // This will throw an exception if access to iframe is blocked\n          // due to cross-origin restrictions\n          styleTarget = styleTarget.contentDocument.head;\n        } catch (e) {\n          // istanbul ignore next\n          styleTarget = null;\n        }\n      }\n\n      memo[target] = styleTarget;\n    }\n\n    return memo[target];\n  };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n  var result = -1;\n\n  for (var i = 0; i < stylesInDom.length; i++) {\n    if (stylesInDom[i].identifier === identifier) {\n      result = i;\n      break;\n    }\n  }\n\n  return result;\n}\n\nfunction modulesToDom(list, options) {\n  var idCountMap = {};\n  var identifiers = [];\n\n  for (var i = 0; i < list.length; i++) {\n    var item = list[i];\n    var id = options.base ? item[0] + options.base : item[0];\n    var count = idCountMap[id] || 0;\n    var identifier = \"\".concat(id, \" \").concat(count);\n    idCountMap[id] = count + 1;\n    var index = getIndexByIdentifier(identifier);\n    var obj = {\n      css: item[1],\n      media: item[2],\n      sourceMap: item[3]\n    };\n\n    if (index !== -1) {\n      stylesInDom[index].references++;\n      stylesInDom[index].updater(obj);\n    } else {\n      stylesInDom.push({\n        identifier: identifier,\n        updater: addStyle(obj, options),\n        references: 1\n      });\n    }\n\n    identifiers.push(identifier);\n  }\n\n  return identifiers;\n}\n\nfunction insertStyleElement(options) {\n  var style = document.createElement('style');\n  var attributes = options.attributes || {};\n\n  if (typeof attributes.nonce === 'undefined') {\n    var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n    if (nonce) {\n      attributes.nonce = nonce;\n    }\n  }\n\n  Object.keys(attributes).forEach(function (key) {\n    style.setAttribute(key, attributes[key]);\n  });\n\n  if (typeof options.insert === 'function') {\n    options.insert(style);\n  } else {\n    var target = getTarget(options.insert || 'head');\n\n    if (!target) {\n      throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n    }\n\n    target.appendChild(style);\n  }\n\n  return style;\n}\n\nfunction removeStyleElement(style) {\n  // istanbul ignore if\n  if (style.parentNode === null) {\n    return false;\n  }\n\n  style.parentNode.removeChild(style);\n}\n/* istanbul ignore next  */\n\n\nvar replaceText = function replaceText() {\n  var textStore = [];\n  return function replace(index, replacement) {\n    textStore[index] = replacement;\n    return textStore.filter(Boolean).join('\\n');\n  };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n  var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n  /* istanbul ignore if  */\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = replaceText(index, css);\n  } else {\n    var cssNode = document.createTextNode(css);\n    var childNodes = style.childNodes;\n\n    if (childNodes[index]) {\n      style.removeChild(childNodes[index]);\n    }\n\n    if (childNodes.length) {\n      style.insertBefore(cssNode, childNodes[index]);\n    } else {\n      style.appendChild(cssNode);\n    }\n  }\n}\n\nfunction applyToTag(style, options, obj) {\n  var css = obj.css;\n  var media = obj.media;\n  var sourceMap = obj.sourceMap;\n\n  if (media) {\n    style.setAttribute('media', media);\n  } else {\n    style.removeAttribute('media');\n  }\n\n  if (sourceMap && typeof btoa !== 'undefined') {\n    css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n  } // For old IE\n\n  /* istanbul ignore if  */\n\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = css;\n  } else {\n    while (style.firstChild) {\n      style.removeChild(style.firstChild);\n    }\n\n    style.appendChild(document.createTextNode(css));\n  }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n  var style;\n  var update;\n  var remove;\n\n  if (options.singleton) {\n    var styleIndex = singletonCounter++;\n    style = singleton || (singleton = insertStyleElement(options));\n    update = applyToSingletonTag.bind(null, style, styleIndex, false);\n    remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n  } else {\n    style = insertStyleElement(options);\n    update = applyToTag.bind(null, style, options);\n\n    remove = function remove() {\n      removeStyleElement(style);\n    };\n  }\n\n  update(obj);\n  return function updateStyle(newObj) {\n    if (newObj) {\n      if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n        return;\n      }\n\n      update(obj = newObj);\n    } else {\n      remove();\n    }\n  };\n}\n\nmodule.exports = function (list, options) {\n  options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n  // tags it will allow on a page\n\n  if (!options.singleton && typeof options.singleton !== 'boolean') {\n    options.singleton = isOldIE();\n  }\n\n  list = list || [];\n  var lastIdentifiers = modulesToDom(list, options);\n  return function update(newList) {\n    newList = newList || [];\n\n    if (Object.prototype.toString.call(newList) !== '[object Array]') {\n      return;\n    }\n\n    for (var i = 0; i < lastIdentifiers.length; i++) {\n      var identifier = lastIdentifiers[i];\n      var index = getIndexByIdentifier(identifier);\n      stylesInDom[index].references--;\n    }\n\n    var newLastIdentifiers = modulesToDom(newList, options);\n\n    for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n      var _identifier = lastIdentifiers[_i];\n\n      var _index = getIndexByIdentifier(_identifier);\n\n      if (stylesInDom[_index].references === 0) {\n        stylesInDom[_index].updater();\n\n        stylesInDom.splice(_index, 1);\n      }\n    }\n\n    lastIdentifiers = newLastIdentifiers;\n  };\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n  var _item = _slicedToArray(item, 4),\n      content = _item[1],\n      cssMapping = _item[3];\n\n  if (!cssMapping) {\n    return content;\n  }\n\n  if (typeof btoa === \"function\") {\n    // eslint-disable-next-line no-undef\n    var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n    var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n    var sourceMapping = \"/*# \".concat(data, \" */\");\n    var sourceURLs = cssMapping.sources.map(function (source) {\n      return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n    });\n    return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n  }\n\n  return [content].join(\"\\n\");\n};","\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = cssWithMappingToString(item);\n\n      if (item[2]) {\n        return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n      }\n\n      return content;\n    }).join(\"\");\n  }; // import a list of modules into the list\n  // eslint-disable-next-line func-names\n\n\n  list.i = function (modules, mediaQuery, dedupe) {\n    if (typeof modules === \"string\") {\n      // eslint-disable-next-line no-param-reassign\n      modules = [[null, modules, \"\"]];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var i = 0; i < this.length; i++) {\n        // eslint-disable-next-line prefer-destructuring\n        var id = this[i][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _i = 0; _i < modules.length; _i++) {\n      var item = [].concat(modules[_i]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        // eslint-disable-next-line no-continue\n        continue;\n      }\n\n      if (mediaQuery) {\n        if (!item[2]) {\n          item[2] = mediaQuery;\n        } else {\n          item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n/*  */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n  return v === undefined || v === null\n}\n\nfunction isDef (v) {\n  return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n  return v === true\n}\n\nfunction isFalse (v) {\n  return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n  return (\n    typeof value === 'string' ||\n    typeof value === 'number' ||\n    // $flow-disable-line\n    typeof value === 'symbol' ||\n    typeof value === 'boolean'\n  )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n  return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n  return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n  return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n  return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n  var n = parseFloat(String(val));\n  return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n  return (\n    isDef(val) &&\n    typeof val.then === 'function' &&\n    typeof val.catch === 'function'\n  )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n  return val == null\n    ? ''\n    : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n      ? JSON.stringify(val, null, 2)\n      : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n  var n = parseFloat(val);\n  return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n  str,\n  expectsLowerCase\n) {\n  var map = Object.create(null);\n  var list = str.split(',');\n  for (var i = 0; i < list.length; i++) {\n    map[list[i]] = true;\n  }\n  return expectsLowerCase\n    ? function (val) { return map[val.toLowerCase()]; }\n    : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n  if (arr.length) {\n    var index = arr.indexOf(item);\n    if (index > -1) {\n      return arr.splice(index, 1)\n    }\n  }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n  return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n  var cache = Object.create(null);\n  return (function cachedFn (str) {\n    var hit = cache[str];\n    return hit || (cache[str] = fn(str))\n  })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n  return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n  return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n  return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n  function boundFn (a) {\n    var l = arguments.length;\n    return l\n      ? l > 1\n        ? fn.apply(ctx, arguments)\n        : fn.call(ctx, a)\n      : fn.call(ctx)\n  }\n\n  boundFn._length = fn.length;\n  return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n  return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n  ? nativeBind\n  : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n  start = start || 0;\n  var i = list.length - start;\n  var ret = new Array(i);\n  while (i--) {\n    ret[i] = list[i + start];\n  }\n  return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n  for (var key in _from) {\n    to[key] = _from[key];\n  }\n  return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n  var res = {};\n  for (var i = 0; i < arr.length; i++) {\n    if (arr[i]) {\n      extend(res, arr[i]);\n    }\n  }\n  return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n  if (a === b) { return true }\n  var isObjectA = isObject(a);\n  var isObjectB = isObject(b);\n  if (isObjectA && isObjectB) {\n    try {\n      var isArrayA = Array.isArray(a);\n      var isArrayB = Array.isArray(b);\n      if (isArrayA && isArrayB) {\n        return a.length === b.length && a.every(function (e, i) {\n          return looseEqual(e, b[i])\n        })\n      } else if (a instanceof Date && b instanceof Date) {\n        return a.getTime() === b.getTime()\n      } else if (!isArrayA && !isArrayB) {\n        var keysA = Object.keys(a);\n        var keysB = Object.keys(b);\n        return keysA.length === keysB.length && keysA.every(function (key) {\n          return looseEqual(a[key], b[key])\n        })\n      } else {\n        /* istanbul ignore next */\n        return false\n      }\n    } catch (e) {\n      /* istanbul ignore next */\n      return false\n    }\n  } else if (!isObjectA && !isObjectB) {\n    return String(a) === String(b)\n  } else {\n    return false\n  }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n  for (var i = 0; i < arr.length; i++) {\n    if (looseEqual(arr[i], val)) { return i }\n  }\n  return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n  var called = false;\n  return function () {\n    if (!called) {\n      called = true;\n      fn.apply(this, arguments);\n    }\n  }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n  'component',\n  'directive',\n  'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n  'beforeCreate',\n  'created',\n  'beforeMount',\n  'mounted',\n  'beforeUpdate',\n  'updated',\n  'beforeDestroy',\n  'destroyed',\n  'activated',\n  'deactivated',\n  'errorCaptured',\n  'serverPrefetch'\n];\n\n/*  */\n\n\n\nvar config = ({\n  /**\n   * Option merge strategies (used in core/util/options)\n   */\n  // $flow-disable-line\n  optionMergeStrategies: Object.create(null),\n\n  /**\n   * Whether to suppress warnings.\n   */\n  silent: false,\n\n  /**\n   * Show production mode tip message on boot?\n   */\n  productionTip: process.env.NODE_ENV !== 'production',\n\n  /**\n   * Whether to enable devtools\n   */\n  devtools: process.env.NODE_ENV !== 'production',\n\n  /**\n   * Whether to record perf\n   */\n  performance: false,\n\n  /**\n   * Error handler for watcher errors\n   */\n  errorHandler: null,\n\n  /**\n   * Warn handler for watcher warns\n   */\n  warnHandler: null,\n\n  /**\n   * Ignore certain custom elements\n   */\n  ignoredElements: [],\n\n  /**\n   * Custom user key aliases for v-on\n   */\n  // $flow-disable-line\n  keyCodes: Object.create(null),\n\n  /**\n   * Check if a tag is reserved so that it cannot be registered as a\n   * component. This is platform-dependent and may be overwritten.\n   */\n  isReservedTag: no,\n\n  /**\n   * Check if an attribute is reserved so that it cannot be used as a component\n   * prop. This is platform-dependent and may be overwritten.\n   */\n  isReservedAttr: no,\n\n  /**\n   * Check if a tag is an unknown element.\n   * Platform-dependent.\n   */\n  isUnknownElement: no,\n\n  /**\n   * Get the namespace of an element\n   */\n  getTagNamespace: noop,\n\n  /**\n   * Parse the real tag name for the specific platform.\n   */\n  parsePlatformTagName: identity,\n\n  /**\n   * Check if an attribute must be bound using property, e.g. value\n   * Platform-dependent.\n   */\n  mustUseProp: no,\n\n  /**\n   * Perform updates asynchronously. Intended to be used by Vue Test Utils\n   * This will significantly reduce performance if set to false.\n   */\n  async: true,\n\n  /**\n   * Exposed for legacy reasons\n   */\n  _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/*  */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n  var c = (str + '').charCodeAt(0);\n  return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n  Object.defineProperty(obj, key, {\n    value: val,\n    enumerable: !!enumerable,\n    writable: true,\n    configurable: true\n  });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n  if (bailRE.test(path)) {\n    return\n  }\n  var segments = path.split('.');\n  return function (obj) {\n    for (var i = 0; i < segments.length; i++) {\n      if (!obj) { return }\n      obj = obj[segments[i]];\n    }\n    return obj\n  }\n}\n\n/*  */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n  try {\n    var opts = {};\n    Object.defineProperty(opts, 'passive', ({\n      get: function get () {\n        /* istanbul ignore next */\n        supportsPassive = true;\n      }\n    })); // https://github.com/facebook/flow/issues/285\n    window.addEventListener('test-passive', null, opts);\n  } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n  if (_isServer === undefined) {\n    /* istanbul ignore if */\n    if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n      // detect presence of vue-server-renderer and avoid\n      // Webpack shimming the process\n      _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n    } else {\n      _isServer = false;\n    }\n  }\n  return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n  return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n  typeof Symbol !== 'undefined' && isNative(Symbol) &&\n  typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n  // use native Set when available.\n  _Set = Set;\n} else {\n  // a non-standard Set polyfill that only works with primitive keys.\n  _Set = /*@__PURE__*/(function () {\n    function Set () {\n      this.set = Object.create(null);\n    }\n    Set.prototype.has = function has (key) {\n      return this.set[key] === true\n    };\n    Set.prototype.add = function add (key) {\n      this.set[key] = true;\n    };\n    Set.prototype.clear = function clear () {\n      this.set = Object.create(null);\n    };\n\n    return Set;\n  }());\n}\n\n/*  */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n  var hasConsole = typeof console !== 'undefined';\n  var classifyRE = /(?:^|[-_])(\\w)/g;\n  var classify = function (str) { return str\n    .replace(classifyRE, function (c) { return c.toUpperCase(); })\n    .replace(/[-_]/g, ''); };\n\n  warn = function (msg, vm) {\n    var trace = vm ? generateComponentTrace(vm) : '';\n\n    if (config.warnHandler) {\n      config.warnHandler.call(null, msg, vm, trace);\n    } else if (hasConsole && (!config.silent)) {\n      console.error((\"[Vue warn]: \" + msg + trace));\n    }\n  };\n\n  tip = function (msg, vm) {\n    if (hasConsole && (!config.silent)) {\n      console.warn(\"[Vue tip]: \" + msg + (\n        vm ? generateComponentTrace(vm) : ''\n      ));\n    }\n  };\n\n  formatComponentName = function (vm, includeFile) {\n    if (vm.$root === vm) {\n      return '<Root>'\n    }\n    var options = typeof vm === 'function' && vm.cid != null\n      ? vm.options\n      : vm._isVue\n        ? vm.$options || vm.constructor.options\n        : vm;\n    var name = options.name || options._componentTag;\n    var file = options.__file;\n    if (!name && file) {\n      var match = file.match(/([^/\\\\]+)\\.vue$/);\n      name = match && match[1];\n    }\n\n    return (\n      (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n      (file && includeFile !== false ? (\" at \" + file) : '')\n    )\n  };\n\n  var repeat = function (str, n) {\n    var res = '';\n    while (n) {\n      if (n % 2 === 1) { res += str; }\n      if (n > 1) { str += str; }\n      n >>= 1;\n    }\n    return res\n  };\n\n  generateComponentTrace = function (vm) {\n    if (vm._isVue && vm.$parent) {\n      var tree = [];\n      var currentRecursiveSequence = 0;\n      while (vm) {\n        if (tree.length > 0) {\n          var last = tree[tree.length - 1];\n          if (last.constructor === vm.constructor) {\n            currentRecursiveSequence++;\n            vm = vm.$parent;\n            continue\n          } else if (currentRecursiveSequence > 0) {\n            tree[tree.length - 1] = [last, currentRecursiveSequence];\n            currentRecursiveSequence = 0;\n          }\n        }\n        tree.push(vm);\n        vm = vm.$parent;\n      }\n      return '\\n\\nfound in\\n\\n' + tree\n        .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n            ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n            : formatComponentName(vm))); })\n        .join('\\n')\n    } else {\n      return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n    }\n  };\n}\n\n/*  */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n  this.id = uid++;\n  this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n  this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n  remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n  if (Dep.target) {\n    Dep.target.addDep(this);\n  }\n};\n\nDep.prototype.notify = function notify () {\n  // stabilize the subscriber list first\n  var subs = this.subs.slice();\n  if (process.env.NODE_ENV !== 'production' && !config.async) {\n    // subs aren't sorted in scheduler if not running async\n    // we need to sort them now to make sure they fire in correct\n    // order\n    subs.sort(function (a, b) { return a.id - b.id; });\n  }\n  for (var i = 0, l = subs.length; i < l; i++) {\n    subs[i].update();\n  }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n  targetStack.push(target);\n  Dep.target = target;\n}\n\nfunction popTarget () {\n  targetStack.pop();\n  Dep.target = targetStack[targetStack.length - 1];\n}\n\n/*  */\n\nvar VNode = function VNode (\n  tag,\n  data,\n  children,\n  text,\n  elm,\n  context,\n  componentOptions,\n  asyncFactory\n) {\n  this.tag = tag;\n  this.data = data;\n  this.children = children;\n  this.text = text;\n  this.elm = elm;\n  this.ns = undefined;\n  this.context = context;\n  this.fnContext = undefined;\n  this.fnOptions = undefined;\n  this.fnScopeId = undefined;\n  this.key = data && data.key;\n  this.componentOptions = componentOptions;\n  this.componentInstance = undefined;\n  this.parent = undefined;\n  this.raw = false;\n  this.isStatic = false;\n  this.isRootInsert = true;\n  this.isComment = false;\n  this.isCloned = false;\n  this.isOnce = false;\n  this.asyncFactory = asyncFactory;\n  this.asyncMeta = undefined;\n  this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n  return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n  if ( text === void 0 ) text = '';\n\n  var node = new VNode();\n  node.text = text;\n  node.isComment = true;\n  return node\n};\n\nfunction createTextVNode (val) {\n  return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n  var cloned = new VNode(\n    vnode.tag,\n    vnode.data,\n    // #7975\n    // clone children array to avoid mutating original in case of cloning\n    // a child.\n    vnode.children && vnode.children.slice(),\n    vnode.text,\n    vnode.elm,\n    vnode.context,\n    vnode.componentOptions,\n    vnode.asyncFactory\n  );\n  cloned.ns = vnode.ns;\n  cloned.isStatic = vnode.isStatic;\n  cloned.key = vnode.key;\n  cloned.isComment = vnode.isComment;\n  cloned.fnContext = vnode.fnContext;\n  cloned.fnOptions = vnode.fnOptions;\n  cloned.fnScopeId = vnode.fnScopeId;\n  cloned.asyncMeta = vnode.asyncMeta;\n  cloned.isCloned = true;\n  return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n  'push',\n  'pop',\n  'shift',\n  'unshift',\n  'splice',\n  'sort',\n  'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n  // cache original method\n  var original = arrayProto[method];\n  def(arrayMethods, method, function mutator () {\n    var args = [], len = arguments.length;\n    while ( len-- ) args[ len ] = arguments[ len ];\n\n    var result = original.apply(this, args);\n    var ob = this.__ob__;\n    var inserted;\n    switch (method) {\n      case 'push':\n      case 'unshift':\n        inserted = args;\n        break\n      case 'splice':\n        inserted = args.slice(2);\n        break\n    }\n    if (inserted) { ob.observeArray(inserted); }\n    // notify change\n    ob.dep.notify();\n    return result\n  });\n});\n\n/*  */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n  shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n  this.value = value;\n  this.dep = new Dep();\n  this.vmCount = 0;\n  def(value, '__ob__', this);\n  if (Array.isArray(value)) {\n    if (hasProto) {\n      protoAugment(value, arrayMethods);\n    } else {\n      copyAugment(value, arrayMethods, arrayKeys);\n    }\n    this.observeArray(value);\n  } else {\n    this.walk(value);\n  }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n  var keys = Object.keys(obj);\n  for (var i = 0; i < keys.length; i++) {\n    defineReactive$$1(obj, keys[i]);\n  }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n  for (var i = 0, l = items.length; i < l; i++) {\n    observe(items[i]);\n  }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n  /* eslint-disable no-proto */\n  target.__proto__ = src;\n  /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n  for (var i = 0, l = keys.length; i < l; i++) {\n    var key = keys[i];\n    def(target, key, src[key]);\n  }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n  if (!isObject(value) || value instanceof VNode) {\n    return\n  }\n  var ob;\n  if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n    ob = value.__ob__;\n  } else if (\n    shouldObserve &&\n    !isServerRendering() &&\n    (Array.isArray(value) || isPlainObject(value)) &&\n    Object.isExtensible(value) &&\n    !value._isVue\n  ) {\n    ob = new Observer(value);\n  }\n  if (asRootData && ob) {\n    ob.vmCount++;\n  }\n  return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n  obj,\n  key,\n  val,\n  customSetter,\n  shallow\n) {\n  var dep = new Dep();\n\n  var property = Object.getOwnPropertyDescriptor(obj, key);\n  if (property && property.configurable === false) {\n    return\n  }\n\n  // cater for pre-defined getter/setters\n  var getter = property && property.get;\n  var setter = property && property.set;\n  if ((!getter || setter) && arguments.length === 2) {\n    val = obj[key];\n  }\n\n  var childOb = !shallow && observe(val);\n  Object.defineProperty(obj, key, {\n    enumerable: true,\n    configurable: true,\n    get: function reactiveGetter () {\n      var value = getter ? getter.call(obj) : val;\n      if (Dep.target) {\n        dep.depend();\n        if (childOb) {\n          childOb.dep.depend();\n          if (Array.isArray(value)) {\n            dependArray(value);\n          }\n        }\n      }\n      return value\n    },\n    set: function reactiveSetter (newVal) {\n      var value = getter ? getter.call(obj) : val;\n      /* eslint-disable no-self-compare */\n      if (newVal === value || (newVal !== newVal && value !== value)) {\n        return\n      }\n      /* eslint-enable no-self-compare */\n      if (process.env.NODE_ENV !== 'production' && customSetter) {\n        customSetter();\n      }\n      // #7981: for accessor properties without setter\n      if (getter && !setter) { return }\n      if (setter) {\n        setter.call(obj, newVal);\n      } else {\n        val = newVal;\n      }\n      childOb = !shallow && observe(newVal);\n      dep.notify();\n    }\n  });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n  if (process.env.NODE_ENV !== 'production' &&\n    (isUndef(target) || isPrimitive(target))\n  ) {\n    warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n  }\n  if (Array.isArray(target) && isValidArrayIndex(key)) {\n    target.length = Math.max(target.length, key);\n    target.splice(key, 1, val);\n    return val\n  }\n  if (key in target && !(key in Object.prototype)) {\n    target[key] = val;\n    return val\n  }\n  var ob = (target).__ob__;\n  if (target._isVue || (ob && ob.vmCount)) {\n    process.env.NODE_ENV !== 'production' && warn(\n      'Avoid adding reactive properties to a Vue instance or its root $data ' +\n      'at runtime - declare it upfront in the data option.'\n    );\n    return val\n  }\n  if (!ob) {\n    target[key] = val;\n    return val\n  }\n  defineReactive$$1(ob.value, key, val);\n  ob.dep.notify();\n  return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n  if (process.env.NODE_ENV !== 'production' &&\n    (isUndef(target) || isPrimitive(target))\n  ) {\n    warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n  }\n  if (Array.isArray(target) && isValidArrayIndex(key)) {\n    target.splice(key, 1);\n    return\n  }\n  var ob = (target).__ob__;\n  if (target._isVue || (ob && ob.vmCount)) {\n    process.env.NODE_ENV !== 'production' && warn(\n      'Avoid deleting properties on a Vue instance or its root $data ' +\n      '- just set it to null.'\n    );\n    return\n  }\n  if (!hasOwn(target, key)) {\n    return\n  }\n  delete target[key];\n  if (!ob) {\n    return\n  }\n  ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n  for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n    e = value[i];\n    e && e.__ob__ && e.__ob__.dep.depend();\n    if (Array.isArray(e)) {\n      dependArray(e);\n    }\n  }\n}\n\n/*  */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n  strats.el = strats.propsData = function (parent, child, vm, key) {\n    if (!vm) {\n      warn(\n        \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n        'creation with the `new` keyword.'\n      );\n    }\n    return defaultStrat(parent, child)\n  };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n  if (!from) { return to }\n  var key, toVal, fromVal;\n\n  var keys = hasSymbol\n    ? Reflect.ownKeys(from)\n    : Object.keys(from);\n\n  for (var i = 0; i < keys.length; i++) {\n    key = keys[i];\n    // in case the object is already observed...\n    if (key === '__ob__') { continue }\n    toVal = to[key];\n    fromVal = from[key];\n    if (!hasOwn(to, key)) {\n      set(to, key, fromVal);\n    } else if (\n      toVal !== fromVal &&\n      isPlainObject(toVal) &&\n      isPlainObject(fromVal)\n    ) {\n      mergeData(toVal, fromVal);\n    }\n  }\n  return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n  parentVal,\n  childVal,\n  vm\n) {\n  if (!vm) {\n    // in a Vue.extend merge, both should be functions\n    if (!childVal) {\n      return parentVal\n    }\n    if (!parentVal) {\n      return childVal\n    }\n    // when parentVal & childVal are both present,\n    // we need to return a function that returns the\n    // merged result of both functions... no need to\n    // check if parentVal is a function here because\n    // it has to be a function to pass previous merges.\n    return function mergedDataFn () {\n      return mergeData(\n        typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n        typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n      )\n    }\n  } else {\n    return function mergedInstanceDataFn () {\n      // instance merge\n      var instanceData = typeof childVal === 'function'\n        ? childVal.call(vm, vm)\n        : childVal;\n      var defaultData = typeof parentVal === 'function'\n        ? parentVal.call(vm, vm)\n        : parentVal;\n      if (instanceData) {\n        return mergeData(instanceData, defaultData)\n      } else {\n        return defaultData\n      }\n    }\n  }\n}\n\nstrats.data = function (\n  parentVal,\n  childVal,\n  vm\n) {\n  if (!vm) {\n    if (childVal && typeof childVal !== 'function') {\n      process.env.NODE_ENV !== 'production' && warn(\n        'The \"data\" option should be a function ' +\n        'that returns a per-instance value in component ' +\n        'definitions.',\n        vm\n      );\n\n      return parentVal\n    }\n    return mergeDataOrFn(parentVal, childVal)\n  }\n\n  return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n  parentVal,\n  childVal\n) {\n  var res = childVal\n    ? parentVal\n      ? parentVal.concat(childVal)\n      : Array.isArray(childVal)\n        ? childVal\n        : [childVal]\n    : parentVal;\n  return res\n    ? dedupeHooks(res)\n    : res\n}\n\nfunction dedupeHooks (hooks) {\n  var res = [];\n  for (var i = 0; i < hooks.length; i++) {\n    if (res.indexOf(hooks[i]) === -1) {\n      res.push(hooks[i]);\n    }\n  }\n  return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n  strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n  parentVal,\n  childVal,\n  vm,\n  key\n) {\n  var res = Object.create(parentVal || null);\n  if (childVal) {\n    process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n    return extend(res, childVal)\n  } else {\n    return res\n  }\n}\n\nASSET_TYPES.forEach(function (type) {\n  strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n  parentVal,\n  childVal,\n  vm,\n  key\n) {\n  // work around Firefox's Object.prototype.watch...\n  if (parentVal === nativeWatch) { parentVal = undefined; }\n  if (childVal === nativeWatch) { childVal = undefined; }\n  /* istanbul ignore if */\n  if (!childVal) { return Object.create(parentVal || null) }\n  if (process.env.NODE_ENV !== 'production') {\n    assertObjectType(key, childVal, vm);\n  }\n  if (!parentVal) { return childVal }\n  var ret = {};\n  extend(ret, parentVal);\n  for (var key$1 in childVal) {\n    var parent = ret[key$1];\n    var child = childVal[key$1];\n    if (parent && !Array.isArray(parent)) {\n      parent = [parent];\n    }\n    ret[key$1] = parent\n      ? parent.concat(child)\n      : Array.isArray(child) ? child : [child];\n  }\n  return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n  parentVal,\n  childVal,\n  vm,\n  key\n) {\n  if (childVal && process.env.NODE_ENV !== 'production') {\n    assertObjectType(key, childVal, vm);\n  }\n  if (!parentVal) { return childVal }\n  var ret = Object.create(null);\n  extend(ret, parentVal);\n  if (childVal) { extend(ret, childVal); }\n  return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n  return childVal === undefined\n    ? parentVal\n    : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n  for (var key in options.components) {\n    validateComponentName(key);\n  }\n}\n\nfunction validateComponentName (name) {\n  if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n    warn(\n      'Invalid component name: \"' + name + '\". Component names ' +\n      'should conform to valid custom element name in html5 specification.'\n    );\n  }\n  if (isBuiltInTag(name) || config.isReservedTag(name)) {\n    warn(\n      'Do not use built-in or reserved HTML elements as component ' +\n      'id: ' + name\n    );\n  }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n  var props = options.props;\n  if (!props) { return }\n  var res = {};\n  var i, val, name;\n  if (Array.isArray(props)) {\n    i = props.length;\n    while (i--) {\n      val = props[i];\n      if (typeof val === 'string') {\n        name = camelize(val);\n        res[name] = { type: null };\n      } else if (process.env.NODE_ENV !== 'production') {\n        warn('props must be strings when using array syntax.');\n      }\n    }\n  } else if (isPlainObject(props)) {\n    for (var key in props) {\n      val = props[key];\n      name = camelize(key);\n      res[name] = isPlainObject(val)\n        ? val\n        : { type: val };\n    }\n  } else if (process.env.NODE_ENV !== 'production') {\n    warn(\n      \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n      \"but got \" + (toRawType(props)) + \".\",\n      vm\n    );\n  }\n  options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n  var inject = options.inject;\n  if (!inject) { return }\n  var normalized = options.inject = {};\n  if (Array.isArray(inject)) {\n    for (var i = 0; i < inject.length; i++) {\n      normalized[inject[i]] = { from: inject[i] };\n    }\n  } else if (isPlainObject(inject)) {\n    for (var key in inject) {\n      var val = inject[key];\n      normalized[key] = isPlainObject(val)\n        ? extend({ from: key }, val)\n        : { from: val };\n    }\n  } else if (process.env.NODE_ENV !== 'production') {\n    warn(\n      \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n      \"but got \" + (toRawType(inject)) + \".\",\n      vm\n    );\n  }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n  var dirs = options.directives;\n  if (dirs) {\n    for (var key in dirs) {\n      var def$$1 = dirs[key];\n      if (typeof def$$1 === 'function') {\n        dirs[key] = { bind: def$$1, update: def$$1 };\n      }\n    }\n  }\n}\n\nfunction assertObjectType (name, value, vm) {\n  if (!isPlainObject(value)) {\n    warn(\n      \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n      \"but got \" + (toRawType(value)) + \".\",\n      vm\n    );\n  }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n  parent,\n  child,\n  vm\n) {\n  if (process.env.NODE_ENV !== 'production') {\n    checkComponents(child);\n  }\n\n  if (typeof child === 'function') {\n    child = child.options;\n  }\n\n  normalizeProps(child, vm);\n  normalizeInject(child, vm);\n  normalizeDirectives(child);\n\n  // Apply extends and mixins on the child options,\n  // but only if it is a raw options object that isn't\n  // the result of another mergeOptions call.\n  // Only merged options has the _base property.\n  if (!child._base) {\n    if (child.extends) {\n      parent = mergeOptions(parent, child.extends, vm);\n    }\n    if (child.mixins) {\n      for (var i = 0, l = child.mixins.length; i < l; i++) {\n        parent = mergeOptions(parent, child.mixins[i], vm);\n      }\n    }\n  }\n\n  var options = {};\n  var key;\n  for (key in parent) {\n    mergeField(key);\n  }\n  for (key in child) {\n    if (!hasOwn(parent, key)) {\n      mergeField(key);\n    }\n  }\n  function mergeField (key) {\n    var strat = strats[key] || defaultStrat;\n    options[key] = strat(parent[key], child[key], vm, key);\n  }\n  return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n  options,\n  type,\n  id,\n  warnMissing\n) {\n  /* istanbul ignore if */\n  if (typeof id !== 'string') {\n    return\n  }\n  var assets = options[type];\n  // check local registration variations first\n  if (hasOwn(assets, id)) { return assets[id] }\n  var camelizedId = camelize(id);\n  if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n  var PascalCaseId = capitalize(camelizedId);\n  if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n  // fallback to prototype chain\n  var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n  if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n    warn(\n      'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n      options\n    );\n  }\n  return res\n}\n\n/*  */\n\n\n\nfunction validateProp (\n  key,\n  propOptions,\n  propsData,\n  vm\n) {\n  var prop = propOptions[key];\n  var absent = !hasOwn(propsData, key);\n  var value = propsData[key];\n  // boolean casting\n  var booleanIndex = getTypeIndex(Boolean, prop.type);\n  if (booleanIndex > -1) {\n    if (absent && !hasOwn(prop, 'default')) {\n      value = false;\n    } else if (value === '' || value === hyphenate(key)) {\n      // only cast empty string / same name to boolean if\n      // boolean has higher priority\n      var stringIndex = getTypeIndex(String, prop.type);\n      if (stringIndex < 0 || booleanIndex < stringIndex) {\n        value = true;\n      }\n    }\n  }\n  // check default value\n  if (value === undefined) {\n    value = getPropDefaultValue(vm, prop, key);\n    // since the default value is a fresh copy,\n    // make sure to observe it.\n    var prevShouldObserve = shouldObserve;\n    toggleObserving(true);\n    observe(value);\n    toggleObserving(prevShouldObserve);\n  }\n  if (\n    process.env.NODE_ENV !== 'production' &&\n    // skip validation for weex recycle-list child component props\n    !(false)\n  ) {\n    assertProp(prop, key, value, vm, absent);\n  }\n  return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n  // no default, return undefined\n  if (!hasOwn(prop, 'default')) {\n    return undefined\n  }\n  var def = prop.default;\n  // warn against non-factory defaults for Object & Array\n  if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n    warn(\n      'Invalid default value for prop \"' + key + '\": ' +\n      'Props with type Object/Array must use a factory function ' +\n      'to return the default value.',\n      vm\n    );\n  }\n  // the raw prop value was also undefined from previous render,\n  // return previous default value to avoid unnecessary watcher trigger\n  if (vm && vm.$options.propsData &&\n    vm.$options.propsData[key] === undefined &&\n    vm._props[key] !== undefined\n  ) {\n    return vm._props[key]\n  }\n  // call factory function for non-Function types\n  // a value is Function if its prototype is function even across different execution context\n  return typeof def === 'function' && getType(prop.type) !== 'Function'\n    ? def.call(vm)\n    : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n  prop,\n  name,\n  value,\n  vm,\n  absent\n) {\n  if (prop.required && absent) {\n    warn(\n      'Missing required prop: \"' + name + '\"',\n      vm\n    );\n    return\n  }\n  if (value == null && !prop.required) {\n    return\n  }\n  var type = prop.type;\n  var valid = !type || type === true;\n  var expectedTypes = [];\n  if (type) {\n    if (!Array.isArray(type)) {\n      type = [type];\n    }\n    for (var i = 0; i < type.length && !valid; i++) {\n      var assertedType = assertType(value, type[i], vm);\n      expectedTypes.push(assertedType.expectedType || '');\n      valid = assertedType.valid;\n    }\n  }\n\n  var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n  if (!valid && haveExpectedTypes) {\n    warn(\n      getInvalidTypeMessage(name, value, expectedTypes),\n      vm\n    );\n    return\n  }\n  var validator = prop.validator;\n  if (validator) {\n    if (!validator(value)) {\n      warn(\n        'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n        vm\n      );\n    }\n  }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\nfunction assertType (value, type, vm) {\n  var valid;\n  var expectedType = getType(type);\n  if (simpleCheckRE.test(expectedType)) {\n    var t = typeof value;\n    valid = t === expectedType.toLowerCase();\n    // for primitive wrapper objects\n    if (!valid && t === 'object') {\n      valid = value instanceof type;\n    }\n  } else if (expectedType === 'Object') {\n    valid = isPlainObject(value);\n  } else if (expectedType === 'Array') {\n    valid = Array.isArray(value);\n  } else {\n    try {\n      valid = value instanceof type;\n    } catch (e) {\n      warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n      valid = false;\n    }\n  }\n  return {\n    valid: valid,\n    expectedType: expectedType\n  }\n}\n\nvar functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n  var match = fn && fn.toString().match(functionTypeCheckRE);\n  return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n  return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n  if (!Array.isArray(expectedTypes)) {\n    return isSameType(expectedTypes, type) ? 0 : -1\n  }\n  for (var i = 0, len = expectedTypes.length; i < len; i++) {\n    if (isSameType(expectedTypes[i], type)) {\n      return i\n    }\n  }\n  return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n  var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n    \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n  var expectedType = expectedTypes[0];\n  var receivedType = toRawType(value);\n  // check if we need to specify expected value\n  if (\n    expectedTypes.length === 1 &&\n    isExplicable(expectedType) &&\n    isExplicable(typeof value) &&\n    !isBoolean(expectedType, receivedType)\n  ) {\n    message += \" with value \" + (styleValue(value, expectedType));\n  }\n  message += \", got \" + receivedType + \" \";\n  // check if we need to specify received value\n  if (isExplicable(receivedType)) {\n    message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n  }\n  return message\n}\n\nfunction styleValue (value, type) {\n  if (type === 'String') {\n    return (\"\\\"\" + value + \"\\\"\")\n  } else if (type === 'Number') {\n    return (\"\" + (Number(value)))\n  } else {\n    return (\"\" + value)\n  }\n}\n\nvar EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable (value) {\n  return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n  var args = [], len = arguments.length;\n  while ( len-- ) args[ len ] = arguments[ len ];\n\n  return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/*  */\n\nfunction handleError (err, vm, info) {\n  // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n  // See: https://github.com/vuejs/vuex/issues/1505\n  pushTarget();\n  try {\n    if (vm) {\n      var cur = vm;\n      while ((cur = cur.$parent)) {\n        var hooks = cur.$options.errorCaptured;\n        if (hooks) {\n          for (var i = 0; i < hooks.length; i++) {\n            try {\n              var capture = hooks[i].call(cur, err, vm, info) === false;\n              if (capture) { return }\n            } catch (e) {\n              globalHandleError(e, cur, 'errorCaptured hook');\n            }\n          }\n        }\n      }\n    }\n    globalHandleError(err, vm, info);\n  } finally {\n    popTarget();\n  }\n}\n\nfunction invokeWithErrorHandling (\n  handler,\n  context,\n  args,\n  vm,\n  info\n) {\n  var res;\n  try {\n    res = args ? handler.apply(context, args) : handler.call(context);\n    if (res && !res._isVue && isPromise(res) && !res._handled) {\n      res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n      // issue #9511\n      // avoid catch triggering multiple times when nested calls\n      res._handled = true;\n    }\n  } catch (e) {\n    handleError(e, vm, info);\n  }\n  return res\n}\n\nfunction globalHandleError (err, vm, info) {\n  if (config.errorHandler) {\n    try {\n      return config.errorHandler.call(null, err, vm, info)\n    } catch (e) {\n      // if the user intentionally throws the original error in the handler,\n      // do not log it twice\n      if (e !== err) {\n        logError(e, null, 'config.errorHandler');\n      }\n    }\n  }\n  logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n  if (process.env.NODE_ENV !== 'production') {\n    warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n  }\n  /* istanbul ignore else */\n  if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n    console.error(err);\n  } else {\n    throw err\n  }\n}\n\n/*  */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n  pending = false;\n  var copies = callbacks.slice(0);\n  callbacks.length = 0;\n  for (var i = 0; i < copies.length; i++) {\n    copies[i]();\n  }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n  var p = Promise.resolve();\n  timerFunc = function () {\n    p.then(flushCallbacks);\n    // In problematic UIWebViews, Promise.then doesn't completely break, but\n    // it can get stuck in a weird state where callbacks are pushed into the\n    // microtask queue but the queue isn't being flushed, until the browser\n    // needs to do some other work, e.g. handle a timer. Therefore we can\n    // \"force\" the microtask queue to be flushed by adding an empty timer.\n    if (isIOS) { setTimeout(noop); }\n  };\n  isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n  isNative(MutationObserver) ||\n  // PhantomJS and iOS 7.x\n  MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n  // Use MutationObserver where native Promise is not available,\n  // e.g. PhantomJS, iOS7, Android 4.4\n  // (#6466 MutationObserver is unreliable in IE11)\n  var counter = 1;\n  var observer = new MutationObserver(flushCallbacks);\n  var textNode = document.createTextNode(String(counter));\n  observer.observe(textNode, {\n    characterData: true\n  });\n  timerFunc = function () {\n    counter = (counter + 1) % 2;\n    textNode.data = String(counter);\n  };\n  isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n  // Fallback to setImmediate.\n  // Technically it leverages the (macro) task queue,\n  // but it is still a better choice than setTimeout.\n  timerFunc = function () {\n    setImmediate(flushCallbacks);\n  };\n} else {\n  // Fallback to setTimeout.\n  timerFunc = function () {\n    setTimeout(flushCallbacks, 0);\n  };\n}\n\nfunction nextTick (cb, ctx) {\n  var _resolve;\n  callbacks.push(function () {\n    if (cb) {\n      try {\n        cb.call(ctx);\n      } catch (e) {\n        handleError(e, ctx, 'nextTick');\n      }\n    } else if (_resolve) {\n      _resolve(ctx);\n    }\n  });\n  if (!pending) {\n    pending = true;\n    timerFunc();\n  }\n  // $flow-disable-line\n  if (!cb && typeof Promise !== 'undefined') {\n    return new Promise(function (resolve) {\n      _resolve = resolve;\n    })\n  }\n}\n\n/*  */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n  var allowedGlobals = makeMap(\n    'Infinity,undefined,NaN,isFinite,isNaN,' +\n    'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n    'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n    'require' // for Webpack/Browserify\n  );\n\n  var warnNonPresent = function (target, key) {\n    warn(\n      \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n      'referenced during render. Make sure that this property is reactive, ' +\n      'either in the data option, or for class-based components, by ' +\n      'initializing the property. ' +\n      'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n      target\n    );\n  };\n\n  var warnReservedPrefix = function (target, key) {\n    warn(\n      \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n      'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n      'prevent conflicts with Vue internals. ' +\n      'See: https://vuejs.org/v2/api/#data',\n      target\n    );\n  };\n\n  var hasProxy =\n    typeof Proxy !== 'undefined' && isNative(Proxy);\n\n  if (hasProxy) {\n    var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n    config.keyCodes = new Proxy(config.keyCodes, {\n      set: function set (target, key, value) {\n        if (isBuiltInModifier(key)) {\n          warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n          return false\n        } else {\n          target[key] = value;\n          return true\n        }\n      }\n    });\n  }\n\n  var hasHandler = {\n    has: function has (target, key) {\n      var has = key in target;\n      var isAllowed = allowedGlobals(key) ||\n        (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n      if (!has && !isAllowed) {\n        if (key in target.$data) { warnReservedPrefix(target, key); }\n        else { warnNonPresent(target, key); }\n      }\n      return has || !isAllowed\n    }\n  };\n\n  var getHandler = {\n    get: function get (target, key) {\n      if (typeof key === 'string' && !(key in target)) {\n        if (key in target.$data) { warnReservedPrefix(target, key); }\n        else { warnNonPresent(target, key); }\n      }\n      return target[key]\n    }\n  };\n\n  initProxy = function initProxy (vm) {\n    if (hasProxy) {\n      // determine which proxy handler to use\n      var options = vm.$options;\n      var handlers = options.render && options.render._withStripped\n        ? getHandler\n        : hasHandler;\n      vm._renderProxy = new Proxy(vm, handlers);\n    } else {\n      vm._renderProxy = vm;\n    }\n  };\n}\n\n/*  */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n  _traverse(val, seenObjects);\n  seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n  var i, keys;\n  var isA = Array.isArray(val);\n  if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n    return\n  }\n  if (val.__ob__) {\n    var depId = val.__ob__.dep.id;\n    if (seen.has(depId)) {\n      return\n    }\n    seen.add(depId);\n  }\n  if (isA) {\n    i = val.length;\n    while (i--) { _traverse(val[i], seen); }\n  } else {\n    keys = Object.keys(val);\n    i = keys.length;\n    while (i--) { _traverse(val[keys[i]], seen); }\n  }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n  var perf = inBrowser && window.performance;\n  /* istanbul ignore if */\n  if (\n    perf &&\n    perf.mark &&\n    perf.measure &&\n    perf.clearMarks &&\n    perf.clearMeasures\n  ) {\n    mark = function (tag) { return perf.mark(tag); };\n    measure = function (name, startTag, endTag) {\n      perf.measure(name, startTag, endTag);\n      perf.clearMarks(startTag);\n      perf.clearMarks(endTag);\n      // perf.clearMeasures(name)\n    };\n  }\n}\n\n/*  */\n\nvar normalizeEvent = cached(function (name) {\n  var passive = name.charAt(0) === '&';\n  name = passive ? name.slice(1) : name;\n  var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n  name = once$$1 ? name.slice(1) : name;\n  var capture = name.charAt(0) === '!';\n  name = capture ? name.slice(1) : name;\n  return {\n    name: name,\n    once: once$$1,\n    capture: capture,\n    passive: passive\n  }\n});\n\nfunction createFnInvoker (fns, vm) {\n  function invoker () {\n    var arguments$1 = arguments;\n\n    var fns = invoker.fns;\n    if (Array.isArray(fns)) {\n      var cloned = fns.slice();\n      for (var i = 0; i < cloned.length; i++) {\n        invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n      }\n    } else {\n      // return handler return value for single handlers\n      return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n    }\n  }\n  invoker.fns = fns;\n  return invoker\n}\n\nfunction updateListeners (\n  on,\n  oldOn,\n  add,\n  remove$$1,\n  createOnceHandler,\n  vm\n) {\n  var name, def$$1, cur, old, event;\n  for (name in on) {\n    def$$1 = cur = on[name];\n    old = oldOn[name];\n    event = normalizeEvent(name);\n    if (isUndef(cur)) {\n      process.env.NODE_ENV !== 'production' && warn(\n        \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n        vm\n      );\n    } else if (isUndef(old)) {\n      if (isUndef(cur.fns)) {\n        cur = on[name] = createFnInvoker(cur, vm);\n      }\n      if (isTrue(event.once)) {\n        cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n      }\n      add(event.name, cur, event.capture, event.passive, event.params);\n    } else if (cur !== old) {\n      old.fns = cur;\n      on[name] = old;\n    }\n  }\n  for (name in oldOn) {\n    if (isUndef(on[name])) {\n      event = normalizeEvent(name);\n      remove$$1(event.name, oldOn[name], event.capture);\n    }\n  }\n}\n\n/*  */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n  if (def instanceof VNode) {\n    def = def.data.hook || (def.data.hook = {});\n  }\n  var invoker;\n  var oldHook = def[hookKey];\n\n  function wrappedHook () {\n    hook.apply(this, arguments);\n    // important: remove merged hook to ensure it's called only once\n    // and prevent memory leak\n    remove(invoker.fns, wrappedHook);\n  }\n\n  if (isUndef(oldHook)) {\n    // no existing hook\n    invoker = createFnInvoker([wrappedHook]);\n  } else {\n    /* istanbul ignore if */\n    if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n      // already a merged invoker\n      invoker = oldHook;\n      invoker.fns.push(wrappedHook);\n    } else {\n      // existing plain hook\n      invoker = createFnInvoker([oldHook, wrappedHook]);\n    }\n  }\n\n  invoker.merged = true;\n  def[hookKey] = invoker;\n}\n\n/*  */\n\nfunction extractPropsFromVNodeData (\n  data,\n  Ctor,\n  tag\n) {\n  // we are only extracting raw values here.\n  // validation and default values are handled in the child\n  // component itself.\n  var propOptions = Ctor.options.props;\n  if (isUndef(propOptions)) {\n    return\n  }\n  var res = {};\n  var attrs = data.attrs;\n  var props = data.props;\n  if (isDef(attrs) || isDef(props)) {\n    for (var key in propOptions) {\n      var altKey = hyphenate(key);\n      if (process.env.NODE_ENV !== 'production') {\n        var keyInLowerCase = key.toLowerCase();\n        if (\n          key !== keyInLowerCase &&\n          attrs && hasOwn(attrs, keyInLowerCase)\n        ) {\n          tip(\n            \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n            (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n            \" \\\"\" + key + \"\\\". \" +\n            \"Note that HTML attributes are case-insensitive and camelCased \" +\n            \"props need to use their kebab-case equivalents when using in-DOM \" +\n            \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n          );\n        }\n      }\n      checkProp(res, props, key, altKey, true) ||\n      checkProp(res, attrs, key, altKey, false);\n    }\n  }\n  return res\n}\n\nfunction checkProp (\n  res,\n  hash,\n  key,\n  altKey,\n  preserve\n) {\n  if (isDef(hash)) {\n    if (hasOwn(hash, key)) {\n      res[key] = hash[key];\n      if (!preserve) {\n        delete hash[key];\n      }\n      return true\n    } else if (hasOwn(hash, altKey)) {\n      res[key] = hash[altKey];\n      if (!preserve) {\n        delete hash[altKey];\n      }\n      return true\n    }\n  }\n  return false\n}\n\n/*  */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n  for (var i = 0; i < children.length; i++) {\n    if (Array.isArray(children[i])) {\n      return Array.prototype.concat.apply([], children)\n    }\n  }\n  return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n  return isPrimitive(children)\n    ? [createTextVNode(children)]\n    : Array.isArray(children)\n      ? normalizeArrayChildren(children)\n      : undefined\n}\n\nfunction isTextNode (node) {\n  return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n  var res = [];\n  var i, c, lastIndex, last;\n  for (i = 0; i < children.length; i++) {\n    c = children[i];\n    if (isUndef(c) || typeof c === 'boolean') { continue }\n    lastIndex = res.length - 1;\n    last = res[lastIndex];\n    //  nested\n    if (Array.isArray(c)) {\n      if (c.length > 0) {\n        c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n        // merge adjacent text nodes\n        if (isTextNode(c[0]) && isTextNode(last)) {\n          res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n          c.shift();\n        }\n        res.push.apply(res, c);\n      }\n    } else if (isPrimitive(c)) {\n      if (isTextNode(last)) {\n        // merge adjacent text nodes\n        // this is necessary for SSR hydration because text nodes are\n        // essentially merged when rendered to HTML strings\n        res[lastIndex] = createTextVNode(last.text + c);\n      } else if (c !== '') {\n        // convert primitive to vnode\n        res.push(createTextVNode(c));\n      }\n    } else {\n      if (isTextNode(c) && isTextNode(last)) {\n        // merge adjacent text nodes\n        res[lastIndex] = createTextVNode(last.text + c.text);\n      } else {\n        // default key for nested array children (likely generated by v-for)\n        if (isTrue(children._isVList) &&\n          isDef(c.tag) &&\n          isUndef(c.key) &&\n          isDef(nestedIndex)) {\n          c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n        }\n        res.push(c);\n      }\n    }\n  }\n  return res\n}\n\n/*  */\n\nfunction initProvide (vm) {\n  var provide = vm.$options.provide;\n  if (provide) {\n    vm._provided = typeof provide === 'function'\n      ? provide.call(vm)\n      : provide;\n  }\n}\n\nfunction initInjections (vm) {\n  var result = resolveInject(vm.$options.inject, vm);\n  if (result) {\n    toggleObserving(false);\n    Object.keys(result).forEach(function (key) {\n      /* istanbul ignore else */\n      if (process.env.NODE_ENV !== 'production') {\n        defineReactive$$1(vm, key, result[key], function () {\n          warn(\n            \"Avoid mutating an injected value directly since the changes will be \" +\n            \"overwritten whenever the provided component re-renders. \" +\n            \"injection being mutated: \\\"\" + key + \"\\\"\",\n            vm\n          );\n        });\n      } else {\n        defineReactive$$1(vm, key, result[key]);\n      }\n    });\n    toggleObserving(true);\n  }\n}\n\nfunction resolveInject (inject, vm) {\n  if (inject) {\n    // inject is :any because flow is not smart enough to figure out cached\n    var result = Object.create(null);\n    var keys = hasSymbol\n      ? Reflect.ownKeys(inject)\n      : Object.keys(inject);\n\n    for (var i = 0; i < keys.length; i++) {\n      var key = keys[i];\n      // #6574 in case the inject object is observed...\n      if (key === '__ob__') { continue }\n      var provideKey = inject[key].from;\n      var source = vm;\n      while (source) {\n        if (source._provided && hasOwn(source._provided, provideKey)) {\n          result[key] = source._provided[provideKey];\n          break\n        }\n        source = source.$parent;\n      }\n      if (!source) {\n        if ('default' in inject[key]) {\n          var provideDefault = inject[key].default;\n          result[key] = typeof provideDefault === 'function'\n            ? provideDefault.call(vm)\n            : provideDefault;\n        } else if (process.env.NODE_ENV !== 'production') {\n          warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n        }\n      }\n    }\n    return result\n  }\n}\n\n/*  */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n  children,\n  context\n) {\n  if (!children || !children.length) {\n    return {}\n  }\n  var slots = {};\n  for (var i = 0, l = children.length; i < l; i++) {\n    var child = children[i];\n    var data = child.data;\n    // remove slot attribute if the node is resolved as a Vue slot node\n    if (data && data.attrs && data.attrs.slot) {\n      delete data.attrs.slot;\n    }\n    // named slots should only be respected if the vnode was rendered in the\n    // same context.\n    if ((child.context === context || child.fnContext === context) &&\n      data && data.slot != null\n    ) {\n      var name = data.slot;\n      var slot = (slots[name] || (slots[name] = []));\n      if (child.tag === 'template') {\n        slot.push.apply(slot, child.children || []);\n      } else {\n        slot.push(child);\n      }\n    } else {\n      (slots.default || (slots.default = [])).push(child);\n    }\n  }\n  // ignore slots that contains only whitespace\n  for (var name$1 in slots) {\n    if (slots[name$1].every(isWhitespace)) {\n      delete slots[name$1];\n    }\n  }\n  return slots\n}\n\nfunction isWhitespace (node) {\n  return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/*  */\n\nfunction isAsyncPlaceholder (node) {\n  return node.isComment && node.asyncFactory\n}\n\n/*  */\n\nfunction normalizeScopedSlots (\n  slots,\n  normalSlots,\n  prevSlots\n) {\n  var res;\n  var hasNormalSlots = Object.keys(normalSlots).length > 0;\n  var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n  var key = slots && slots.$key;\n  if (!slots) {\n    res = {};\n  } else if (slots._normalized) {\n    // fast path 1: child component re-render only, parent did not change\n    return slots._normalized\n  } else if (\n    isStable &&\n    prevSlots &&\n    prevSlots !== emptyObject &&\n    key === prevSlots.$key &&\n    !hasNormalSlots &&\n    !prevSlots.$hasNormal\n  ) {\n    // fast path 2: stable scoped slots w/ no normal slots to proxy,\n    // only need to normalize once\n    return prevSlots\n  } else {\n    res = {};\n    for (var key$1 in slots) {\n      if (slots[key$1] && key$1[0] !== '$') {\n        res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n      }\n    }\n  }\n  // expose normal slots on scopedSlots\n  for (var key$2 in normalSlots) {\n    if (!(key$2 in res)) {\n      res[key$2] = proxyNormalSlot(normalSlots, key$2);\n    }\n  }\n  // avoriaz seems to mock a non-extensible $scopedSlots object\n  // and when that is passed down this would cause an error\n  if (slots && Object.isExtensible(slots)) {\n    (slots)._normalized = res;\n  }\n  def(res, '$stable', isStable);\n  def(res, '$key', key);\n  def(res, '$hasNormal', hasNormalSlots);\n  return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n  var normalized = function () {\n    var res = arguments.length ? fn.apply(null, arguments) : fn({});\n    res = res && typeof res === 'object' && !Array.isArray(res)\n      ? [res] // single vnode\n      : normalizeChildren(res);\n    var vnode = res && res[0];\n    return res && (\n      !vnode ||\n      (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode)) // #9658, #10391\n    ) ? undefined\n      : res\n  };\n  // this is a slot using the new v-slot syntax without scope. although it is\n  // compiled as a scoped slot, render fn users would expect it to be present\n  // on this.$slots because the usage is semantically a normal slot.\n  if (fn.proxy) {\n    Object.defineProperty(normalSlots, key, {\n      get: normalized,\n      enumerable: true,\n      configurable: true\n    });\n  }\n  return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n  return function () { return slots[key]; }\n}\n\n/*  */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n  val,\n  render\n) {\n  var ret, i, l, keys, key;\n  if (Array.isArray(val) || typeof val === 'string') {\n    ret = new Array(val.length);\n    for (i = 0, l = val.length; i < l; i++) {\n      ret[i] = render(val[i], i);\n    }\n  } else if (typeof val === 'number') {\n    ret = new Array(val);\n    for (i = 0; i < val; i++) {\n      ret[i] = render(i + 1, i);\n    }\n  } else if (isObject(val)) {\n    if (hasSymbol && val[Symbol.iterator]) {\n      ret = [];\n      var iterator = val[Symbol.iterator]();\n      var result = iterator.next();\n      while (!result.done) {\n        ret.push(render(result.value, ret.length));\n        result = iterator.next();\n      }\n    } else {\n      keys = Object.keys(val);\n      ret = new Array(keys.length);\n      for (i = 0, l = keys.length; i < l; i++) {\n        key = keys[i];\n        ret[i] = render(val[key], key, i);\n      }\n    }\n  }\n  if (!isDef(ret)) {\n    ret = [];\n  }\n  (ret)._isVList = true;\n  return ret\n}\n\n/*  */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n  name,\n  fallbackRender,\n  props,\n  bindObject\n) {\n  var scopedSlotFn = this.$scopedSlots[name];\n  var nodes;\n  if (scopedSlotFn) {\n    // scoped slot\n    props = props || {};\n    if (bindObject) {\n      if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n        warn('slot v-bind without argument expects an Object', this);\n      }\n      props = extend(extend({}, bindObject), props);\n    }\n    nodes =\n      scopedSlotFn(props) ||\n      (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n  } else {\n    nodes =\n      this.$slots[name] ||\n      (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n  }\n\n  var target = props && props.slot;\n  if (target) {\n    return this.$createElement('template', { slot: target }, nodes)\n  } else {\n    return nodes\n  }\n}\n\n/*  */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n  return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/*  */\n\nfunction isKeyNotMatch (expect, actual) {\n  if (Array.isArray(expect)) {\n    return expect.indexOf(actual) === -1\n  } else {\n    return expect !== actual\n  }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n  eventKeyCode,\n  key,\n  builtInKeyCode,\n  eventKeyName,\n  builtInKeyName\n) {\n  var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n  if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n    return isKeyNotMatch(builtInKeyName, eventKeyName)\n  } else if (mappedKeyCode) {\n    return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n  } else if (eventKeyName) {\n    return hyphenate(eventKeyName) !== key\n  }\n  return eventKeyCode === undefined\n}\n\n/*  */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n  data,\n  tag,\n  value,\n  asProp,\n  isSync\n) {\n  if (value) {\n    if (!isObject(value)) {\n      process.env.NODE_ENV !== 'production' && warn(\n        'v-bind without argument expects an Object or Array value',\n        this\n      );\n    } else {\n      if (Array.isArray(value)) {\n        value = toObject(value);\n      }\n      var hash;\n      var loop = function ( key ) {\n        if (\n          key === 'class' ||\n          key === 'style' ||\n          isReservedAttribute(key)\n        ) {\n          hash = data;\n        } else {\n          var type = data.attrs && data.attrs.type;\n          hash = asProp || config.mustUseProp(tag, type, key)\n            ? data.domProps || (data.domProps = {})\n            : data.attrs || (data.attrs = {});\n        }\n        var camelizedKey = camelize(key);\n        var hyphenatedKey = hyphenate(key);\n        if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n          hash[key] = value[key];\n\n          if (isSync) {\n            var on = data.on || (data.on = {});\n            on[(\"update:\" + key)] = function ($event) {\n              value[key] = $event;\n            };\n          }\n        }\n      };\n\n      for (var key in value) loop( key );\n    }\n  }\n  return data\n}\n\n/*  */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n  index,\n  isInFor\n) {\n  var cached = this._staticTrees || (this._staticTrees = []);\n  var tree = cached[index];\n  // if has already-rendered static tree and not inside v-for,\n  // we can reuse the same tree.\n  if (tree && !isInFor) {\n    return tree\n  }\n  // otherwise, render a fresh tree.\n  tree = cached[index] = this.$options.staticRenderFns[index].call(\n    this._renderProxy,\n    null,\n    this // for render fns generated for functional component templates\n  );\n  markStatic(tree, (\"__static__\" + index), false);\n  return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n  tree,\n  index,\n  key\n) {\n  markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n  return tree\n}\n\nfunction markStatic (\n  tree,\n  key,\n  isOnce\n) {\n  if (Array.isArray(tree)) {\n    for (var i = 0; i < tree.length; i++) {\n      if (tree[i] && typeof tree[i] !== 'string') {\n        markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n      }\n    }\n  } else {\n    markStaticNode(tree, key, isOnce);\n  }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n  node.isStatic = true;\n  node.key = key;\n  node.isOnce = isOnce;\n}\n\n/*  */\n\nfunction bindObjectListeners (data, value) {\n  if (value) {\n    if (!isPlainObject(value)) {\n      process.env.NODE_ENV !== 'production' && warn(\n        'v-on without argument expects an Object value',\n        this\n      );\n    } else {\n      var on = data.on = data.on ? extend({}, data.on) : {};\n      for (var key in value) {\n        var existing = on[key];\n        var ours = value[key];\n        on[key] = existing ? [].concat(existing, ours) : ours;\n      }\n    }\n  }\n  return data\n}\n\n/*  */\n\nfunction resolveScopedSlots (\n  fns, // see flow/vnode\n  res,\n  // the following are added in 2.6\n  hasDynamicKeys,\n  contentHashKey\n) {\n  res = res || { $stable: !hasDynamicKeys };\n  for (var i = 0; i < fns.length; i++) {\n    var slot = fns[i];\n    if (Array.isArray(slot)) {\n      resolveScopedSlots(slot, res, hasDynamicKeys);\n    } else if (slot) {\n      // marker for reverse proxying v-slot without scope on this.$slots\n      if (slot.proxy) {\n        slot.fn.proxy = true;\n      }\n      res[slot.key] = slot.fn;\n    }\n  }\n  if (contentHashKey) {\n    (res).$key = contentHashKey;\n  }\n  return res\n}\n\n/*  */\n\nfunction bindDynamicKeys (baseObj, values) {\n  for (var i = 0; i < values.length; i += 2) {\n    var key = values[i];\n    if (typeof key === 'string' && key) {\n      baseObj[values[i]] = values[i + 1];\n    } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n      // null is a special value for explicitly removing a binding\n      warn(\n        (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n        this\n      );\n    }\n  }\n  return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n  return typeof value === 'string' ? symbol + value : value\n}\n\n/*  */\n\nfunction installRenderHelpers (target) {\n  target._o = markOnce;\n  target._n = toNumber;\n  target._s = toString;\n  target._l = renderList;\n  target._t = renderSlot;\n  target._q = looseEqual;\n  target._i = looseIndexOf;\n  target._m = renderStatic;\n  target._f = resolveFilter;\n  target._k = checkKeyCodes;\n  target._b = bindObjectProps;\n  target._v = createTextVNode;\n  target._e = createEmptyVNode;\n  target._u = resolveScopedSlots;\n  target._g = bindObjectListeners;\n  target._d = bindDynamicKeys;\n  target._p = prependModifier;\n}\n\n/*  */\n\nfunction FunctionalRenderContext (\n  data,\n  props,\n  children,\n  parent,\n  Ctor\n) {\n  var this$1 = this;\n\n  var options = Ctor.options;\n  // ensure the createElement function in functional components\n  // gets a unique context - this is necessary for correct named slot check\n  var contextVm;\n  if (hasOwn(parent, '_uid')) {\n    contextVm = Object.create(parent);\n    // $flow-disable-line\n    contextVm._original = parent;\n  } else {\n    // the context vm passed in is a functional context as well.\n    // in this case we want to make sure we are able to get a hold to the\n    // real context instance.\n    contextVm = parent;\n    // $flow-disable-line\n    parent = parent._original;\n  }\n  var isCompiled = isTrue(options._compiled);\n  var needNormalization = !isCompiled;\n\n  this.data = data;\n  this.props = props;\n  this.children = children;\n  this.parent = parent;\n  this.listeners = data.on || emptyObject;\n  this.injections = resolveInject(options.inject, parent);\n  this.slots = function () {\n    if (!this$1.$slots) {\n      normalizeScopedSlots(\n        data.scopedSlots,\n        this$1.$slots = resolveSlots(children, parent)\n      );\n    }\n    return this$1.$slots\n  };\n\n  Object.defineProperty(this, 'scopedSlots', ({\n    enumerable: true,\n    get: function get () {\n      return normalizeScopedSlots(data.scopedSlots, this.slots())\n    }\n  }));\n\n  // support for compiled functional template\n  if (isCompiled) {\n    // exposing $options for renderStatic()\n    this.$options = options;\n    // pre-resolve slots for renderSlot()\n    this.$slots = this.slots();\n    this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n  }\n\n  if (options._scopeId) {\n    this._c = function (a, b, c, d) {\n      var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n      if (vnode && !Array.isArray(vnode)) {\n        vnode.fnScopeId = options._scopeId;\n        vnode.fnContext = parent;\n      }\n      return vnode\n    };\n  } else {\n    this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n  }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n  Ctor,\n  propsData,\n  data,\n  contextVm,\n  children\n) {\n  var options = Ctor.options;\n  var props = {};\n  var propOptions = options.props;\n  if (isDef(propOptions)) {\n    for (var key in propOptions) {\n      props[key] = validateProp(key, propOptions, propsData || emptyObject);\n    }\n  } else {\n    if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n    if (isDef(data.props)) { mergeProps(props, data.props); }\n  }\n\n  var renderContext = new FunctionalRenderContext(\n    data,\n    props,\n    children,\n    contextVm,\n    Ctor\n  );\n\n  var vnode = options.render.call(null, renderContext._c, renderContext);\n\n  if (vnode instanceof VNode) {\n    return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n  } else if (Array.isArray(vnode)) {\n    var vnodes = normalizeChildren(vnode) || [];\n    var res = new Array(vnodes.length);\n    for (var i = 0; i < vnodes.length; i++) {\n      res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n    }\n    return res\n  }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n  // #7817 clone node before setting fnContext, otherwise if the node is reused\n  // (e.g. it was from a cached normal slot) the fnContext causes named slots\n  // that should not be matched to match.\n  var clone = cloneVNode(vnode);\n  clone.fnContext = contextVm;\n  clone.fnOptions = options;\n  if (process.env.NODE_ENV !== 'production') {\n    (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n  }\n  if (data.slot) {\n    (clone.data || (clone.data = {})).slot = data.slot;\n  }\n  return clone\n}\n\nfunction mergeProps (to, from) {\n  for (var key in from) {\n    to[camelize(key)] = from[key];\n  }\n}\n\n/*  */\n\n/*  */\n\n/*  */\n\n/*  */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n  init: function init (vnode, hydrating) {\n    if (\n      vnode.componentInstance &&\n      !vnode.componentInstance._isDestroyed &&\n      vnode.data.keepAlive\n    ) {\n      // kept-alive components, treat as a patch\n      var mountedNode = vnode; // work around flow\n      componentVNodeHooks.prepatch(mountedNode, mountedNode);\n    } else {\n      var child = vnode.componentInstance = createComponentInstanceForVnode(\n        vnode,\n        activeInstance\n      );\n      child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n    }\n  },\n\n  prepatch: function prepatch (oldVnode, vnode) {\n    var options = vnode.componentOptions;\n    var child = vnode.componentInstance = oldVnode.componentInstance;\n    updateChildComponent(\n      child,\n      options.propsData, // updated props\n      options.listeners, // updated listeners\n      vnode, // new parent vnode\n      options.children // new children\n    );\n  },\n\n  insert: function insert (vnode) {\n    var context = vnode.context;\n    var componentInstance = vnode.componentInstance;\n    if (!componentInstance._isMounted) {\n      componentInstance._isMounted = true;\n      callHook(componentInstance, 'mounted');\n    }\n    if (vnode.data.keepAlive) {\n      if (context._isMounted) {\n        // vue-router#1212\n        // During updates, a kept-alive component's child components may\n        // change, so directly walking the tree here may call activated hooks\n        // on incorrect children. Instead we push them into a queue which will\n        // be processed after the whole patch process ended.\n        queueActivatedComponent(componentInstance);\n      } else {\n        activateChildComponent(componentInstance, true /* direct */);\n      }\n    }\n  },\n\n  destroy: function destroy (vnode) {\n    var componentInstance = vnode.componentInstance;\n    if (!componentInstance._isDestroyed) {\n      if (!vnode.data.keepAlive) {\n        componentInstance.$destroy();\n      } else {\n        deactivateChildComponent(componentInstance, true /* direct */);\n      }\n    }\n  }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n  Ctor,\n  data,\n  context,\n  children,\n  tag\n) {\n  if (isUndef(Ctor)) {\n    return\n  }\n\n  var baseCtor = context.$options._base;\n\n  // plain options object: turn it into a constructor\n  if (isObject(Ctor)) {\n    Ctor = baseCtor.extend(Ctor);\n  }\n\n  // if at this stage it's not a constructor or an async component factory,\n  // reject.\n  if (typeof Ctor !== 'function') {\n    if (process.env.NODE_ENV !== 'production') {\n      warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n    }\n    return\n  }\n\n  // async component\n  var asyncFactory;\n  if (isUndef(Ctor.cid)) {\n    asyncFactory = Ctor;\n    Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n    if (Ctor === undefined) {\n      // return a placeholder node for async component, which is rendered\n      // as a comment node but preserves all the raw information for the node.\n      // the information will be used for async server-rendering and hydration.\n      return createAsyncPlaceholder(\n        asyncFactory,\n        data,\n        context,\n        children,\n        tag\n      )\n    }\n  }\n\n  data = data || {};\n\n  // resolve constructor options in case global mixins are applied after\n  // component constructor creation\n  resolveConstructorOptions(Ctor);\n\n  // transform component v-model data into props & events\n  if (isDef(data.model)) {\n    transformModel(Ctor.options, data);\n  }\n\n  // extract props\n  var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n  // functional component\n  if (isTrue(Ctor.options.functional)) {\n    return createFunctionalComponent(Ctor, propsData, data, context, children)\n  }\n\n  // extract listeners, since these needs to be treated as\n  // child component listeners instead of DOM listeners\n  var listeners = data.on;\n  // replace with listeners with .native modifier\n  // so it gets processed during parent component patch.\n  data.on = data.nativeOn;\n\n  if (isTrue(Ctor.options.abstract)) {\n    // abstract components do not keep anything\n    // other than props & listeners & slot\n\n    // work around flow\n    var slot = data.slot;\n    data = {};\n    if (slot) {\n      data.slot = slot;\n    }\n  }\n\n  // install component management hooks onto the placeholder node\n  installComponentHooks(data);\n\n  // return a placeholder vnode\n  var name = Ctor.options.name || tag;\n  var vnode = new VNode(\n    (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n    data, undefined, undefined, undefined, context,\n    { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n    asyncFactory\n  );\n\n  return vnode\n}\n\nfunction createComponentInstanceForVnode (\n  // we know it's MountedComponentVNode but flow doesn't\n  vnode,\n  // activeInstance in lifecycle state\n  parent\n) {\n  var options = {\n    _isComponent: true,\n    _parentVnode: vnode,\n    parent: parent\n  };\n  // check inline-template render functions\n  var inlineTemplate = vnode.data.inlineTemplate;\n  if (isDef(inlineTemplate)) {\n    options.render = inlineTemplate.render;\n    options.staticRenderFns = inlineTemplate.staticRenderFns;\n  }\n  return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n  var hooks = data.hook || (data.hook = {});\n  for (var i = 0; i < hooksToMerge.length; i++) {\n    var key = hooksToMerge[i];\n    var existing = hooks[key];\n    var toMerge = componentVNodeHooks[key];\n    if (existing !== toMerge && !(existing && existing._merged)) {\n      hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n    }\n  }\n}\n\nfunction mergeHook$1 (f1, f2) {\n  var merged = function (a, b) {\n    // flow complains about extra args which is why we use any\n    f1(a, b);\n    f2(a, b);\n  };\n  merged._merged = true;\n  return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n  var prop = (options.model && options.model.prop) || 'value';\n  var event = (options.model && options.model.event) || 'input'\n  ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n  var on = data.on || (data.on = {});\n  var existing = on[event];\n  var callback = data.model.callback;\n  if (isDef(existing)) {\n    if (\n      Array.isArray(existing)\n        ? existing.indexOf(callback) === -1\n        : existing !== callback\n    ) {\n      on[event] = [callback].concat(existing);\n    }\n  } else {\n    on[event] = callback;\n  }\n}\n\n/*  */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n  context,\n  tag,\n  data,\n  children,\n  normalizationType,\n  alwaysNormalize\n) {\n  if (Array.isArray(data) || isPrimitive(data)) {\n    normalizationType = children;\n    children = data;\n    data = undefined;\n  }\n  if (isTrue(alwaysNormalize)) {\n    normalizationType = ALWAYS_NORMALIZE;\n  }\n  return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n  context,\n  tag,\n  data,\n  children,\n  normalizationType\n) {\n  if (isDef(data) && isDef((data).__ob__)) {\n    process.env.NODE_ENV !== 'production' && warn(\n      \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n      'Always create fresh vnode data objects in each render!',\n      context\n    );\n    return createEmptyVNode()\n  }\n  // object syntax in v-bind\n  if (isDef(data) && isDef(data.is)) {\n    tag = data.is;\n  }\n  if (!tag) {\n    // in case of component :is set to falsy value\n    return createEmptyVNode()\n  }\n  // warn against non-primitive key\n  if (process.env.NODE_ENV !== 'production' &&\n    isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n  ) {\n    {\n      warn(\n        'Avoid using non-primitive value as key, ' +\n        'use string/number value instead.',\n        context\n      );\n    }\n  }\n  // support single function children as default scoped slot\n  if (Array.isArray(children) &&\n    typeof children[0] === 'function'\n  ) {\n    data = data || {};\n    data.scopedSlots = { default: children[0] };\n    children.length = 0;\n  }\n  if (normalizationType === ALWAYS_NORMALIZE) {\n    children = normalizeChildren(children);\n  } else if (normalizationType === SIMPLE_NORMALIZE) {\n    children = simpleNormalizeChildren(children);\n  }\n  var vnode, ns;\n  if (typeof tag === 'string') {\n    var Ctor;\n    ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n    if (config.isReservedTag(tag)) {\n      // platform built-in elements\n      if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn) && data.tag !== 'component') {\n        warn(\n          (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n          context\n        );\n      }\n      vnode = new VNode(\n        config.parsePlatformTagName(tag), data, children,\n        undefined, undefined, context\n      );\n    } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n      // component\n      vnode = createComponent(Ctor, data, context, children, tag);\n    } else {\n      // unknown or unlisted namespaced elements\n      // check at runtime because it may get assigned a namespace when its\n      // parent normalizes children\n      vnode = new VNode(\n        tag, data, children,\n        undefined, undefined, context\n      );\n    }\n  } else {\n    // direct component options / constructor\n    vnode = createComponent(tag, data, context, children);\n  }\n  if (Array.isArray(vnode)) {\n    return vnode\n  } else if (isDef(vnode)) {\n    if (isDef(ns)) { applyNS(vnode, ns); }\n    if (isDef(data)) { registerDeepBindings(data); }\n    return vnode\n  } else {\n    return createEmptyVNode()\n  }\n}\n\nfunction applyNS (vnode, ns, force) {\n  vnode.ns = ns;\n  if (vnode.tag === 'foreignObject') {\n    // use default namespace inside foreignObject\n    ns = undefined;\n    force = true;\n  }\n  if (isDef(vnode.children)) {\n    for (var i = 0, l = vnode.children.length; i < l; i++) {\n      var child = vnode.children[i];\n      if (isDef(child.tag) && (\n        isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n        applyNS(child, ns, force);\n      }\n    }\n  }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n  if (isObject(data.style)) {\n    traverse(data.style);\n  }\n  if (isObject(data.class)) {\n    traverse(data.class);\n  }\n}\n\n/*  */\n\nfunction initRender (vm) {\n  vm._vnode = null; // the root of the child tree\n  vm._staticTrees = null; // v-once cached trees\n  var options = vm.$options;\n  var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n  var renderContext = parentVnode && parentVnode.context;\n  vm.$slots = resolveSlots(options._renderChildren, renderContext);\n  vm.$scopedSlots = emptyObject;\n  // bind the createElement fn to this instance\n  // so that we get proper render context inside it.\n  // args order: tag, data, children, normalizationType, alwaysNormalize\n  // internal version is used by render functions compiled from templates\n  vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n  // normalization is always applied for the public version, used in\n  // user-written render functions.\n  vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n  // $attrs & $listeners are exposed for easier HOC creation.\n  // they need to be reactive so that HOCs using them are always updated\n  var parentData = parentVnode && parentVnode.data;\n\n  /* istanbul ignore else */\n  if (process.env.NODE_ENV !== 'production') {\n    defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n      !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n    }, true);\n    defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n      !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n    }, true);\n  } else {\n    defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n    defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n  }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n  // install runtime convenience helpers\n  installRenderHelpers(Vue.prototype);\n\n  Vue.prototype.$nextTick = function (fn) {\n    return nextTick(fn, this)\n  };\n\n  Vue.prototype._render = function () {\n    var vm = this;\n    var ref = vm.$options;\n    var render = ref.render;\n    var _parentVnode = ref._parentVnode;\n\n    if (_parentVnode) {\n      vm.$scopedSlots = normalizeScopedSlots(\n        _parentVnode.data.scopedSlots,\n        vm.$slots,\n        vm.$scopedSlots\n      );\n    }\n\n    // set parent vnode. this allows render functions to have access\n    // to the data on the placeholder node.\n    vm.$vnode = _parentVnode;\n    // render self\n    var vnode;\n    try {\n      // There's no need to maintain a stack because all render fns are called\n      // separately from one another. Nested component's render fns are called\n      // when parent component is patched.\n      currentRenderingInstance = vm;\n      vnode = render.call(vm._renderProxy, vm.$createElement);\n    } catch (e) {\n      handleError(e, vm, \"render\");\n      // return error render result,\n      // or previous vnode to prevent render error causing blank component\n      /* istanbul ignore else */\n      if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n        try {\n          vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n        } catch (e) {\n          handleError(e, vm, \"renderError\");\n          vnode = vm._vnode;\n        }\n      } else {\n        vnode = vm._vnode;\n      }\n    } finally {\n      currentRenderingInstance = null;\n    }\n    // if the returned array contains only a single node, allow it\n    if (Array.isArray(vnode) && vnode.length === 1) {\n      vnode = vnode[0];\n    }\n    // return empty vnode in case the render function errored out\n    if (!(vnode instanceof VNode)) {\n      if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n        warn(\n          'Multiple root nodes returned from render function. Render function ' +\n          'should return a single root node.',\n          vm\n        );\n      }\n      vnode = createEmptyVNode();\n    }\n    // set parent\n    vnode.parent = _parentVnode;\n    return vnode\n  };\n}\n\n/*  */\n\nfunction ensureCtor (comp, base) {\n  if (\n    comp.__esModule ||\n    (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n  ) {\n    comp = comp.default;\n  }\n  return isObject(comp)\n    ? base.extend(comp)\n    : comp\n}\n\nfunction createAsyncPlaceholder (\n  factory,\n  data,\n  context,\n  children,\n  tag\n) {\n  var node = createEmptyVNode();\n  node.asyncFactory = factory;\n  node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n  return node\n}\n\nfunction resolveAsyncComponent (\n  factory,\n  baseCtor\n) {\n  if (isTrue(factory.error) && isDef(factory.errorComp)) {\n    return factory.errorComp\n  }\n\n  if (isDef(factory.resolved)) {\n    return factory.resolved\n  }\n\n  var owner = currentRenderingInstance;\n  if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n    // already pending\n    factory.owners.push(owner);\n  }\n\n  if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n    return factory.loadingComp\n  }\n\n  if (owner && !isDef(factory.owners)) {\n    var owners = factory.owners = [owner];\n    var sync = true;\n    var timerLoading = null;\n    var timerTimeout = null\n\n    ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n    var forceRender = function (renderCompleted) {\n      for (var i = 0, l = owners.length; i < l; i++) {\n        (owners[i]).$forceUpdate();\n      }\n\n      if (renderCompleted) {\n        owners.length = 0;\n        if (timerLoading !== null) {\n          clearTimeout(timerLoading);\n          timerLoading = null;\n        }\n        if (timerTimeout !== null) {\n          clearTimeout(timerTimeout);\n          timerTimeout = null;\n        }\n      }\n    };\n\n    var resolve = once(function (res) {\n      // cache resolved\n      factory.resolved = ensureCtor(res, baseCtor);\n      // invoke callbacks only if this is not a synchronous resolve\n      // (async resolves are shimmed as synchronous during SSR)\n      if (!sync) {\n        forceRender(true);\n      } else {\n        owners.length = 0;\n      }\n    });\n\n    var reject = once(function (reason) {\n      process.env.NODE_ENV !== 'production' && warn(\n        \"Failed to resolve async component: \" + (String(factory)) +\n        (reason ? (\"\\nReason: \" + reason) : '')\n      );\n      if (isDef(factory.errorComp)) {\n        factory.error = true;\n        forceRender(true);\n      }\n    });\n\n    var res = factory(resolve, reject);\n\n    if (isObject(res)) {\n      if (isPromise(res)) {\n        // () => Promise\n        if (isUndef(factory.resolved)) {\n          res.then(resolve, reject);\n        }\n      } else if (isPromise(res.component)) {\n        res.component.then(resolve, reject);\n\n        if (isDef(res.error)) {\n          factory.errorComp = ensureCtor(res.error, baseCtor);\n        }\n\n        if (isDef(res.loading)) {\n          factory.loadingComp = ensureCtor(res.loading, baseCtor);\n          if (res.delay === 0) {\n            factory.loading = true;\n          } else {\n            timerLoading = setTimeout(function () {\n              timerLoading = null;\n              if (isUndef(factory.resolved) && isUndef(factory.error)) {\n                factory.loading = true;\n                forceRender(false);\n              }\n            }, res.delay || 200);\n          }\n        }\n\n        if (isDef(res.timeout)) {\n          timerTimeout = setTimeout(function () {\n            timerTimeout = null;\n            if (isUndef(factory.resolved)) {\n              reject(\n                process.env.NODE_ENV !== 'production'\n                  ? (\"timeout (\" + (res.timeout) + \"ms)\")\n                  : null\n              );\n            }\n          }, res.timeout);\n        }\n      }\n    }\n\n    sync = false;\n    // return in case resolved synchronously\n    return factory.loading\n      ? factory.loadingComp\n      : factory.resolved\n  }\n}\n\n/*  */\n\nfunction getFirstComponentChild (children) {\n  if (Array.isArray(children)) {\n    for (var i = 0; i < children.length; i++) {\n      var c = children[i];\n      if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n        return c\n      }\n    }\n  }\n}\n\n/*  */\n\n/*  */\n\nfunction initEvents (vm) {\n  vm._events = Object.create(null);\n  vm._hasHookEvent = false;\n  // init parent attached events\n  var listeners = vm.$options._parentListeners;\n  if (listeners) {\n    updateComponentListeners(vm, listeners);\n  }\n}\n\nvar target;\n\nfunction add (event, fn) {\n  target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n  target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n  var _target = target;\n  return function onceHandler () {\n    var res = fn.apply(null, arguments);\n    if (res !== null) {\n      _target.$off(event, onceHandler);\n    }\n  }\n}\n\nfunction updateComponentListeners (\n  vm,\n  listeners,\n  oldListeners\n) {\n  target = vm;\n  updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n  target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n  var hookRE = /^hook:/;\n  Vue.prototype.$on = function (event, fn) {\n    var vm = this;\n    if (Array.isArray(event)) {\n      for (var i = 0, l = event.length; i < l; i++) {\n        vm.$on(event[i], fn);\n      }\n    } else {\n      (vm._events[event] || (vm._events[event] = [])).push(fn);\n      // optimize hook:event cost by using a boolean flag marked at registration\n      // instead of a hash lookup\n      if (hookRE.test(event)) {\n        vm._hasHookEvent = true;\n      }\n    }\n    return vm\n  };\n\n  Vue.prototype.$once = function (event, fn) {\n    var vm = this;\n    function on () {\n      vm.$off(event, on);\n      fn.apply(vm, arguments);\n    }\n    on.fn = fn;\n    vm.$on(event, on);\n    return vm\n  };\n\n  Vue.prototype.$off = function (event, fn) {\n    var vm = this;\n    // all\n    if (!arguments.length) {\n      vm._events = Object.create(null);\n      return vm\n    }\n    // array of events\n    if (Array.isArray(event)) {\n      for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n        vm.$off(event[i$1], fn);\n      }\n      return vm\n    }\n    // specific event\n    var cbs = vm._events[event];\n    if (!cbs) {\n      return vm\n    }\n    if (!fn) {\n      vm._events[event] = null;\n      return vm\n    }\n    // specific handler\n    var cb;\n    var i = cbs.length;\n    while (i--) {\n      cb = cbs[i];\n      if (cb === fn || cb.fn === fn) {\n        cbs.splice(i, 1);\n        break\n      }\n    }\n    return vm\n  };\n\n  Vue.prototype.$emit = function (event) {\n    var vm = this;\n    if (process.env.NODE_ENV !== 'production') {\n      var lowerCaseEvent = event.toLowerCase();\n      if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n        tip(\n          \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n          (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n          \"Note that HTML attributes are case-insensitive and you cannot use \" +\n          \"v-on to listen to camelCase events when using in-DOM templates. \" +\n          \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n        );\n      }\n    }\n    var cbs = vm._events[event];\n    if (cbs) {\n      cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n      var args = toArray(arguments, 1);\n      var info = \"event handler for \\\"\" + event + \"\\\"\";\n      for (var i = 0, l = cbs.length; i < l; i++) {\n        invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n      }\n    }\n    return vm\n  };\n}\n\n/*  */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n  var prevActiveInstance = activeInstance;\n  activeInstance = vm;\n  return function () {\n    activeInstance = prevActiveInstance;\n  }\n}\n\nfunction initLifecycle (vm) {\n  var options = vm.$options;\n\n  // locate first non-abstract parent\n  var parent = options.parent;\n  if (parent && !options.abstract) {\n    while (parent.$options.abstract && parent.$parent) {\n      parent = parent.$parent;\n    }\n    parent.$children.push(vm);\n  }\n\n  vm.$parent = parent;\n  vm.$root = parent ? parent.$root : vm;\n\n  vm.$children = [];\n  vm.$refs = {};\n\n  vm._watcher = null;\n  vm._inactive = null;\n  vm._directInactive = false;\n  vm._isMounted = false;\n  vm._isDestroyed = false;\n  vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n  Vue.prototype._update = function (vnode, hydrating) {\n    var vm = this;\n    var prevEl = vm.$el;\n    var prevVnode = vm._vnode;\n    var restoreActiveInstance = setActiveInstance(vm);\n    vm._vnode = vnode;\n    // Vue.prototype.__patch__ is injected in entry points\n    // based on the rendering backend used.\n    if (!prevVnode) {\n      // initial render\n      vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n    } else {\n      // updates\n      vm.$el = vm.__patch__(prevVnode, vnode);\n    }\n    restoreActiveInstance();\n    // update __vue__ reference\n    if (prevEl) {\n      prevEl.__vue__ = null;\n    }\n    if (vm.$el) {\n      vm.$el.__vue__ = vm;\n    }\n    // if parent is an HOC, update its $el as well\n    if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n      vm.$parent.$el = vm.$el;\n    }\n    // updated hook is called by the scheduler to ensure that children are\n    // updated in a parent's updated hook.\n  };\n\n  Vue.prototype.$forceUpdate = function () {\n    var vm = this;\n    if (vm._watcher) {\n      vm._watcher.update();\n    }\n  };\n\n  Vue.prototype.$destroy = function () {\n    var vm = this;\n    if (vm._isBeingDestroyed) {\n      return\n    }\n    callHook(vm, 'beforeDestroy');\n    vm._isBeingDestroyed = true;\n    // remove self from parent\n    var parent = vm.$parent;\n    if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n      remove(parent.$children, vm);\n    }\n    // teardown watchers\n    if (vm._watcher) {\n      vm._watcher.teardown();\n    }\n    var i = vm._watchers.length;\n    while (i--) {\n      vm._watchers[i].teardown();\n    }\n    // remove reference from data ob\n    // frozen object may not have observer.\n    if (vm._data.__ob__) {\n      vm._data.__ob__.vmCount--;\n    }\n    // call the last hook...\n    vm._isDestroyed = true;\n    // invoke destroy hooks on current rendered tree\n    vm.__patch__(vm._vnode, null);\n    // fire destroyed hook\n    callHook(vm, 'destroyed');\n    // turn off all instance listeners.\n    vm.$off();\n    // remove __vue__ reference\n    if (vm.$el) {\n      vm.$el.__vue__ = null;\n    }\n    // release circular reference (#6759)\n    if (vm.$vnode) {\n      vm.$vnode.parent = null;\n    }\n  };\n}\n\nfunction mountComponent (\n  vm,\n  el,\n  hydrating\n) {\n  vm.$el = el;\n  if (!vm.$options.render) {\n    vm.$options.render = createEmptyVNode;\n    if (process.env.NODE_ENV !== 'production') {\n      /* istanbul ignore if */\n      if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n        vm.$options.el || el) {\n        warn(\n          'You are using the runtime-only build of Vue where the template ' +\n          'compiler is not available. Either pre-compile the templates into ' +\n          'render functions, or use the compiler-included build.',\n          vm\n        );\n      } else {\n        warn(\n          'Failed to mount component: template or render function not defined.',\n          vm\n        );\n      }\n    }\n  }\n  callHook(vm, 'beforeMount');\n\n  var updateComponent;\n  /* istanbul ignore if */\n  if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n    updateComponent = function () {\n      var name = vm._name;\n      var id = vm._uid;\n      var startTag = \"vue-perf-start:\" + id;\n      var endTag = \"vue-perf-end:\" + id;\n\n      mark(startTag);\n      var vnode = vm._render();\n      mark(endTag);\n      measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n      mark(startTag);\n      vm._update(vnode, hydrating);\n      mark(endTag);\n      measure((\"vue \" + name + \" patch\"), startTag, endTag);\n    };\n  } else {\n    updateComponent = function () {\n      vm._update(vm._render(), hydrating);\n    };\n  }\n\n  // we set this to vm._watcher inside the watcher's constructor\n  // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n  // component's mounted hook), which relies on vm._watcher being already defined\n  new Watcher(vm, updateComponent, noop, {\n    before: function before () {\n      if (vm._isMounted && !vm._isDestroyed) {\n        callHook(vm, 'beforeUpdate');\n      }\n    }\n  }, true /* isRenderWatcher */);\n  hydrating = false;\n\n  // manually mounted instance, call mounted on self\n  // mounted is called for render-created child components in its inserted hook\n  if (vm.$vnode == null) {\n    vm._isMounted = true;\n    callHook(vm, 'mounted');\n  }\n  return vm\n}\n\nfunction updateChildComponent (\n  vm,\n  propsData,\n  listeners,\n  parentVnode,\n  renderChildren\n) {\n  if (process.env.NODE_ENV !== 'production') {\n    isUpdatingChildComponent = true;\n  }\n\n  // determine whether component has slot children\n  // we need to do this before overwriting $options._renderChildren.\n\n  // check if there are dynamic scopedSlots (hand-written or compiled but with\n  // dynamic slot names). Static scoped slots compiled from template has the\n  // \"$stable\" marker.\n  var newScopedSlots = parentVnode.data.scopedSlots;\n  var oldScopedSlots = vm.$scopedSlots;\n  var hasDynamicScopedSlot = !!(\n    (newScopedSlots && !newScopedSlots.$stable) ||\n    (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n    (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) ||\n    (!newScopedSlots && vm.$scopedSlots.$key)\n  );\n\n  // Any static slot children from the parent may have changed during parent's\n  // update. Dynamic scoped slots may also have changed. In such cases, a forced\n  // update is necessary to ensure correctness.\n  var needsForceUpdate = !!(\n    renderChildren ||               // has new static slots\n    vm.$options._renderChildren ||  // has old static slots\n    hasDynamicScopedSlot\n  );\n\n  vm.$options._parentVnode = parentVnode;\n  vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n  if (vm._vnode) { // update child tree's parent\n    vm._vnode.parent = parentVnode;\n  }\n  vm.$options._renderChildren = renderChildren;\n\n  // update $attrs and $listeners hash\n  // these are also reactive so they may trigger child update if the child\n  // used them during render\n  vm.$attrs = parentVnode.data.attrs || emptyObject;\n  vm.$listeners = listeners || emptyObject;\n\n  // update props\n  if (propsData && vm.$options.props) {\n    toggleObserving(false);\n    var props = vm._props;\n    var propKeys = vm.$options._propKeys || [];\n    for (var i = 0; i < propKeys.length; i++) {\n      var key = propKeys[i];\n      var propOptions = vm.$options.props; // wtf flow?\n      props[key] = validateProp(key, propOptions, propsData, vm);\n    }\n    toggleObserving(true);\n    // keep a copy of raw propsData\n    vm.$options.propsData = propsData;\n  }\n\n  // update listeners\n  listeners = listeners || emptyObject;\n  var oldListeners = vm.$options._parentListeners;\n  vm.$options._parentListeners = listeners;\n  updateComponentListeners(vm, listeners, oldListeners);\n\n  // resolve slots + force update if has children\n  if (needsForceUpdate) {\n    vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n    vm.$forceUpdate();\n  }\n\n  if (process.env.NODE_ENV !== 'production') {\n    isUpdatingChildComponent = false;\n  }\n}\n\nfunction isInInactiveTree (vm) {\n  while (vm && (vm = vm.$parent)) {\n    if (vm._inactive) { return true }\n  }\n  return false\n}\n\nfunction activateChildComponent (vm, direct) {\n  if (direct) {\n    vm._directInactive = false;\n    if (isInInactiveTree(vm)) {\n      return\n    }\n  } else if (vm._directInactive) {\n    return\n  }\n  if (vm._inactive || vm._inactive === null) {\n    vm._inactive = false;\n    for (var i = 0; i < vm.$children.length; i++) {\n      activateChildComponent(vm.$children[i]);\n    }\n    callHook(vm, 'activated');\n  }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n  if (direct) {\n    vm._directInactive = true;\n    if (isInInactiveTree(vm)) {\n      return\n    }\n  }\n  if (!vm._inactive) {\n    vm._inactive = true;\n    for (var i = 0; i < vm.$children.length; i++) {\n      deactivateChildComponent(vm.$children[i]);\n    }\n    callHook(vm, 'deactivated');\n  }\n}\n\nfunction callHook (vm, hook) {\n  // #7573 disable dep collection when invoking lifecycle hooks\n  pushTarget();\n  var handlers = vm.$options[hook];\n  var info = hook + \" hook\";\n  if (handlers) {\n    for (var i = 0, j = handlers.length; i < j; i++) {\n      invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n    }\n  }\n  if (vm._hasHookEvent) {\n    vm.$emit('hook:' + hook);\n  }\n  popTarget();\n}\n\n/*  */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n  index = queue.length = activatedChildren.length = 0;\n  has = {};\n  if (process.env.NODE_ENV !== 'production') {\n    circular = {};\n  }\n  waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n  var performance = window.performance;\n  if (\n    performance &&\n    typeof performance.now === 'function' &&\n    getNow() > document.createEvent('Event').timeStamp\n  ) {\n    // if the event timestamp, although evaluated AFTER the Date.now(), is\n    // smaller than it, it means the event is using a hi-res timestamp,\n    // and we need to use the hi-res version for event listener timestamps as\n    // well.\n    getNow = function () { return performance.now(); };\n  }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n  currentFlushTimestamp = getNow();\n  flushing = true;\n  var watcher, id;\n\n  // Sort queue before flush.\n  // This ensures that:\n  // 1. Components are updated from parent to child. (because parent is always\n  //    created before the child)\n  // 2. A component's user watchers are run before its render watcher (because\n  //    user watchers are created before the render watcher)\n  // 3. If a component is destroyed during a parent component's watcher run,\n  //    its watchers can be skipped.\n  queue.sort(function (a, b) { return a.id - b.id; });\n\n  // do not cache length because more watchers might be pushed\n  // as we run existing watchers\n  for (index = 0; index < queue.length; index++) {\n    watcher = queue[index];\n    if (watcher.before) {\n      watcher.before();\n    }\n    id = watcher.id;\n    has[id] = null;\n    watcher.run();\n    // in dev build, check and stop circular updates.\n    if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n      circular[id] = (circular[id] || 0) + 1;\n      if (circular[id] > MAX_UPDATE_COUNT) {\n        warn(\n          'You may have an infinite update loop ' + (\n            watcher.user\n              ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n              : \"in a component render function.\"\n          ),\n          watcher.vm\n        );\n        break\n      }\n    }\n  }\n\n  // keep copies of post queues before resetting state\n  var activatedQueue = activatedChildren.slice();\n  var updatedQueue = queue.slice();\n\n  resetSchedulerState();\n\n  // call component updated and activated hooks\n  callActivatedHooks(activatedQueue);\n  callUpdatedHooks(updatedQueue);\n\n  // devtool hook\n  /* istanbul ignore if */\n  if (devtools && config.devtools) {\n    devtools.emit('flush');\n  }\n}\n\nfunction callUpdatedHooks (queue) {\n  var i = queue.length;\n  while (i--) {\n    var watcher = queue[i];\n    var vm = watcher.vm;\n    if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n      callHook(vm, 'updated');\n    }\n  }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n  // setting _inactive to false here so that a render function can\n  // rely on checking whether it's in an inactive tree (e.g. router-view)\n  vm._inactive = false;\n  activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n  for (var i = 0; i < queue.length; i++) {\n    queue[i]._inactive = true;\n    activateChildComponent(queue[i], true /* true */);\n  }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n  var id = watcher.id;\n  if (has[id] == null) {\n    has[id] = true;\n    if (!flushing) {\n      queue.push(watcher);\n    } else {\n      // if already flushing, splice the watcher based on its id\n      // if already past its id, it will be run next immediately.\n      var i = queue.length - 1;\n      while (i > index && queue[i].id > watcher.id) {\n        i--;\n      }\n      queue.splice(i + 1, 0, watcher);\n    }\n    // queue the flush\n    if (!waiting) {\n      waiting = true;\n\n      if (process.env.NODE_ENV !== 'production' && !config.async) {\n        flushSchedulerQueue();\n        return\n      }\n      nextTick(flushSchedulerQueue);\n    }\n  }\n}\n\n/*  */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n  vm,\n  expOrFn,\n  cb,\n  options,\n  isRenderWatcher\n) {\n  this.vm = vm;\n  if (isRenderWatcher) {\n    vm._watcher = this;\n  }\n  vm._watchers.push(this);\n  // options\n  if (options) {\n    this.deep = !!options.deep;\n    this.user = !!options.user;\n    this.lazy = !!options.lazy;\n    this.sync = !!options.sync;\n    this.before = options.before;\n  } else {\n    this.deep = this.user = this.lazy = this.sync = false;\n  }\n  this.cb = cb;\n  this.id = ++uid$2; // uid for batching\n  this.active = true;\n  this.dirty = this.lazy; // for lazy watchers\n  this.deps = [];\n  this.newDeps = [];\n  this.depIds = new _Set();\n  this.newDepIds = new _Set();\n  this.expression = process.env.NODE_ENV !== 'production'\n    ? expOrFn.toString()\n    : '';\n  // parse expression for getter\n  if (typeof expOrFn === 'function') {\n    this.getter = expOrFn;\n  } else {\n    this.getter = parsePath(expOrFn);\n    if (!this.getter) {\n      this.getter = noop;\n      process.env.NODE_ENV !== 'production' && warn(\n        \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n        'Watcher only accepts simple dot-delimited paths. ' +\n        'For full control, use a function instead.',\n        vm\n      );\n    }\n  }\n  this.value = this.lazy\n    ? undefined\n    : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n  pushTarget(this);\n  var value;\n  var vm = this.vm;\n  try {\n    value = this.getter.call(vm, vm);\n  } catch (e) {\n    if (this.user) {\n      handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n    } else {\n      throw e\n    }\n  } finally {\n    // \"touch\" every property so they are all tracked as\n    // dependencies for deep watching\n    if (this.deep) {\n      traverse(value);\n    }\n    popTarget();\n    this.cleanupDeps();\n  }\n  return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n  var id = dep.id;\n  if (!this.newDepIds.has(id)) {\n    this.newDepIds.add(id);\n    this.newDeps.push(dep);\n    if (!this.depIds.has(id)) {\n      dep.addSub(this);\n    }\n  }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n  var i = this.deps.length;\n  while (i--) {\n    var dep = this.deps[i];\n    if (!this.newDepIds.has(dep.id)) {\n      dep.removeSub(this);\n    }\n  }\n  var tmp = this.depIds;\n  this.depIds = this.newDepIds;\n  this.newDepIds = tmp;\n  this.newDepIds.clear();\n  tmp = this.deps;\n  this.deps = this.newDeps;\n  this.newDeps = tmp;\n  this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n  /* istanbul ignore else */\n  if (this.lazy) {\n    this.dirty = true;\n  } else if (this.sync) {\n    this.run();\n  } else {\n    queueWatcher(this);\n  }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n  if (this.active) {\n    var value = this.get();\n    if (\n      value !== this.value ||\n      // Deep watchers and watchers on Object/Arrays should fire even\n      // when the value is the same, because the value may\n      // have mutated.\n      isObject(value) ||\n      this.deep\n    ) {\n      // set new value\n      var oldValue = this.value;\n      this.value = value;\n      if (this.user) {\n        var info = \"callback for watcher \\\"\" + (this.expression) + \"\\\"\";\n        invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info);\n      } else {\n        this.cb.call(this.vm, value, oldValue);\n      }\n    }\n  }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n  this.value = this.get();\n  this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n  var i = this.deps.length;\n  while (i--) {\n    this.deps[i].depend();\n  }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n  if (this.active) {\n    // remove self from vm's watcher list\n    // this is a somewhat expensive operation so we skip it\n    // if the vm is being destroyed.\n    if (!this.vm._isBeingDestroyed) {\n      remove(this.vm._watchers, this);\n    }\n    var i = this.deps.length;\n    while (i--) {\n      this.deps[i].removeSub(this);\n    }\n    this.active = false;\n  }\n};\n\n/*  */\n\nvar sharedPropertyDefinition = {\n  enumerable: true,\n  configurable: true,\n  get: noop,\n  set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n  sharedPropertyDefinition.get = function proxyGetter () {\n    return this[sourceKey][key]\n  };\n  sharedPropertyDefinition.set = function proxySetter (val) {\n    this[sourceKey][key] = val;\n  };\n  Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n  vm._watchers = [];\n  var opts = vm.$options;\n  if (opts.props) { initProps(vm, opts.props); }\n  if (opts.methods) { initMethods(vm, opts.methods); }\n  if (opts.data) {\n    initData(vm);\n  } else {\n    observe(vm._data = {}, true /* asRootData */);\n  }\n  if (opts.computed) { initComputed(vm, opts.computed); }\n  if (opts.watch && opts.watch !== nativeWatch) {\n    initWatch(vm, opts.watch);\n  }\n}\n\nfunction initProps (vm, propsOptions) {\n  var propsData = vm.$options.propsData || {};\n  var props = vm._props = {};\n  // cache prop keys so that future props updates can iterate using Array\n  // instead of dynamic object key enumeration.\n  var keys = vm.$options._propKeys = [];\n  var isRoot = !vm.$parent;\n  // root instance props should be converted\n  if (!isRoot) {\n    toggleObserving(false);\n  }\n  var loop = function ( key ) {\n    keys.push(key);\n    var value = validateProp(key, propsOptions, propsData, vm);\n    /* istanbul ignore else */\n    if (process.env.NODE_ENV !== 'production') {\n      var hyphenatedKey = hyphenate(key);\n      if (isReservedAttribute(hyphenatedKey) ||\n          config.isReservedAttr(hyphenatedKey)) {\n        warn(\n          (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n          vm\n        );\n      }\n      defineReactive$$1(props, key, value, function () {\n        if (!isRoot && !isUpdatingChildComponent) {\n          warn(\n            \"Avoid mutating a prop directly since the value will be \" +\n            \"overwritten whenever the parent component re-renders. \" +\n            \"Instead, use a data or computed property based on the prop's \" +\n            \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n            vm\n          );\n        }\n      });\n    } else {\n      defineReactive$$1(props, key, value);\n    }\n    // static props are already proxied on the component's prototype\n    // during Vue.extend(). We only need to proxy props defined at\n    // instantiation here.\n    if (!(key in vm)) {\n      proxy(vm, \"_props\", key);\n    }\n  };\n\n  for (var key in propsOptions) loop( key );\n  toggleObserving(true);\n}\n\nfunction initData (vm) {\n  var data = vm.$options.data;\n  data = vm._data = typeof data === 'function'\n    ? getData(data, vm)\n    : data || {};\n  if (!isPlainObject(data)) {\n    data = {};\n    process.env.NODE_ENV !== 'production' && warn(\n      'data functions should return an object:\\n' +\n      'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n      vm\n    );\n  }\n  // proxy data on instance\n  var keys = Object.keys(data);\n  var props = vm.$options.props;\n  var methods = vm.$options.methods;\n  var i = keys.length;\n  while (i--) {\n    var key = keys[i];\n    if (process.env.NODE_ENV !== 'production') {\n      if (methods && hasOwn(methods, key)) {\n        warn(\n          (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n          vm\n        );\n      }\n    }\n    if (props && hasOwn(props, key)) {\n      process.env.NODE_ENV !== 'production' && warn(\n        \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n        \"Use prop default value instead.\",\n        vm\n      );\n    } else if (!isReserved(key)) {\n      proxy(vm, \"_data\", key);\n    }\n  }\n  // observe data\n  observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n  // #7573 disable dep collection when invoking data getters\n  pushTarget();\n  try {\n    return data.call(vm, vm)\n  } catch (e) {\n    handleError(e, vm, \"data()\");\n    return {}\n  } finally {\n    popTarget();\n  }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n  // $flow-disable-line\n  var watchers = vm._computedWatchers = Object.create(null);\n  // computed properties are just getters during SSR\n  var isSSR = isServerRendering();\n\n  for (var key in computed) {\n    var userDef = computed[key];\n    var getter = typeof userDef === 'function' ? userDef : userDef.get;\n    if (process.env.NODE_ENV !== 'production' && getter == null) {\n      warn(\n        (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n        vm\n      );\n    }\n\n    if (!isSSR) {\n      // create internal watcher for the computed property.\n      watchers[key] = new Watcher(\n        vm,\n        getter || noop,\n        noop,\n        computedWatcherOptions\n      );\n    }\n\n    // component-defined computed properties are already defined on the\n    // component prototype. We only need to define computed properties defined\n    // at instantiation here.\n    if (!(key in vm)) {\n      defineComputed(vm, key, userDef);\n    } else if (process.env.NODE_ENV !== 'production') {\n      if (key in vm.$data) {\n        warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n      } else if (vm.$options.props && key in vm.$options.props) {\n        warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n      } else if (vm.$options.methods && key in vm.$options.methods) {\n        warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a method.\"), vm);\n      }\n    }\n  }\n}\n\nfunction defineComputed (\n  target,\n  key,\n  userDef\n) {\n  var shouldCache = !isServerRendering();\n  if (typeof userDef === 'function') {\n    sharedPropertyDefinition.get = shouldCache\n      ? createComputedGetter(key)\n      : createGetterInvoker(userDef);\n    sharedPropertyDefinition.set = noop;\n  } else {\n    sharedPropertyDefinition.get = userDef.get\n      ? shouldCache && userDef.cache !== false\n        ? createComputedGetter(key)\n        : createGetterInvoker(userDef.get)\n      : noop;\n    sharedPropertyDefinition.set = userDef.set || noop;\n  }\n  if (process.env.NODE_ENV !== 'production' &&\n      sharedPropertyDefinition.set === noop) {\n    sharedPropertyDefinition.set = function () {\n      warn(\n        (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n        this\n      );\n    };\n  }\n  Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n  return function computedGetter () {\n    var watcher = this._computedWatchers && this._computedWatchers[key];\n    if (watcher) {\n      if (watcher.dirty) {\n        watcher.evaluate();\n      }\n      if (Dep.target) {\n        watcher.depend();\n      }\n      return watcher.value\n    }\n  }\n}\n\nfunction createGetterInvoker(fn) {\n  return function computedGetter () {\n    return fn.call(this, this)\n  }\n}\n\nfunction initMethods (vm, methods) {\n  var props = vm.$options.props;\n  for (var key in methods) {\n    if (process.env.NODE_ENV !== 'production') {\n      if (typeof methods[key] !== 'function') {\n        warn(\n          \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n          \"Did you reference the function correctly?\",\n          vm\n        );\n      }\n      if (props && hasOwn(props, key)) {\n        warn(\n          (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n          vm\n        );\n      }\n      if ((key in vm) && isReserved(key)) {\n        warn(\n          \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n          \"Avoid defining component methods that start with _ or $.\"\n        );\n      }\n    }\n    vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n  }\n}\n\nfunction initWatch (vm, watch) {\n  for (var key in watch) {\n    var handler = watch[key];\n    if (Array.isArray(handler)) {\n      for (var i = 0; i < handler.length; i++) {\n        createWatcher(vm, key, handler[i]);\n      }\n    } else {\n      createWatcher(vm, key, handler);\n    }\n  }\n}\n\nfunction createWatcher (\n  vm,\n  expOrFn,\n  handler,\n  options\n) {\n  if (isPlainObject(handler)) {\n    options = handler;\n    handler = handler.handler;\n  }\n  if (typeof handler === 'string') {\n    handler = vm[handler];\n  }\n  return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n  // flow somehow has problems with directly declared definition object\n  // when using Object.defineProperty, so we have to procedurally build up\n  // the object here.\n  var dataDef = {};\n  dataDef.get = function () { return this._data };\n  var propsDef = {};\n  propsDef.get = function () { return this._props };\n  if (process.env.NODE_ENV !== 'production') {\n    dataDef.set = function () {\n      warn(\n        'Avoid replacing instance root $data. ' +\n        'Use nested data properties instead.',\n        this\n      );\n    };\n    propsDef.set = function () {\n      warn(\"$props is readonly.\", this);\n    };\n  }\n  Object.defineProperty(Vue.prototype, '$data', dataDef);\n  Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n  Vue.prototype.$set = set;\n  Vue.prototype.$delete = del;\n\n  Vue.prototype.$watch = function (\n    expOrFn,\n    cb,\n    options\n  ) {\n    var vm = this;\n    if (isPlainObject(cb)) {\n      return createWatcher(vm, expOrFn, cb, options)\n    }\n    options = options || {};\n    options.user = true;\n    var watcher = new Watcher(vm, expOrFn, cb, options);\n    if (options.immediate) {\n      var info = \"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\";\n      pushTarget();\n      invokeWithErrorHandling(cb, vm, [watcher.value], vm, info);\n      popTarget();\n    }\n    return function unwatchFn () {\n      watcher.teardown();\n    }\n  };\n}\n\n/*  */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n  Vue.prototype._init = function (options) {\n    var vm = this;\n    // a uid\n    vm._uid = uid$3++;\n\n    var startTag, endTag;\n    /* istanbul ignore if */\n    if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n      startTag = \"vue-perf-start:\" + (vm._uid);\n      endTag = \"vue-perf-end:\" + (vm._uid);\n      mark(startTag);\n    }\n\n    // a flag to avoid this being observed\n    vm._isVue = true;\n    // merge options\n    if (options && options._isComponent) {\n      // optimize internal component instantiation\n      // since dynamic options merging is pretty slow, and none of the\n      // internal component options needs special treatment.\n      initInternalComponent(vm, options);\n    } else {\n      vm.$options = mergeOptions(\n        resolveConstructorOptions(vm.constructor),\n        options || {},\n        vm\n      );\n    }\n    /* istanbul ignore else */\n    if (process.env.NODE_ENV !== 'production') {\n      initProxy(vm);\n    } else {\n      vm._renderProxy = vm;\n    }\n    // expose real self\n    vm._self = vm;\n    initLifecycle(vm);\n    initEvents(vm);\n    initRender(vm);\n    callHook(vm, 'beforeCreate');\n    initInjections(vm); // resolve injections before data/props\n    initState(vm);\n    initProvide(vm); // resolve provide after data/props\n    callHook(vm, 'created');\n\n    /* istanbul ignore if */\n    if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n      vm._name = formatComponentName(vm, false);\n      mark(endTag);\n      measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n    }\n\n    if (vm.$options.el) {\n      vm.$mount(vm.$options.el);\n    }\n  };\n}\n\nfunction initInternalComponent (vm, options) {\n  var opts = vm.$options = Object.create(vm.constructor.options);\n  // doing this because it's faster than dynamic enumeration.\n  var parentVnode = options._parentVnode;\n  opts.parent = options.parent;\n  opts._parentVnode = parentVnode;\n\n  var vnodeComponentOptions = parentVnode.componentOptions;\n  opts.propsData = vnodeComponentOptions.propsData;\n  opts._parentListeners = vnodeComponentOptions.listeners;\n  opts._renderChildren = vnodeComponentOptions.children;\n  opts._componentTag = vnodeComponentOptions.tag;\n\n  if (options.render) {\n    opts.render = options.render;\n    opts.staticRenderFns = options.staticRenderFns;\n  }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n  var options = Ctor.options;\n  if (Ctor.super) {\n    var superOptions = resolveConstructorOptions(Ctor.super);\n    var cachedSuperOptions = Ctor.superOptions;\n    if (superOptions !== cachedSuperOptions) {\n      // super option changed,\n      // need to resolve new options.\n      Ctor.superOptions = superOptions;\n      // check if there are any late-modified/attached options (#4976)\n      var modifiedOptions = resolveModifiedOptions(Ctor);\n      // update base extend options\n      if (modifiedOptions) {\n        extend(Ctor.extendOptions, modifiedOptions);\n      }\n      options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n      if (options.name) {\n        options.components[options.name] = Ctor;\n      }\n    }\n  }\n  return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n  var modified;\n  var latest = Ctor.options;\n  var sealed = Ctor.sealedOptions;\n  for (var key in latest) {\n    if (latest[key] !== sealed[key]) {\n      if (!modified) { modified = {}; }\n      modified[key] = latest[key];\n    }\n  }\n  return modified\n}\n\nfunction Vue (options) {\n  if (process.env.NODE_ENV !== 'production' &&\n    !(this instanceof Vue)\n  ) {\n    warn('Vue is a constructor and should be called with the `new` keyword');\n  }\n  this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/*  */\n\nfunction initUse (Vue) {\n  Vue.use = function (plugin) {\n    var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n    if (installedPlugins.indexOf(plugin) > -1) {\n      return this\n    }\n\n    // additional parameters\n    var args = toArray(arguments, 1);\n    args.unshift(this);\n    if (typeof plugin.install === 'function') {\n      plugin.install.apply(plugin, args);\n    } else if (typeof plugin === 'function') {\n      plugin.apply(null, args);\n    }\n    installedPlugins.push(plugin);\n    return this\n  };\n}\n\n/*  */\n\nfunction initMixin$1 (Vue) {\n  Vue.mixin = function (mixin) {\n    this.options = mergeOptions(this.options, mixin);\n    return this\n  };\n}\n\n/*  */\n\nfunction initExtend (Vue) {\n  /**\n   * Each instance constructor, including Vue, has a unique\n   * cid. This enables us to create wrapped \"child\n   * constructors\" for prototypal inheritance and cache them.\n   */\n  Vue.cid = 0;\n  var cid = 1;\n\n  /**\n   * Class inheritance\n   */\n  Vue.extend = function (extendOptions) {\n    extendOptions = extendOptions || {};\n    var Super = this;\n    var SuperId = Super.cid;\n    var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n    if (cachedCtors[SuperId]) {\n      return cachedCtors[SuperId]\n    }\n\n    var name = extendOptions.name || Super.options.name;\n    if (process.env.NODE_ENV !== 'production' && name) {\n      validateComponentName(name);\n    }\n\n    var Sub = function VueComponent (options) {\n      this._init(options);\n    };\n    Sub.prototype = Object.create(Super.prototype);\n    Sub.prototype.constructor = Sub;\n    Sub.cid = cid++;\n    Sub.options = mergeOptions(\n      Super.options,\n      extendOptions\n    );\n    Sub['super'] = Super;\n\n    // For props and computed properties, we define the proxy getters on\n    // the Vue instances at extension time, on the extended prototype. This\n    // avoids Object.defineProperty calls for each instance created.\n    if (Sub.options.props) {\n      initProps$1(Sub);\n    }\n    if (Sub.options.computed) {\n      initComputed$1(Sub);\n    }\n\n    // allow further extension/mixin/plugin usage\n    Sub.extend = Super.extend;\n    Sub.mixin = Super.mixin;\n    Sub.use = Super.use;\n\n    // create asset registers, so extended classes\n    // can have their private assets too.\n    ASSET_TYPES.forEach(function (type) {\n      Sub[type] = Super[type];\n    });\n    // enable recursive self-lookup\n    if (name) {\n      Sub.options.components[name] = Sub;\n    }\n\n    // keep a reference to the super options at extension time.\n    // later at instantiation we can check if Super's options have\n    // been updated.\n    Sub.superOptions = Super.options;\n    Sub.extendOptions = extendOptions;\n    Sub.sealedOptions = extend({}, Sub.options);\n\n    // cache constructor\n    cachedCtors[SuperId] = Sub;\n    return Sub\n  };\n}\n\nfunction initProps$1 (Comp) {\n  var props = Comp.options.props;\n  for (var key in props) {\n    proxy(Comp.prototype, \"_props\", key);\n  }\n}\n\nfunction initComputed$1 (Comp) {\n  var computed = Comp.options.computed;\n  for (var key in computed) {\n    defineComputed(Comp.prototype, key, computed[key]);\n  }\n}\n\n/*  */\n\nfunction initAssetRegisters (Vue) {\n  /**\n   * Create asset registration methods.\n   */\n  ASSET_TYPES.forEach(function (type) {\n    Vue[type] = function (\n      id,\n      definition\n    ) {\n      if (!definition) {\n        return this.options[type + 's'][id]\n      } else {\n        /* istanbul ignore if */\n        if (process.env.NODE_ENV !== 'production' && type === 'component') {\n          validateComponentName(id);\n        }\n        if (type === 'component' && isPlainObject(definition)) {\n          definition.name = definition.name || id;\n          definition = this.options._base.extend(definition);\n        }\n        if (type === 'directive' && typeof definition === 'function') {\n          definition = { bind: definition, update: definition };\n        }\n        this.options[type + 's'][id] = definition;\n        return definition\n      }\n    };\n  });\n}\n\n/*  */\n\n\n\n\n\nfunction getComponentName (opts) {\n  return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n  if (Array.isArray(pattern)) {\n    return pattern.indexOf(name) > -1\n  } else if (typeof pattern === 'string') {\n    return pattern.split(',').indexOf(name) > -1\n  } else if (isRegExp(pattern)) {\n    return pattern.test(name)\n  }\n  /* istanbul ignore next */\n  return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n  var cache = keepAliveInstance.cache;\n  var keys = keepAliveInstance.keys;\n  var _vnode = keepAliveInstance._vnode;\n  for (var key in cache) {\n    var entry = cache[key];\n    if (entry) {\n      var name = entry.name;\n      if (name && !filter(name)) {\n        pruneCacheEntry(cache, key, keys, _vnode);\n      }\n    }\n  }\n}\n\nfunction pruneCacheEntry (\n  cache,\n  key,\n  keys,\n  current\n) {\n  var entry = cache[key];\n  if (entry && (!current || entry.tag !== current.tag)) {\n    entry.componentInstance.$destroy();\n  }\n  cache[key] = null;\n  remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n  name: 'keep-alive',\n  abstract: true,\n\n  props: {\n    include: patternTypes,\n    exclude: patternTypes,\n    max: [String, Number]\n  },\n\n  methods: {\n    cacheVNode: function cacheVNode() {\n      var ref = this;\n      var cache = ref.cache;\n      var keys = ref.keys;\n      var vnodeToCache = ref.vnodeToCache;\n      var keyToCache = ref.keyToCache;\n      if (vnodeToCache) {\n        var tag = vnodeToCache.tag;\n        var componentInstance = vnodeToCache.componentInstance;\n        var componentOptions = vnodeToCache.componentOptions;\n        cache[keyToCache] = {\n          name: getComponentName(componentOptions),\n          tag: tag,\n          componentInstance: componentInstance,\n        };\n        keys.push(keyToCache);\n        // prune oldest entry\n        if (this.max && keys.length > parseInt(this.max)) {\n          pruneCacheEntry(cache, keys[0], keys, this._vnode);\n        }\n        this.vnodeToCache = null;\n      }\n    }\n  },\n\n  created: function created () {\n    this.cache = Object.create(null);\n    this.keys = [];\n  },\n\n  destroyed: function destroyed () {\n    for (var key in this.cache) {\n      pruneCacheEntry(this.cache, key, this.keys);\n    }\n  },\n\n  mounted: function mounted () {\n    var this$1 = this;\n\n    this.cacheVNode();\n    this.$watch('include', function (val) {\n      pruneCache(this$1, function (name) { return matches(val, name); });\n    });\n    this.$watch('exclude', function (val) {\n      pruneCache(this$1, function (name) { return !matches(val, name); });\n    });\n  },\n\n  updated: function updated () {\n    this.cacheVNode();\n  },\n\n  render: function render () {\n    var slot = this.$slots.default;\n    var vnode = getFirstComponentChild(slot);\n    var componentOptions = vnode && vnode.componentOptions;\n    if (componentOptions) {\n      // check pattern\n      var name = getComponentName(componentOptions);\n      var ref = this;\n      var include = ref.include;\n      var exclude = ref.exclude;\n      if (\n        // not included\n        (include && (!name || !matches(include, name))) ||\n        // excluded\n        (exclude && name && matches(exclude, name))\n      ) {\n        return vnode\n      }\n\n      var ref$1 = this;\n      var cache = ref$1.cache;\n      var keys = ref$1.keys;\n      var key = vnode.key == null\n        // same constructor may get registered as different local components\n        // so cid alone is not enough (#3269)\n        ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n        : vnode.key;\n      if (cache[key]) {\n        vnode.componentInstance = cache[key].componentInstance;\n        // make current key freshest\n        remove(keys, key);\n        keys.push(key);\n      } else {\n        // delay setting the cache until update\n        this.vnodeToCache = vnode;\n        this.keyToCache = key;\n      }\n\n      vnode.data.keepAlive = true;\n    }\n    return vnode || (slot && slot[0])\n  }\n};\n\nvar builtInComponents = {\n  KeepAlive: KeepAlive\n};\n\n/*  */\n\nfunction initGlobalAPI (Vue) {\n  // config\n  var configDef = {};\n  configDef.get = function () { return config; };\n  if (process.env.NODE_ENV !== 'production') {\n    configDef.set = function () {\n      warn(\n        'Do not replace the Vue.config object, set individual fields instead.'\n      );\n    };\n  }\n  Object.defineProperty(Vue, 'config', configDef);\n\n  // exposed util methods.\n  // NOTE: these are not considered part of the public API - avoid relying on\n  // them unless you are aware of the risk.\n  Vue.util = {\n    warn: warn,\n    extend: extend,\n    mergeOptions: mergeOptions,\n    defineReactive: defineReactive$$1\n  };\n\n  Vue.set = set;\n  Vue.delete = del;\n  Vue.nextTick = nextTick;\n\n  // 2.6 explicit observable API\n  Vue.observable = function (obj) {\n    observe(obj);\n    return obj\n  };\n\n  Vue.options = Object.create(null);\n  ASSET_TYPES.forEach(function (type) {\n    Vue.options[type + 's'] = Object.create(null);\n  });\n\n  // this is used to identify the \"base\" constructor to extend all plain-object\n  // components with in Weex's multi-instance scenarios.\n  Vue.options._base = Vue;\n\n  extend(Vue.options.components, builtInComponents);\n\n  initUse(Vue);\n  initMixin$1(Vue);\n  initExtend(Vue);\n  initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n  get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n  get: function get () {\n    /* istanbul ignore next */\n    return this.$vnode && this.$vnode.ssrContext\n  }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n  value: FunctionalRenderContext\n});\n\nVue.version = '2.6.14';\n\n/*  */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n  return (\n    (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n    (attr === 'selected' && tag === 'option') ||\n    (attr === 'checked' && tag === 'input') ||\n    (attr === 'muted' && tag === 'video')\n  )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n  return isFalsyAttrValue(value) || value === 'false'\n    ? 'false'\n    // allow arbitrary string value for contenteditable\n    : key === 'contenteditable' && isValidContentEditableValue(value)\n      ? value\n      : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n  'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n  'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n  'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n  'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n  'required,reversed,scoped,seamless,selected,sortable,' +\n  'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n  return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n  return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n  return val == null || val === false\n};\n\n/*  */\n\nfunction genClassForVnode (vnode) {\n  var data = vnode.data;\n  var parentNode = vnode;\n  var childNode = vnode;\n  while (isDef(childNode.componentInstance)) {\n    childNode = childNode.componentInstance._vnode;\n    if (childNode && childNode.data) {\n      data = mergeClassData(childNode.data, data);\n    }\n  }\n  while (isDef(parentNode = parentNode.parent)) {\n    if (parentNode && parentNode.data) {\n      data = mergeClassData(data, parentNode.data);\n    }\n  }\n  return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n  return {\n    staticClass: concat(child.staticClass, parent.staticClass),\n    class: isDef(child.class)\n      ? [child.class, parent.class]\n      : parent.class\n  }\n}\n\nfunction renderClass (\n  staticClass,\n  dynamicClass\n) {\n  if (isDef(staticClass) || isDef(dynamicClass)) {\n    return concat(staticClass, stringifyClass(dynamicClass))\n  }\n  /* istanbul ignore next */\n  return ''\n}\n\nfunction concat (a, b) {\n  return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n  if (Array.isArray(value)) {\n    return stringifyArray(value)\n  }\n  if (isObject(value)) {\n    return stringifyObject(value)\n  }\n  if (typeof value === 'string') {\n    return value\n  }\n  /* istanbul ignore next */\n  return ''\n}\n\nfunction stringifyArray (value) {\n  var res = '';\n  var stringified;\n  for (var i = 0, l = value.length; i < l; i++) {\n    if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n      if (res) { res += ' '; }\n      res += stringified;\n    }\n  }\n  return res\n}\n\nfunction stringifyObject (value) {\n  var res = '';\n  for (var key in value) {\n    if (value[key]) {\n      if (res) { res += ' '; }\n      res += key;\n    }\n  }\n  return res\n}\n\n/*  */\n\nvar namespaceMap = {\n  svg: 'http://www.w3.org/2000/svg',\n  math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n  'html,body,base,head,link,meta,style,title,' +\n  'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n  'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n  'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n  's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n  'embed,object,param,source,canvas,script,noscript,del,ins,' +\n  'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n  'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n  'output,progress,select,textarea,' +\n  'details,dialog,menu,menuitem,summary,' +\n  'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n  'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n  'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n  'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n  true\n);\n\nvar isReservedTag = function (tag) {\n  return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n  if (isSVG(tag)) {\n    return 'svg'\n  }\n  // basic support for MathML\n  // note it doesn't support other MathML elements being component roots\n  if (tag === 'math') {\n    return 'math'\n  }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n  /* istanbul ignore if */\n  if (!inBrowser) {\n    return true\n  }\n  if (isReservedTag(tag)) {\n    return false\n  }\n  tag = tag.toLowerCase();\n  /* istanbul ignore if */\n  if (unknownElementCache[tag] != null) {\n    return unknownElementCache[tag]\n  }\n  var el = document.createElement(tag);\n  if (tag.indexOf('-') > -1) {\n    // http://stackoverflow.com/a/28210364/1070244\n    return (unknownElementCache[tag] = (\n      el.constructor === window.HTMLUnknownElement ||\n      el.constructor === window.HTMLElement\n    ))\n  } else {\n    return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n  }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/*  */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n  if (typeof el === 'string') {\n    var selected = document.querySelector(el);\n    if (!selected) {\n      process.env.NODE_ENV !== 'production' && warn(\n        'Cannot find element: ' + el\n      );\n      return document.createElement('div')\n    }\n    return selected\n  } else {\n    return el\n  }\n}\n\n/*  */\n\nfunction createElement$1 (tagName, vnode) {\n  var elm = document.createElement(tagName);\n  if (tagName !== 'select') {\n    return elm\n  }\n  // false or null will remove the attribute but undefined will not\n  if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n    elm.setAttribute('multiple', 'multiple');\n  }\n  return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n  return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n  return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n  return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n  parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n  node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n  node.appendChild(child);\n}\n\nfunction parentNode (node) {\n  return node.parentNode\n}\n\nfunction nextSibling (node) {\n  return node.nextSibling\n}\n\nfunction tagName (node) {\n  return node.tagName\n}\n\nfunction setTextContent (node, text) {\n  node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n  node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n  createElement: createElement$1,\n  createElementNS: createElementNS,\n  createTextNode: createTextNode,\n  createComment: createComment,\n  insertBefore: insertBefore,\n  removeChild: removeChild,\n  appendChild: appendChild,\n  parentNode: parentNode,\n  nextSibling: nextSibling,\n  tagName: tagName,\n  setTextContent: setTextContent,\n  setStyleScope: setStyleScope\n});\n\n/*  */\n\nvar ref = {\n  create: function create (_, vnode) {\n    registerRef(vnode);\n  },\n  update: function update (oldVnode, vnode) {\n    if (oldVnode.data.ref !== vnode.data.ref) {\n      registerRef(oldVnode, true);\n      registerRef(vnode);\n    }\n  },\n  destroy: function destroy (vnode) {\n    registerRef(vnode, true);\n  }\n};\n\nfunction registerRef (vnode, isRemoval) {\n  var key = vnode.data.ref;\n  if (!isDef(key)) { return }\n\n  var vm = vnode.context;\n  var ref = vnode.componentInstance || vnode.elm;\n  var refs = vm.$refs;\n  if (isRemoval) {\n    if (Array.isArray(refs[key])) {\n      remove(refs[key], ref);\n    } else if (refs[key] === ref) {\n      refs[key] = undefined;\n    }\n  } else {\n    if (vnode.data.refInFor) {\n      if (!Array.isArray(refs[key])) {\n        refs[key] = [ref];\n      } else if (refs[key].indexOf(ref) < 0) {\n        // $flow-disable-line\n        refs[key].push(ref);\n      }\n    } else {\n      refs[key] = ref;\n    }\n  }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n  return (\n    a.key === b.key &&\n    a.asyncFactory === b.asyncFactory && (\n      (\n        a.tag === b.tag &&\n        a.isComment === b.isComment &&\n        isDef(a.data) === isDef(b.data) &&\n        sameInputType(a, b)\n      ) || (\n        isTrue(a.isAsyncPlaceholder) &&\n        isUndef(b.asyncFactory.error)\n      )\n    )\n  )\n}\n\nfunction sameInputType (a, b) {\n  if (a.tag !== 'input') { return true }\n  var i;\n  var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n  var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n  return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n  var i, key;\n  var map = {};\n  for (i = beginIdx; i <= endIdx; ++i) {\n    key = children[i].key;\n    if (isDef(key)) { map[key] = i; }\n  }\n  return map\n}\n\nfunction createPatchFunction (backend) {\n  var i, j;\n  var cbs = {};\n\n  var modules = backend.modules;\n  var nodeOps = backend.nodeOps;\n\n  for (i = 0; i < hooks.length; ++i) {\n    cbs[hooks[i]] = [];\n    for (j = 0; j < modules.length; ++j) {\n      if (isDef(modules[j][hooks[i]])) {\n        cbs[hooks[i]].push(modules[j][hooks[i]]);\n      }\n    }\n  }\n\n  function emptyNodeAt (elm) {\n    return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n  }\n\n  function createRmCb (childElm, listeners) {\n    function remove$$1 () {\n      if (--remove$$1.listeners === 0) {\n        removeNode(childElm);\n      }\n    }\n    remove$$1.listeners = listeners;\n    return remove$$1\n  }\n\n  function removeNode (el) {\n    var parent = nodeOps.parentNode(el);\n    // element may have already been removed due to v-html / v-text\n    if (isDef(parent)) {\n      nodeOps.removeChild(parent, el);\n    }\n  }\n\n  function isUnknownElement$$1 (vnode, inVPre) {\n    return (\n      !inVPre &&\n      !vnode.ns &&\n      !(\n        config.ignoredElements.length &&\n        config.ignoredElements.some(function (ignore) {\n          return isRegExp(ignore)\n            ? ignore.test(vnode.tag)\n            : ignore === vnode.tag\n        })\n      ) &&\n      config.isUnknownElement(vnode.tag)\n    )\n  }\n\n  var creatingElmInVPre = 0;\n\n  function createElm (\n    vnode,\n    insertedVnodeQueue,\n    parentElm,\n    refElm,\n    nested,\n    ownerArray,\n    index\n  ) {\n    if (isDef(vnode.elm) && isDef(ownerArray)) {\n      // This vnode was used in a previous render!\n      // now it's used as a new node, overwriting its elm would cause\n      // potential patch errors down the road when it's used as an insertion\n      // reference node. Instead, we clone the node on-demand before creating\n      // associated DOM element for it.\n      vnode = ownerArray[index] = cloneVNode(vnode);\n    }\n\n    vnode.isRootInsert = !nested; // for transition enter check\n    if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n      return\n    }\n\n    var data = vnode.data;\n    var children = vnode.children;\n    var tag = vnode.tag;\n    if (isDef(tag)) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (data && data.pre) {\n          creatingElmInVPre++;\n        }\n        if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n          warn(\n            'Unknown custom element: <' + tag + '> - did you ' +\n            'register the component correctly? For recursive components, ' +\n            'make sure to provide the \"name\" option.',\n            vnode.context\n          );\n        }\n      }\n\n      vnode.elm = vnode.ns\n        ? nodeOps.createElementNS(vnode.ns, tag)\n        : nodeOps.createElement(tag, vnode);\n      setScope(vnode);\n\n      /* istanbul ignore if */\n      {\n        createChildren(vnode, children, insertedVnodeQueue);\n        if (isDef(data)) {\n          invokeCreateHooks(vnode, insertedVnodeQueue);\n        }\n        insert(parentElm, vnode.elm, refElm);\n      }\n\n      if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n        creatingElmInVPre--;\n      }\n    } else if (isTrue(vnode.isComment)) {\n      vnode.elm = nodeOps.createComment(vnode.text);\n      insert(parentElm, vnode.elm, refElm);\n    } else {\n      vnode.elm = nodeOps.createTextNode(vnode.text);\n      insert(parentElm, vnode.elm, refElm);\n    }\n  }\n\n  function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n    var i = vnode.data;\n    if (isDef(i)) {\n      var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n      if (isDef(i = i.hook) && isDef(i = i.init)) {\n        i(vnode, false /* hydrating */);\n      }\n      // after calling the init hook, if the vnode is a child component\n      // it should've created a child instance and mounted it. the child\n      // component also has set the placeholder vnode's elm.\n      // in that case we can just return the element and be done.\n      if (isDef(vnode.componentInstance)) {\n        initComponent(vnode, insertedVnodeQueue);\n        insert(parentElm, vnode.elm, refElm);\n        if (isTrue(isReactivated)) {\n          reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n        }\n        return true\n      }\n    }\n  }\n\n  function initComponent (vnode, insertedVnodeQueue) {\n    if (isDef(vnode.data.pendingInsert)) {\n      insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n      vnode.data.pendingInsert = null;\n    }\n    vnode.elm = vnode.componentInstance.$el;\n    if (isPatchable(vnode)) {\n      invokeCreateHooks(vnode, insertedVnodeQueue);\n      setScope(vnode);\n    } else {\n      // empty component root.\n      // skip all element-related modules except for ref (#3455)\n      registerRef(vnode);\n      // make sure to invoke the insert hook\n      insertedVnodeQueue.push(vnode);\n    }\n  }\n\n  function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n    var i;\n    // hack for #4339: a reactivated component with inner transition\n    // does not trigger because the inner node's created hooks are not called\n    // again. It's not ideal to involve module-specific logic in here but\n    // there doesn't seem to be a better way to do it.\n    var innerNode = vnode;\n    while (innerNode.componentInstance) {\n      innerNode = innerNode.componentInstance._vnode;\n      if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n        for (i = 0; i < cbs.activate.length; ++i) {\n          cbs.activate[i](emptyNode, innerNode);\n        }\n        insertedVnodeQueue.push(innerNode);\n        break\n      }\n    }\n    // unlike a newly created component,\n    // a reactivated keep-alive component doesn't insert itself\n    insert(parentElm, vnode.elm, refElm);\n  }\n\n  function insert (parent, elm, ref$$1) {\n    if (isDef(parent)) {\n      if (isDef(ref$$1)) {\n        if (nodeOps.parentNode(ref$$1) === parent) {\n          nodeOps.insertBefore(parent, elm, ref$$1);\n        }\n      } else {\n        nodeOps.appendChild(parent, elm);\n      }\n    }\n  }\n\n  function createChildren (vnode, children, insertedVnodeQueue) {\n    if (Array.isArray(children)) {\n      if (process.env.NODE_ENV !== 'production') {\n        checkDuplicateKeys(children);\n      }\n      for (var i = 0; i < children.length; ++i) {\n        createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n      }\n    } else if (isPrimitive(vnode.text)) {\n      nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n    }\n  }\n\n  function isPatchable (vnode) {\n    while (vnode.componentInstance) {\n      vnode = vnode.componentInstance._vnode;\n    }\n    return isDef(vnode.tag)\n  }\n\n  function invokeCreateHooks (vnode, insertedVnodeQueue) {\n    for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n      cbs.create[i$1](emptyNode, vnode);\n    }\n    i = vnode.data.hook; // Reuse variable\n    if (isDef(i)) {\n      if (isDef(i.create)) { i.create(emptyNode, vnode); }\n      if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n    }\n  }\n\n  // set scope id attribute for scoped CSS.\n  // this is implemented as a special case to avoid the overhead\n  // of going through the normal attribute patching process.\n  function setScope (vnode) {\n    var i;\n    if (isDef(i = vnode.fnScopeId)) {\n      nodeOps.setStyleScope(vnode.elm, i);\n    } else {\n      var ancestor = vnode;\n      while (ancestor) {\n        if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n          nodeOps.setStyleScope(vnode.elm, i);\n        }\n        ancestor = ancestor.parent;\n      }\n    }\n    // for slot content they should also get the scopeId from the host instance.\n    if (isDef(i = activeInstance) &&\n      i !== vnode.context &&\n      i !== vnode.fnContext &&\n      isDef(i = i.$options._scopeId)\n    ) {\n      nodeOps.setStyleScope(vnode.elm, i);\n    }\n  }\n\n  function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n    for (; startIdx <= endIdx; ++startIdx) {\n      createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n    }\n  }\n\n  function invokeDestroyHook (vnode) {\n    var i, j;\n    var data = vnode.data;\n    if (isDef(data)) {\n      if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n      for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n    }\n    if (isDef(i = vnode.children)) {\n      for (j = 0; j < vnode.children.length; ++j) {\n        invokeDestroyHook(vnode.children[j]);\n      }\n    }\n  }\n\n  function removeVnodes (vnodes, startIdx, endIdx) {\n    for (; startIdx <= endIdx; ++startIdx) {\n      var ch = vnodes[startIdx];\n      if (isDef(ch)) {\n        if (isDef(ch.tag)) {\n          removeAndInvokeRemoveHook(ch);\n          invokeDestroyHook(ch);\n        } else { // Text node\n          removeNode(ch.elm);\n        }\n      }\n    }\n  }\n\n  function removeAndInvokeRemoveHook (vnode, rm) {\n    if (isDef(rm) || isDef(vnode.data)) {\n      var i;\n      var listeners = cbs.remove.length + 1;\n      if (isDef(rm)) {\n        // we have a recursively passed down rm callback\n        // increase the listeners count\n        rm.listeners += listeners;\n      } else {\n        // directly removing\n        rm = createRmCb(vnode.elm, listeners);\n      }\n      // recursively invoke hooks on child component root node\n      if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n        removeAndInvokeRemoveHook(i, rm);\n      }\n      for (i = 0; i < cbs.remove.length; ++i) {\n        cbs.remove[i](vnode, rm);\n      }\n      if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n        i(vnode, rm);\n      } else {\n        rm();\n      }\n    } else {\n      removeNode(vnode.elm);\n    }\n  }\n\n  function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n    var oldStartIdx = 0;\n    var newStartIdx = 0;\n    var oldEndIdx = oldCh.length - 1;\n    var oldStartVnode = oldCh[0];\n    var oldEndVnode = oldCh[oldEndIdx];\n    var newEndIdx = newCh.length - 1;\n    var newStartVnode = newCh[0];\n    var newEndVnode = newCh[newEndIdx];\n    var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n    // removeOnly is a special flag used only by <transition-group>\n    // to ensure removed elements stay in correct relative positions\n    // during leaving transitions\n    var canMove = !removeOnly;\n\n    if (process.env.NODE_ENV !== 'production') {\n      checkDuplicateKeys(newCh);\n    }\n\n    while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n      if (isUndef(oldStartVnode)) {\n        oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n      } else if (isUndef(oldEndVnode)) {\n        oldEndVnode = oldCh[--oldEndIdx];\n      } else if (sameVnode(oldStartVnode, newStartVnode)) {\n        patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n        oldStartVnode = oldCh[++oldStartIdx];\n        newStartVnode = newCh[++newStartIdx];\n      } else if (sameVnode(oldEndVnode, newEndVnode)) {\n        patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n        oldEndVnode = oldCh[--oldEndIdx];\n        newEndVnode = newCh[--newEndIdx];\n      } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n        patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n        canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n        oldStartVnode = oldCh[++oldStartIdx];\n        newEndVnode = newCh[--newEndIdx];\n      } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n        patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n        canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n        oldEndVnode = oldCh[--oldEndIdx];\n        newStartVnode = newCh[++newStartIdx];\n      } else {\n        if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n        idxInOld = isDef(newStartVnode.key)\n          ? oldKeyToIdx[newStartVnode.key]\n          : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n        if (isUndef(idxInOld)) { // New element\n          createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n        } else {\n          vnodeToMove = oldCh[idxInOld];\n          if (sameVnode(vnodeToMove, newStartVnode)) {\n            patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n            oldCh[idxInOld] = undefined;\n            canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n          } else {\n            // same key but different element. treat as new element\n            createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n          }\n        }\n        newStartVnode = newCh[++newStartIdx];\n      }\n    }\n    if (oldStartIdx > oldEndIdx) {\n      refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n      addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n    } else if (newStartIdx > newEndIdx) {\n      removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n    }\n  }\n\n  function checkDuplicateKeys (children) {\n    var seenKeys = {};\n    for (var i = 0; i < children.length; i++) {\n      var vnode = children[i];\n      var key = vnode.key;\n      if (isDef(key)) {\n        if (seenKeys[key]) {\n          warn(\n            (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n            vnode.context\n          );\n        } else {\n          seenKeys[key] = true;\n        }\n      }\n    }\n  }\n\n  function findIdxInOld (node, oldCh, start, end) {\n    for (var i = start; i < end; i++) {\n      var c = oldCh[i];\n      if (isDef(c) && sameVnode(node, c)) { return i }\n    }\n  }\n\n  function patchVnode (\n    oldVnode,\n    vnode,\n    insertedVnodeQueue,\n    ownerArray,\n    index,\n    removeOnly\n  ) {\n    if (oldVnode === vnode) {\n      return\n    }\n\n    if (isDef(vnode.elm) && isDef(ownerArray)) {\n      // clone reused vnode\n      vnode = ownerArray[index] = cloneVNode(vnode);\n    }\n\n    var elm = vnode.elm = oldVnode.elm;\n\n    if (isTrue(oldVnode.isAsyncPlaceholder)) {\n      if (isDef(vnode.asyncFactory.resolved)) {\n        hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n      } else {\n        vnode.isAsyncPlaceholder = true;\n      }\n      return\n    }\n\n    // reuse element for static trees.\n    // note we only do this if the vnode is cloned -\n    // if the new node is not cloned it means the render functions have been\n    // reset by the hot-reload-api and we need to do a proper re-render.\n    if (isTrue(vnode.isStatic) &&\n      isTrue(oldVnode.isStatic) &&\n      vnode.key === oldVnode.key &&\n      (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n    ) {\n      vnode.componentInstance = oldVnode.componentInstance;\n      return\n    }\n\n    var i;\n    var data = vnode.data;\n    if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n      i(oldVnode, vnode);\n    }\n\n    var oldCh = oldVnode.children;\n    var ch = vnode.children;\n    if (isDef(data) && isPatchable(vnode)) {\n      for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n      if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n    }\n    if (isUndef(vnode.text)) {\n      if (isDef(oldCh) && isDef(ch)) {\n        if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n      } else if (isDef(ch)) {\n        if (process.env.NODE_ENV !== 'production') {\n          checkDuplicateKeys(ch);\n        }\n        if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n        addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n      } else if (isDef(oldCh)) {\n        removeVnodes(oldCh, 0, oldCh.length - 1);\n      } else if (isDef(oldVnode.text)) {\n        nodeOps.setTextContent(elm, '');\n      }\n    } else if (oldVnode.text !== vnode.text) {\n      nodeOps.setTextContent(elm, vnode.text);\n    }\n    if (isDef(data)) {\n      if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n    }\n  }\n\n  function invokeInsertHook (vnode, queue, initial) {\n    // delay insert hooks for component root nodes, invoke them after the\n    // element is really inserted\n    if (isTrue(initial) && isDef(vnode.parent)) {\n      vnode.parent.data.pendingInsert = queue;\n    } else {\n      for (var i = 0; i < queue.length; ++i) {\n        queue[i].data.hook.insert(queue[i]);\n      }\n    }\n  }\n\n  var hydrationBailed = false;\n  // list of modules that can skip create hook during hydration because they\n  // are already rendered on the client or has no need for initialization\n  // Note: style is excluded because it relies on initial clone for future\n  // deep updates (#7063).\n  var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n  // Note: this is a browser-only function so we can assume elms are DOM nodes.\n  function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n    var i;\n    var tag = vnode.tag;\n    var data = vnode.data;\n    var children = vnode.children;\n    inVPre = inVPre || (data && data.pre);\n    vnode.elm = elm;\n\n    if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n      vnode.isAsyncPlaceholder = true;\n      return true\n    }\n    // assert node match\n    if (process.env.NODE_ENV !== 'production') {\n      if (!assertNodeMatch(elm, vnode, inVPre)) {\n        return false\n      }\n    }\n    if (isDef(data)) {\n      if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n      if (isDef(i = vnode.componentInstance)) {\n        // child component. it should have hydrated its own tree.\n        initComponent(vnode, insertedVnodeQueue);\n        return true\n      }\n    }\n    if (isDef(tag)) {\n      if (isDef(children)) {\n        // empty element, allow client to pick up and populate children\n        if (!elm.hasChildNodes()) {\n          createChildren(vnode, children, insertedVnodeQueue);\n        } else {\n          // v-html and domProps: innerHTML\n          if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n            if (i !== elm.innerHTML) {\n              /* istanbul ignore if */\n              if (process.env.NODE_ENV !== 'production' &&\n                typeof console !== 'undefined' &&\n                !hydrationBailed\n              ) {\n                hydrationBailed = true;\n                console.warn('Parent: ', elm);\n                console.warn('server innerHTML: ', i);\n                console.warn('client innerHTML: ', elm.innerHTML);\n              }\n              return false\n            }\n          } else {\n            // iterate and compare children lists\n            var childrenMatch = true;\n            var childNode = elm.firstChild;\n            for (var i$1 = 0; i$1 < children.length; i$1++) {\n              if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n                childrenMatch = false;\n                break\n              }\n              childNode = childNode.nextSibling;\n            }\n            // if childNode is not null, it means the actual childNodes list is\n            // longer than the virtual children list.\n            if (!childrenMatch || childNode) {\n              /* istanbul ignore if */\n              if (process.env.NODE_ENV !== 'production' &&\n                typeof console !== 'undefined' &&\n                !hydrationBailed\n              ) {\n                hydrationBailed = true;\n                console.warn('Parent: ', elm);\n                console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n              }\n              return false\n            }\n          }\n        }\n      }\n      if (isDef(data)) {\n        var fullInvoke = false;\n        for (var key in data) {\n          if (!isRenderedModule(key)) {\n            fullInvoke = true;\n            invokeCreateHooks(vnode, insertedVnodeQueue);\n            break\n          }\n        }\n        if (!fullInvoke && data['class']) {\n          // ensure collecting deps for deep class bindings for future updates\n          traverse(data['class']);\n        }\n      }\n    } else if (elm.data !== vnode.text) {\n      elm.data = vnode.text;\n    }\n    return true\n  }\n\n  function assertNodeMatch (node, vnode, inVPre) {\n    if (isDef(vnode.tag)) {\n      return vnode.tag.indexOf('vue-component') === 0 || (\n        !isUnknownElement$$1(vnode, inVPre) &&\n        vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n      )\n    } else {\n      return node.nodeType === (vnode.isComment ? 8 : 3)\n    }\n  }\n\n  return function patch (oldVnode, vnode, hydrating, removeOnly) {\n    if (isUndef(vnode)) {\n      if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n      return\n    }\n\n    var isInitialPatch = false;\n    var insertedVnodeQueue = [];\n\n    if (isUndef(oldVnode)) {\n      // empty mount (likely as component), create new root element\n      isInitialPatch = true;\n      createElm(vnode, insertedVnodeQueue);\n    } else {\n      var isRealElement = isDef(oldVnode.nodeType);\n      if (!isRealElement && sameVnode(oldVnode, vnode)) {\n        // patch existing root node\n        patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n      } else {\n        if (isRealElement) {\n          // mounting to a real element\n          // check if this is server-rendered content and if we can perform\n          // a successful hydration.\n          if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n            oldVnode.removeAttribute(SSR_ATTR);\n            hydrating = true;\n          }\n          if (isTrue(hydrating)) {\n            if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n              invokeInsertHook(vnode, insertedVnodeQueue, true);\n              return oldVnode\n            } else if (process.env.NODE_ENV !== 'production') {\n              warn(\n                'The client-side rendered virtual DOM tree is not matching ' +\n                'server-rendered content. This is likely caused by incorrect ' +\n                'HTML markup, for example nesting block-level elements inside ' +\n                '<p>, or missing <tbody>. Bailing hydration and performing ' +\n                'full client-side render.'\n              );\n            }\n          }\n          // either not server-rendered, or hydration failed.\n          // create an empty node and replace it\n          oldVnode = emptyNodeAt(oldVnode);\n        }\n\n        // replacing existing element\n        var oldElm = oldVnode.elm;\n        var parentElm = nodeOps.parentNode(oldElm);\n\n        // create new node\n        createElm(\n          vnode,\n          insertedVnodeQueue,\n          // extremely rare edge case: do not insert if old element is in a\n          // leaving transition. Only happens when combining transition +\n          // keep-alive + HOCs. (#4590)\n          oldElm._leaveCb ? null : parentElm,\n          nodeOps.nextSibling(oldElm)\n        );\n\n        // update parent placeholder node element, recursively\n        if (isDef(vnode.parent)) {\n          var ancestor = vnode.parent;\n          var patchable = isPatchable(vnode);\n          while (ancestor) {\n            for (var i = 0; i < cbs.destroy.length; ++i) {\n              cbs.destroy[i](ancestor);\n            }\n            ancestor.elm = vnode.elm;\n            if (patchable) {\n              for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n                cbs.create[i$1](emptyNode, ancestor);\n              }\n              // #6513\n              // invoke insert hooks that may have been merged by create hooks.\n              // e.g. for directives that uses the \"inserted\" hook.\n              var insert = ancestor.data.hook.insert;\n              if (insert.merged) {\n                // start at index 1 to avoid re-invoking component mounted hook\n                for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n                  insert.fns[i$2]();\n                }\n              }\n            } else {\n              registerRef(ancestor);\n            }\n            ancestor = ancestor.parent;\n          }\n        }\n\n        // destroy old node\n        if (isDef(parentElm)) {\n          removeVnodes([oldVnode], 0, 0);\n        } else if (isDef(oldVnode.tag)) {\n          invokeDestroyHook(oldVnode);\n        }\n      }\n    }\n\n    invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n    return vnode.elm\n  }\n}\n\n/*  */\n\nvar directives = {\n  create: updateDirectives,\n  update: updateDirectives,\n  destroy: function unbindDirectives (vnode) {\n    updateDirectives(vnode, emptyNode);\n  }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n  if (oldVnode.data.directives || vnode.data.directives) {\n    _update(oldVnode, vnode);\n  }\n}\n\nfunction _update (oldVnode, vnode) {\n  var isCreate = oldVnode === emptyNode;\n  var isDestroy = vnode === emptyNode;\n  var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n  var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n  var dirsWithInsert = [];\n  var dirsWithPostpatch = [];\n\n  var key, oldDir, dir;\n  for (key in newDirs) {\n    oldDir = oldDirs[key];\n    dir = newDirs[key];\n    if (!oldDir) {\n      // new directive, bind\n      callHook$1(dir, 'bind', vnode, oldVnode);\n      if (dir.def && dir.def.inserted) {\n        dirsWithInsert.push(dir);\n      }\n    } else {\n      // existing directive, update\n      dir.oldValue = oldDir.value;\n      dir.oldArg = oldDir.arg;\n      callHook$1(dir, 'update', vnode, oldVnode);\n      if (dir.def && dir.def.componentUpdated) {\n        dirsWithPostpatch.push(dir);\n      }\n    }\n  }\n\n  if (dirsWithInsert.length) {\n    var callInsert = function () {\n      for (var i = 0; i < dirsWithInsert.length; i++) {\n        callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n      }\n    };\n    if (isCreate) {\n      mergeVNodeHook(vnode, 'insert', callInsert);\n    } else {\n      callInsert();\n    }\n  }\n\n  if (dirsWithPostpatch.length) {\n    mergeVNodeHook(vnode, 'postpatch', function () {\n      for (var i = 0; i < dirsWithPostpatch.length; i++) {\n        callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n      }\n    });\n  }\n\n  if (!isCreate) {\n    for (key in oldDirs) {\n      if (!newDirs[key]) {\n        // no longer present, unbind\n        callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n      }\n    }\n  }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n  dirs,\n  vm\n) {\n  var res = Object.create(null);\n  if (!dirs) {\n    // $flow-disable-line\n    return res\n  }\n  var i, dir;\n  for (i = 0; i < dirs.length; i++) {\n    dir = dirs[i];\n    if (!dir.modifiers) {\n      // $flow-disable-line\n      dir.modifiers = emptyModifiers;\n    }\n    res[getRawDirName(dir)] = dir;\n    dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n  }\n  // $flow-disable-line\n  return res\n}\n\nfunction getRawDirName (dir) {\n  return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n  var fn = dir.def && dir.def[hook];\n  if (fn) {\n    try {\n      fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n    } catch (e) {\n      handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n    }\n  }\n}\n\nvar baseModules = [\n  ref,\n  directives\n];\n\n/*  */\n\nfunction updateAttrs (oldVnode, vnode) {\n  var opts = vnode.componentOptions;\n  if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n    return\n  }\n  if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n    return\n  }\n  var key, cur, old;\n  var elm = vnode.elm;\n  var oldAttrs = oldVnode.data.attrs || {};\n  var attrs = vnode.data.attrs || {};\n  // clone observed objects, as the user probably wants to mutate it\n  if (isDef(attrs.__ob__)) {\n    attrs = vnode.data.attrs = extend({}, attrs);\n  }\n\n  for (key in attrs) {\n    cur = attrs[key];\n    old = oldAttrs[key];\n    if (old !== cur) {\n      setAttr(elm, key, cur, vnode.data.pre);\n    }\n  }\n  // #4391: in IE9, setting type can reset value for input[type=radio]\n  // #6666: IE/Edge forces progress value down to 1 before setting a max\n  /* istanbul ignore if */\n  if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n    setAttr(elm, 'value', attrs.value);\n  }\n  for (key in oldAttrs) {\n    if (isUndef(attrs[key])) {\n      if (isXlink(key)) {\n        elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n      } else if (!isEnumeratedAttr(key)) {\n        elm.removeAttribute(key);\n      }\n    }\n  }\n}\n\nfunction setAttr (el, key, value, isInPre) {\n  if (isInPre || el.tagName.indexOf('-') > -1) {\n    baseSetAttr(el, key, value);\n  } else if (isBooleanAttr(key)) {\n    // set attribute for blank value\n    // e.g. <option disabled>Select one</option>\n    if (isFalsyAttrValue(value)) {\n      el.removeAttribute(key);\n    } else {\n      // technically allowfullscreen is a boolean attribute for <iframe>,\n      // but Flash expects a value of \"true\" when used on <embed> tag\n      value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n        ? 'true'\n        : key;\n      el.setAttribute(key, value);\n    }\n  } else if (isEnumeratedAttr(key)) {\n    el.setAttribute(key, convertEnumeratedValue(key, value));\n  } else if (isXlink(key)) {\n    if (isFalsyAttrValue(value)) {\n      el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n    } else {\n      el.setAttributeNS(xlinkNS, key, value);\n    }\n  } else {\n    baseSetAttr(el, key, value);\n  }\n}\n\nfunction baseSetAttr (el, key, value) {\n  if (isFalsyAttrValue(value)) {\n    el.removeAttribute(key);\n  } else {\n    // #7138: IE10 & 11 fires input event when setting placeholder on\n    // <textarea>... block the first input event and remove the blocker\n    // immediately.\n    /* istanbul ignore if */\n    if (\n      isIE && !isIE9 &&\n      el.tagName === 'TEXTAREA' &&\n      key === 'placeholder' && value !== '' && !el.__ieph\n    ) {\n      var blocker = function (e) {\n        e.stopImmediatePropagation();\n        el.removeEventListener('input', blocker);\n      };\n      el.addEventListener('input', blocker);\n      // $flow-disable-line\n      el.__ieph = true; /* IE placeholder patched */\n    }\n    el.setAttribute(key, value);\n  }\n}\n\nvar attrs = {\n  create: updateAttrs,\n  update: updateAttrs\n};\n\n/*  */\n\nfunction updateClass (oldVnode, vnode) {\n  var el = vnode.elm;\n  var data = vnode.data;\n  var oldData = oldVnode.data;\n  if (\n    isUndef(data.staticClass) &&\n    isUndef(data.class) && (\n      isUndef(oldData) || (\n        isUndef(oldData.staticClass) &&\n        isUndef(oldData.class)\n      )\n    )\n  ) {\n    return\n  }\n\n  var cls = genClassForVnode(vnode);\n\n  // handle transition classes\n  var transitionClass = el._transitionClasses;\n  if (isDef(transitionClass)) {\n    cls = concat(cls, stringifyClass(transitionClass));\n  }\n\n  // set the class\n  if (cls !== el._prevClass) {\n    el.setAttribute('class', cls);\n    el._prevClass = cls;\n  }\n}\n\nvar klass = {\n  create: updateClass,\n  update: updateClass\n};\n\n/*  */\n\n/*  */\n\n/*  */\n\n/*  */\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\n/*  */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n  /* istanbul ignore if */\n  if (isDef(on[RANGE_TOKEN])) {\n    // IE input[type=range] only supports `change` event\n    var event = isIE ? 'change' : 'input';\n    on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n    delete on[RANGE_TOKEN];\n  }\n  // This was originally intended to fix #4521 but no longer necessary\n  // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n  /* istanbul ignore if */\n  if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n    on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n    delete on[CHECKBOX_RADIO_TOKEN];\n  }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n  var _target = target$1; // save current target element in closure\n  return function onceHandler () {\n    var res = handler.apply(null, arguments);\n    if (res !== null) {\n      remove$2(event, onceHandler, capture, _target);\n    }\n  }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n  name,\n  handler,\n  capture,\n  passive\n) {\n  // async edge case #6566: inner click event triggers patch, event handler\n  // attached to outer element during patch, and triggered again. This\n  // happens because browsers fire microtask ticks between event propagation.\n  // the solution is simple: we save the timestamp when a handler is attached,\n  // and the handler would only fire if the event passed to it was fired\n  // AFTER it was attached.\n  if (useMicrotaskFix) {\n    var attachedTimestamp = currentFlushTimestamp;\n    var original = handler;\n    handler = original._wrapper = function (e) {\n      if (\n        // no bubbling, should always fire.\n        // this is just a safety net in case event.timeStamp is unreliable in\n        // certain weird environments...\n        e.target === e.currentTarget ||\n        // event is fired after handler attachment\n        e.timeStamp >= attachedTimestamp ||\n        // bail for environments that have buggy event.timeStamp implementations\n        // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n        // #9681 QtWebEngine event.timeStamp is negative value\n        e.timeStamp <= 0 ||\n        // #9448 bail if event is fired in another document in a multi-page\n        // electron/nw.js app, since event.timeStamp will be using a different\n        // starting reference\n        e.target.ownerDocument !== document\n      ) {\n        return original.apply(this, arguments)\n      }\n    };\n  }\n  target$1.addEventListener(\n    name,\n    handler,\n    supportsPassive\n      ? { capture: capture, passive: passive }\n      : capture\n  );\n}\n\nfunction remove$2 (\n  name,\n  handler,\n  capture,\n  _target\n) {\n  (_target || target$1).removeEventListener(\n    name,\n    handler._wrapper || handler,\n    capture\n  );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n  if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n    return\n  }\n  var on = vnode.data.on || {};\n  var oldOn = oldVnode.data.on || {};\n  target$1 = vnode.elm;\n  normalizeEvents(on);\n  updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n  target$1 = undefined;\n}\n\nvar events = {\n  create: updateDOMListeners,\n  update: updateDOMListeners\n};\n\n/*  */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n  if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n    return\n  }\n  var key, cur;\n  var elm = vnode.elm;\n  var oldProps = oldVnode.data.domProps || {};\n  var props = vnode.data.domProps || {};\n  // clone observed objects, as the user probably wants to mutate it\n  if (isDef(props.__ob__)) {\n    props = vnode.data.domProps = extend({}, props);\n  }\n\n  for (key in oldProps) {\n    if (!(key in props)) {\n      elm[key] = '';\n    }\n  }\n\n  for (key in props) {\n    cur = props[key];\n    // ignore children if the node has textContent or innerHTML,\n    // as these will throw away existing DOM nodes and cause removal errors\n    // on subsequent patches (#3360)\n    if (key === 'textContent' || key === 'innerHTML') {\n      if (vnode.children) { vnode.children.length = 0; }\n      if (cur === oldProps[key]) { continue }\n      // #6601 work around Chrome version <= 55 bug where single textNode\n      // replaced by innerHTML/textContent retains its parentNode property\n      if (elm.childNodes.length === 1) {\n        elm.removeChild(elm.childNodes[0]);\n      }\n    }\n\n    if (key === 'value' && elm.tagName !== 'PROGRESS') {\n      // store value as _value as well since\n      // non-string values will be stringified\n      elm._value = cur;\n      // avoid resetting cursor position when value is the same\n      var strCur = isUndef(cur) ? '' : String(cur);\n      if (shouldUpdateValue(elm, strCur)) {\n        elm.value = strCur;\n      }\n    } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n      // IE doesn't support innerHTML for SVG elements\n      svgContainer = svgContainer || document.createElement('div');\n      svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n      var svg = svgContainer.firstChild;\n      while (elm.firstChild) {\n        elm.removeChild(elm.firstChild);\n      }\n      while (svg.firstChild) {\n        elm.appendChild(svg.firstChild);\n      }\n    } else if (\n      // skip the update if old and new VDOM state is the same.\n      // `value` is handled separately because the DOM value may be temporarily\n      // out of sync with VDOM state due to focus, composition and modifiers.\n      // This  #4521 by skipping the unnecessary `checked` update.\n      cur !== oldProps[key]\n    ) {\n      // some property updates can throw\n      // e.g. `value` on <progress> w/ non-finite value\n      try {\n        elm[key] = cur;\n      } catch (e) {}\n    }\n  }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n  return (!elm.composing && (\n    elm.tagName === 'OPTION' ||\n    isNotInFocusAndDirty(elm, checkVal) ||\n    isDirtyWithModifiers(elm, checkVal)\n  ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n  // return true when textbox (.number and .trim) loses focus and its value is\n  // not equal to the updated value\n  var notInFocus = true;\n  // #6157\n  // work around IE bug when accessing document.activeElement in an iframe\n  try { notInFocus = document.activeElement !== elm; } catch (e) {}\n  return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n  var value = elm.value;\n  var modifiers = elm._vModifiers; // injected by v-model runtime\n  if (isDef(modifiers)) {\n    if (modifiers.number) {\n      return toNumber(value) !== toNumber(newVal)\n    }\n    if (modifiers.trim) {\n      return value.trim() !== newVal.trim()\n    }\n  }\n  return value !== newVal\n}\n\nvar domProps = {\n  create: updateDOMProps,\n  update: updateDOMProps\n};\n\n/*  */\n\nvar parseStyleText = cached(function (cssText) {\n  var res = {};\n  var listDelimiter = /;(?![^(]*\\))/g;\n  var propertyDelimiter = /:(.+)/;\n  cssText.split(listDelimiter).forEach(function (item) {\n    if (item) {\n      var tmp = item.split(propertyDelimiter);\n      tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n    }\n  });\n  return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n  var style = normalizeStyleBinding(data.style);\n  // static style is pre-processed into an object during compilation\n  // and is always a fresh object, so it's safe to merge into it\n  return data.staticStyle\n    ? extend(data.staticStyle, style)\n    : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n  if (Array.isArray(bindingStyle)) {\n    return toObject(bindingStyle)\n  }\n  if (typeof bindingStyle === 'string') {\n    return parseStyleText(bindingStyle)\n  }\n  return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n  var res = {};\n  var styleData;\n\n  if (checkChild) {\n    var childNode = vnode;\n    while (childNode.componentInstance) {\n      childNode = childNode.componentInstance._vnode;\n      if (\n        childNode && childNode.data &&\n        (styleData = normalizeStyleData(childNode.data))\n      ) {\n        extend(res, styleData);\n      }\n    }\n  }\n\n  if ((styleData = normalizeStyleData(vnode.data))) {\n    extend(res, styleData);\n  }\n\n  var parentNode = vnode;\n  while ((parentNode = parentNode.parent)) {\n    if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n      extend(res, styleData);\n    }\n  }\n  return res\n}\n\n/*  */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n  /* istanbul ignore if */\n  if (cssVarRE.test(name)) {\n    el.style.setProperty(name, val);\n  } else if (importantRE.test(val)) {\n    el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n  } else {\n    var normalizedName = normalize(name);\n    if (Array.isArray(val)) {\n      // Support values array created by autoprefixer, e.g.\n      // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n      // Set them one by one, and the browser will only set those it can recognize\n      for (var i = 0, len = val.length; i < len; i++) {\n        el.style[normalizedName] = val[i];\n      }\n    } else {\n      el.style[normalizedName] = val;\n    }\n  }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n  emptyStyle = emptyStyle || document.createElement('div').style;\n  prop = camelize(prop);\n  if (prop !== 'filter' && (prop in emptyStyle)) {\n    return prop\n  }\n  var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n  for (var i = 0; i < vendorNames.length; i++) {\n    var name = vendorNames[i] + capName;\n    if (name in emptyStyle) {\n      return name\n    }\n  }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n  var data = vnode.data;\n  var oldData = oldVnode.data;\n\n  if (isUndef(data.staticStyle) && isUndef(data.style) &&\n    isUndef(oldData.staticStyle) && isUndef(oldData.style)\n  ) {\n    return\n  }\n\n  var cur, name;\n  var el = vnode.elm;\n  var oldStaticStyle = oldData.staticStyle;\n  var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n  // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n  var oldStyle = oldStaticStyle || oldStyleBinding;\n\n  var style = normalizeStyleBinding(vnode.data.style) || {};\n\n  // store normalized style under a different key for next diff\n  // make sure to clone it if it's reactive, since the user likely wants\n  // to mutate it.\n  vnode.data.normalizedStyle = isDef(style.__ob__)\n    ? extend({}, style)\n    : style;\n\n  var newStyle = getStyle(vnode, true);\n\n  for (name in oldStyle) {\n    if (isUndef(newStyle[name])) {\n      setProp(el, name, '');\n    }\n  }\n  for (name in newStyle) {\n    cur = newStyle[name];\n    if (cur !== oldStyle[name]) {\n      // ie9 setting to null has no effect, must use empty string\n      setProp(el, name, cur == null ? '' : cur);\n    }\n  }\n}\n\nvar style = {\n  create: updateStyle,\n  update: updateStyle\n};\n\n/*  */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n  /* istanbul ignore if */\n  if (!cls || !(cls = cls.trim())) {\n    return\n  }\n\n  /* istanbul ignore else */\n  if (el.classList) {\n    if (cls.indexOf(' ') > -1) {\n      cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n    } else {\n      el.classList.add(cls);\n    }\n  } else {\n    var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n    if (cur.indexOf(' ' + cls + ' ') < 0) {\n      el.setAttribute('class', (cur + cls).trim());\n    }\n  }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n  /* istanbul ignore if */\n  if (!cls || !(cls = cls.trim())) {\n    return\n  }\n\n  /* istanbul ignore else */\n  if (el.classList) {\n    if (cls.indexOf(' ') > -1) {\n      cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n    } else {\n      el.classList.remove(cls);\n    }\n    if (!el.classList.length) {\n      el.removeAttribute('class');\n    }\n  } else {\n    var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n    var tar = ' ' + cls + ' ';\n    while (cur.indexOf(tar) >= 0) {\n      cur = cur.replace(tar, ' ');\n    }\n    cur = cur.trim();\n    if (cur) {\n      el.setAttribute('class', cur);\n    } else {\n      el.removeAttribute('class');\n    }\n  }\n}\n\n/*  */\n\nfunction resolveTransition (def$$1) {\n  if (!def$$1) {\n    return\n  }\n  /* istanbul ignore else */\n  if (typeof def$$1 === 'object') {\n    var res = {};\n    if (def$$1.css !== false) {\n      extend(res, autoCssTransition(def$$1.name || 'v'));\n    }\n    extend(res, def$$1);\n    return res\n  } else if (typeof def$$1 === 'string') {\n    return autoCssTransition(def$$1)\n  }\n}\n\nvar autoCssTransition = cached(function (name) {\n  return {\n    enterClass: (name + \"-enter\"),\n    enterToClass: (name + \"-enter-to\"),\n    enterActiveClass: (name + \"-enter-active\"),\n    leaveClass: (name + \"-leave\"),\n    leaveToClass: (name + \"-leave-to\"),\n    leaveActiveClass: (name + \"-leave-active\")\n  }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n  /* istanbul ignore if */\n  if (window.ontransitionend === undefined &&\n    window.onwebkittransitionend !== undefined\n  ) {\n    transitionProp = 'WebkitTransition';\n    transitionEndEvent = 'webkitTransitionEnd';\n  }\n  if (window.onanimationend === undefined &&\n    window.onwebkitanimationend !== undefined\n  ) {\n    animationProp = 'WebkitAnimation';\n    animationEndEvent = 'webkitAnimationEnd';\n  }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n  ? window.requestAnimationFrame\n    ? window.requestAnimationFrame.bind(window)\n    : setTimeout\n  : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n  raf(function () {\n    raf(fn);\n  });\n}\n\nfunction addTransitionClass (el, cls) {\n  var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n  if (transitionClasses.indexOf(cls) < 0) {\n    transitionClasses.push(cls);\n    addClass(el, cls);\n  }\n}\n\nfunction removeTransitionClass (el, cls) {\n  if (el._transitionClasses) {\n    remove(el._transitionClasses, cls);\n  }\n  removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n  el,\n  expectedType,\n  cb\n) {\n  var ref = getTransitionInfo(el, expectedType);\n  var type = ref.type;\n  var timeout = ref.timeout;\n  var propCount = ref.propCount;\n  if (!type) { return cb() }\n  var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n  var ended = 0;\n  var end = function () {\n    el.removeEventListener(event, onEnd);\n    cb();\n  };\n  var onEnd = function (e) {\n    if (e.target === el) {\n      if (++ended >= propCount) {\n        end();\n      }\n    }\n  };\n  setTimeout(function () {\n    if (ended < propCount) {\n      end();\n    }\n  }, timeout + 1);\n  el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n  var styles = window.getComputedStyle(el);\n  // JSDOM may return undefined for transition properties\n  var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n  var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n  var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n  var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n  var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n  var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n  var type;\n  var timeout = 0;\n  var propCount = 0;\n  /* istanbul ignore if */\n  if (expectedType === TRANSITION) {\n    if (transitionTimeout > 0) {\n      type = TRANSITION;\n      timeout = transitionTimeout;\n      propCount = transitionDurations.length;\n    }\n  } else if (expectedType === ANIMATION) {\n    if (animationTimeout > 0) {\n      type = ANIMATION;\n      timeout = animationTimeout;\n      propCount = animationDurations.length;\n    }\n  } else {\n    timeout = Math.max(transitionTimeout, animationTimeout);\n    type = timeout > 0\n      ? transitionTimeout > animationTimeout\n        ? TRANSITION\n        : ANIMATION\n      : null;\n    propCount = type\n      ? type === TRANSITION\n        ? transitionDurations.length\n        : animationDurations.length\n      : 0;\n  }\n  var hasTransform =\n    type === TRANSITION &&\n    transformRE.test(styles[transitionProp + 'Property']);\n  return {\n    type: type,\n    timeout: timeout,\n    propCount: propCount,\n    hasTransform: hasTransform\n  }\n}\n\nfunction getTimeout (delays, durations) {\n  /* istanbul ignore next */\n  while (delays.length < durations.length) {\n    delays = delays.concat(delays);\n  }\n\n  return Math.max.apply(null, durations.map(function (d, i) {\n    return toMs(d) + toMs(delays[i])\n  }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n  return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/*  */\n\nfunction enter (vnode, toggleDisplay) {\n  var el = vnode.elm;\n\n  // call leave callback now\n  if (isDef(el._leaveCb)) {\n    el._leaveCb.cancelled = true;\n    el._leaveCb();\n  }\n\n  var data = resolveTransition(vnode.data.transition);\n  if (isUndef(data)) {\n    return\n  }\n\n  /* istanbul ignore if */\n  if (isDef(el._enterCb) || el.nodeType !== 1) {\n    return\n  }\n\n  var css = data.css;\n  var type = data.type;\n  var enterClass = data.enterClass;\n  var enterToClass = data.enterToClass;\n  var enterActiveClass = data.enterActiveClass;\n  var appearClass = data.appearClass;\n  var appearToClass = data.appearToClass;\n  var appearActiveClass = data.appearActiveClass;\n  var beforeEnter = data.beforeEnter;\n  var enter = data.enter;\n  var afterEnter = data.afterEnter;\n  var enterCancelled = data.enterCancelled;\n  var beforeAppear = data.beforeAppear;\n  var appear = data.appear;\n  var afterAppear = data.afterAppear;\n  var appearCancelled = data.appearCancelled;\n  var duration = data.duration;\n\n  // activeInstance will always be the <transition> component managing this\n  // transition. One edge case to check is when the <transition> is placed\n  // as the root node of a child component. In that case we need to check\n  // <transition>'s parent for appear check.\n  var context = activeInstance;\n  var transitionNode = activeInstance.$vnode;\n  while (transitionNode && transitionNode.parent) {\n    context = transitionNode.context;\n    transitionNode = transitionNode.parent;\n  }\n\n  var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n  if (isAppear && !appear && appear !== '') {\n    return\n  }\n\n  var startClass = isAppear && appearClass\n    ? appearClass\n    : enterClass;\n  var activeClass = isAppear && appearActiveClass\n    ? appearActiveClass\n    : enterActiveClass;\n  var toClass = isAppear && appearToClass\n    ? appearToClass\n    : enterToClass;\n\n  var beforeEnterHook = isAppear\n    ? (beforeAppear || beforeEnter)\n    : beforeEnter;\n  var enterHook = isAppear\n    ? (typeof appear === 'function' ? appear : enter)\n    : enter;\n  var afterEnterHook = isAppear\n    ? (afterAppear || afterEnter)\n    : afterEnter;\n  var enterCancelledHook = isAppear\n    ? (appearCancelled || enterCancelled)\n    : enterCancelled;\n\n  var explicitEnterDuration = toNumber(\n    isObject(duration)\n      ? duration.enter\n      : duration\n  );\n\n  if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n    checkDuration(explicitEnterDuration, 'enter', vnode);\n  }\n\n  var expectsCSS = css !== false && !isIE9;\n  var userWantsControl = getHookArgumentsLength(enterHook);\n\n  var cb = el._enterCb = once(function () {\n    if (expectsCSS) {\n      removeTransitionClass(el, toClass);\n      removeTransitionClass(el, activeClass);\n    }\n    if (cb.cancelled) {\n      if (expectsCSS) {\n        removeTransitionClass(el, startClass);\n      }\n      enterCancelledHook && enterCancelledHook(el);\n    } else {\n      afterEnterHook && afterEnterHook(el);\n    }\n    el._enterCb = null;\n  });\n\n  if (!vnode.data.show) {\n    // remove pending leave element on enter by injecting an insert hook\n    mergeVNodeHook(vnode, 'insert', function () {\n      var parent = el.parentNode;\n      var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n      if (pendingNode &&\n        pendingNode.tag === vnode.tag &&\n        pendingNode.elm._leaveCb\n      ) {\n        pendingNode.elm._leaveCb();\n      }\n      enterHook && enterHook(el, cb);\n    });\n  }\n\n  // start enter transition\n  beforeEnterHook && beforeEnterHook(el);\n  if (expectsCSS) {\n    addTransitionClass(el, startClass);\n    addTransitionClass(el, activeClass);\n    nextFrame(function () {\n      removeTransitionClass(el, startClass);\n      if (!cb.cancelled) {\n        addTransitionClass(el, toClass);\n        if (!userWantsControl) {\n          if (isValidDuration(explicitEnterDuration)) {\n            setTimeout(cb, explicitEnterDuration);\n          } else {\n            whenTransitionEnds(el, type, cb);\n          }\n        }\n      }\n    });\n  }\n\n  if (vnode.data.show) {\n    toggleDisplay && toggleDisplay();\n    enterHook && enterHook(el, cb);\n  }\n\n  if (!expectsCSS && !userWantsControl) {\n    cb();\n  }\n}\n\nfunction leave (vnode, rm) {\n  var el = vnode.elm;\n\n  // call enter callback now\n  if (isDef(el._enterCb)) {\n    el._enterCb.cancelled = true;\n    el._enterCb();\n  }\n\n  var data = resolveTransition(vnode.data.transition);\n  if (isUndef(data) || el.nodeType !== 1) {\n    return rm()\n  }\n\n  /* istanbul ignore if */\n  if (isDef(el._leaveCb)) {\n    return\n  }\n\n  var css = data.css;\n  var type = data.type;\n  var leaveClass = data.leaveClass;\n  var leaveToClass = data.leaveToClass;\n  var leaveActiveClass = data.leaveActiveClass;\n  var beforeLeave = data.beforeLeave;\n  var leave = data.leave;\n  var afterLeave = data.afterLeave;\n  var leaveCancelled = data.leaveCancelled;\n  var delayLeave = data.delayLeave;\n  var duration = data.duration;\n\n  var expectsCSS = css !== false && !isIE9;\n  var userWantsControl = getHookArgumentsLength(leave);\n\n  var explicitLeaveDuration = toNumber(\n    isObject(duration)\n      ? duration.leave\n      : duration\n  );\n\n  if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n    checkDuration(explicitLeaveDuration, 'leave', vnode);\n  }\n\n  var cb = el._leaveCb = once(function () {\n    if (el.parentNode && el.parentNode._pending) {\n      el.parentNode._pending[vnode.key] = null;\n    }\n    if (expectsCSS) {\n      removeTransitionClass(el, leaveToClass);\n      removeTransitionClass(el, leaveActiveClass);\n    }\n    if (cb.cancelled) {\n      if (expectsCSS) {\n        removeTransitionClass(el, leaveClass);\n      }\n      leaveCancelled && leaveCancelled(el);\n    } else {\n      rm();\n      afterLeave && afterLeave(el);\n    }\n    el._leaveCb = null;\n  });\n\n  if (delayLeave) {\n    delayLeave(performLeave);\n  } else {\n    performLeave();\n  }\n\n  function performLeave () {\n    // the delayed leave may have already been cancelled\n    if (cb.cancelled) {\n      return\n    }\n    // record leaving element\n    if (!vnode.data.show && el.parentNode) {\n      (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n    }\n    beforeLeave && beforeLeave(el);\n    if (expectsCSS) {\n      addTransitionClass(el, leaveClass);\n      addTransitionClass(el, leaveActiveClass);\n      nextFrame(function () {\n        removeTransitionClass(el, leaveClass);\n        if (!cb.cancelled) {\n          addTransitionClass(el, leaveToClass);\n          if (!userWantsControl) {\n            if (isValidDuration(explicitLeaveDuration)) {\n              setTimeout(cb, explicitLeaveDuration);\n            } else {\n              whenTransitionEnds(el, type, cb);\n            }\n          }\n        }\n      });\n    }\n    leave && leave(el, cb);\n    if (!expectsCSS && !userWantsControl) {\n      cb();\n    }\n  }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n  if (typeof val !== 'number') {\n    warn(\n      \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n      \"got \" + (JSON.stringify(val)) + \".\",\n      vnode.context\n    );\n  } else if (isNaN(val)) {\n    warn(\n      \"<transition> explicit \" + name + \" duration is NaN - \" +\n      'the duration expression might be incorrect.',\n      vnode.context\n    );\n  }\n}\n\nfunction isValidDuration (val) {\n  return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n  if (isUndef(fn)) {\n    return false\n  }\n  var invokerFns = fn.fns;\n  if (isDef(invokerFns)) {\n    // invoker\n    return getHookArgumentsLength(\n      Array.isArray(invokerFns)\n        ? invokerFns[0]\n        : invokerFns\n    )\n  } else {\n    return (fn._length || fn.length) > 1\n  }\n}\n\nfunction _enter (_, vnode) {\n  if (vnode.data.show !== true) {\n    enter(vnode);\n  }\n}\n\nvar transition = inBrowser ? {\n  create: _enter,\n  activate: _enter,\n  remove: function remove$$1 (vnode, rm) {\n    /* istanbul ignore else */\n    if (vnode.data.show !== true) {\n      leave(vnode, rm);\n    } else {\n      rm();\n    }\n  }\n} : {};\n\nvar platformModules = [\n  attrs,\n  klass,\n  events,\n  domProps,\n  style,\n  transition\n];\n\n/*  */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n  // http://www.matts411.com/post/internet-explorer-9-oninput/\n  document.addEventListener('selectionchange', function () {\n    var el = document.activeElement;\n    if (el && el.vmodel) {\n      trigger(el, 'input');\n    }\n  });\n}\n\nvar directive = {\n  inserted: function inserted (el, binding, vnode, oldVnode) {\n    if (vnode.tag === 'select') {\n      // #6903\n      if (oldVnode.elm && !oldVnode.elm._vOptions) {\n        mergeVNodeHook(vnode, 'postpatch', function () {\n          directive.componentUpdated(el, binding, vnode);\n        });\n      } else {\n        setSelected(el, binding, vnode.context);\n      }\n      el._vOptions = [].map.call(el.options, getValue);\n    } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n      el._vModifiers = binding.modifiers;\n      if (!binding.modifiers.lazy) {\n        el.addEventListener('compositionstart', onCompositionStart);\n        el.addEventListener('compositionend', onCompositionEnd);\n        // Safari < 10.2 & UIWebView doesn't fire compositionend when\n        // switching focus before confirming composition choice\n        // this also fixes the issue where some browsers e.g. iOS Chrome\n        // fires \"change\" instead of \"input\" on autocomplete.\n        el.addEventListener('change', onCompositionEnd);\n        /* istanbul ignore if */\n        if (isIE9) {\n          el.vmodel = true;\n        }\n      }\n    }\n  },\n\n  componentUpdated: function componentUpdated (el, binding, vnode) {\n    if (vnode.tag === 'select') {\n      setSelected(el, binding, vnode.context);\n      // in case the options rendered by v-for have changed,\n      // it's possible that the value is out-of-sync with the rendered options.\n      // detect such cases and filter out values that no longer has a matching\n      // option in the DOM.\n      var prevOptions = el._vOptions;\n      var curOptions = el._vOptions = [].map.call(el.options, getValue);\n      if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n        // trigger change event if\n        // no matching option found for at least one value\n        var needReset = el.multiple\n          ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n          : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n        if (needReset) {\n          trigger(el, 'change');\n        }\n      }\n    }\n  }\n};\n\nfunction setSelected (el, binding, vm) {\n  actuallySetSelected(el, binding, vm);\n  /* istanbul ignore if */\n  if (isIE || isEdge) {\n    setTimeout(function () {\n      actuallySetSelected(el, binding, vm);\n    }, 0);\n  }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n  var value = binding.value;\n  var isMultiple = el.multiple;\n  if (isMultiple && !Array.isArray(value)) {\n    process.env.NODE_ENV !== 'production' && warn(\n      \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n      \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n      vm\n    );\n    return\n  }\n  var selected, option;\n  for (var i = 0, l = el.options.length; i < l; i++) {\n    option = el.options[i];\n    if (isMultiple) {\n      selected = looseIndexOf(value, getValue(option)) > -1;\n      if (option.selected !== selected) {\n        option.selected = selected;\n      }\n    } else {\n      if (looseEqual(getValue(option), value)) {\n        if (el.selectedIndex !== i) {\n          el.selectedIndex = i;\n        }\n        return\n      }\n    }\n  }\n  if (!isMultiple) {\n    el.selectedIndex = -1;\n  }\n}\n\nfunction hasNoMatchingOption (value, options) {\n  return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n  return '_value' in option\n    ? option._value\n    : option.value\n}\n\nfunction onCompositionStart (e) {\n  e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n  // prevent triggering an input event for no reason\n  if (!e.target.composing) { return }\n  e.target.composing = false;\n  trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n  var e = document.createEvent('HTMLEvents');\n  e.initEvent(type, true, true);\n  el.dispatchEvent(e);\n}\n\n/*  */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n  return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n    ? locateNode(vnode.componentInstance._vnode)\n    : vnode\n}\n\nvar show = {\n  bind: function bind (el, ref, vnode) {\n    var value = ref.value;\n\n    vnode = locateNode(vnode);\n    var transition$$1 = vnode.data && vnode.data.transition;\n    var originalDisplay = el.__vOriginalDisplay =\n      el.style.display === 'none' ? '' : el.style.display;\n    if (value && transition$$1) {\n      vnode.data.show = true;\n      enter(vnode, function () {\n        el.style.display = originalDisplay;\n      });\n    } else {\n      el.style.display = value ? originalDisplay : 'none';\n    }\n  },\n\n  update: function update (el, ref, vnode) {\n    var value = ref.value;\n    var oldValue = ref.oldValue;\n\n    /* istanbul ignore if */\n    if (!value === !oldValue) { return }\n    vnode = locateNode(vnode);\n    var transition$$1 = vnode.data && vnode.data.transition;\n    if (transition$$1) {\n      vnode.data.show = true;\n      if (value) {\n        enter(vnode, function () {\n          el.style.display = el.__vOriginalDisplay;\n        });\n      } else {\n        leave(vnode, function () {\n          el.style.display = 'none';\n        });\n      }\n    } else {\n      el.style.display = value ? el.__vOriginalDisplay : 'none';\n    }\n  },\n\n  unbind: function unbind (\n    el,\n    binding,\n    vnode,\n    oldVnode,\n    isDestroy\n  ) {\n    if (!isDestroy) {\n      el.style.display = el.__vOriginalDisplay;\n    }\n  }\n};\n\nvar platformDirectives = {\n  model: directive,\n  show: show\n};\n\n/*  */\n\nvar transitionProps = {\n  name: String,\n  appear: Boolean,\n  css: Boolean,\n  mode: String,\n  type: String,\n  enterClass: String,\n  leaveClass: String,\n  enterToClass: String,\n  leaveToClass: String,\n  enterActiveClass: String,\n  leaveActiveClass: String,\n  appearClass: String,\n  appearActiveClass: String,\n  appearToClass: String,\n  duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n  var compOptions = vnode && vnode.componentOptions;\n  if (compOptions && compOptions.Ctor.options.abstract) {\n    return getRealChild(getFirstComponentChild(compOptions.children))\n  } else {\n    return vnode\n  }\n}\n\nfunction extractTransitionData (comp) {\n  var data = {};\n  var options = comp.$options;\n  // props\n  for (var key in options.propsData) {\n    data[key] = comp[key];\n  }\n  // events.\n  // extract listeners and pass them directly to the transition methods\n  var listeners = options._parentListeners;\n  for (var key$1 in listeners) {\n    data[camelize(key$1)] = listeners[key$1];\n  }\n  return data\n}\n\nfunction placeholder (h, rawChild) {\n  if (/\\d-keep-alive$/.test(rawChild.tag)) {\n    return h('keep-alive', {\n      props: rawChild.componentOptions.propsData\n    })\n  }\n}\n\nfunction hasParentTransition (vnode) {\n  while ((vnode = vnode.parent)) {\n    if (vnode.data.transition) {\n      return true\n    }\n  }\n}\n\nfunction isSameChild (child, oldChild) {\n  return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n  name: 'transition',\n  props: transitionProps,\n  abstract: true,\n\n  render: function render (h) {\n    var this$1 = this;\n\n    var children = this.$slots.default;\n    if (!children) {\n      return\n    }\n\n    // filter out text nodes (possible whitespaces)\n    children = children.filter(isNotTextNode);\n    /* istanbul ignore if */\n    if (!children.length) {\n      return\n    }\n\n    // warn multiple elements\n    if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n      warn(\n        '<transition> can only be used on a single element. Use ' +\n        '<transition-group> for lists.',\n        this.$parent\n      );\n    }\n\n    var mode = this.mode;\n\n    // warn invalid mode\n    if (process.env.NODE_ENV !== 'production' &&\n      mode && mode !== 'in-out' && mode !== 'out-in'\n    ) {\n      warn(\n        'invalid <transition> mode: ' + mode,\n        this.$parent\n      );\n    }\n\n    var rawChild = children[0];\n\n    // if this is a component root node and the component's\n    // parent container node also has transition, skip.\n    if (hasParentTransition(this.$vnode)) {\n      return rawChild\n    }\n\n    // apply transition data to child\n    // use getRealChild() to ignore abstract components e.g. keep-alive\n    var child = getRealChild(rawChild);\n    /* istanbul ignore if */\n    if (!child) {\n      return rawChild\n    }\n\n    if (this._leaving) {\n      return placeholder(h, rawChild)\n    }\n\n    // ensure a key that is unique to the vnode type and to this transition\n    // component instance. This key will be used to remove pending leaving nodes\n    // during entering.\n    var id = \"__transition-\" + (this._uid) + \"-\";\n    child.key = child.key == null\n      ? child.isComment\n        ? id + 'comment'\n        : id + child.tag\n      : isPrimitive(child.key)\n        ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n        : child.key;\n\n    var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n    var oldRawChild = this._vnode;\n    var oldChild = getRealChild(oldRawChild);\n\n    // mark v-show\n    // so that the transition module can hand over the control to the directive\n    if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n      child.data.show = true;\n    }\n\n    if (\n      oldChild &&\n      oldChild.data &&\n      !isSameChild(child, oldChild) &&\n      !isAsyncPlaceholder(oldChild) &&\n      // #6687 component root is a comment node\n      !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n    ) {\n      // replace old child transition data with fresh one\n      // important for dynamic transitions!\n      var oldData = oldChild.data.transition = extend({}, data);\n      // handle transition mode\n      if (mode === 'out-in') {\n        // return placeholder node and queue update when leave finishes\n        this._leaving = true;\n        mergeVNodeHook(oldData, 'afterLeave', function () {\n          this$1._leaving = false;\n          this$1.$forceUpdate();\n        });\n        return placeholder(h, rawChild)\n      } else if (mode === 'in-out') {\n        if (isAsyncPlaceholder(child)) {\n          return oldRawChild\n        }\n        var delayedLeave;\n        var performLeave = function () { delayedLeave(); };\n        mergeVNodeHook(data, 'afterEnter', performLeave);\n        mergeVNodeHook(data, 'enterCancelled', performLeave);\n        mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n      }\n    }\n\n    return rawChild\n  }\n};\n\n/*  */\n\nvar props = extend({\n  tag: String,\n  moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n  props: props,\n\n  beforeMount: function beforeMount () {\n    var this$1 = this;\n\n    var update = this._update;\n    this._update = function (vnode, hydrating) {\n      var restoreActiveInstance = setActiveInstance(this$1);\n      // force removing pass\n      this$1.__patch__(\n        this$1._vnode,\n        this$1.kept,\n        false, // hydrating\n        true // removeOnly (!important, avoids unnecessary moves)\n      );\n      this$1._vnode = this$1.kept;\n      restoreActiveInstance();\n      update.call(this$1, vnode, hydrating);\n    };\n  },\n\n  render: function render (h) {\n    var tag = this.tag || this.$vnode.data.tag || 'span';\n    var map = Object.create(null);\n    var prevChildren = this.prevChildren = this.children;\n    var rawChildren = this.$slots.default || [];\n    var children = this.children = [];\n    var transitionData = extractTransitionData(this);\n\n    for (var i = 0; i < rawChildren.length; i++) {\n      var c = rawChildren[i];\n      if (c.tag) {\n        if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n          children.push(c);\n          map[c.key] = c\n          ;(c.data || (c.data = {})).transition = transitionData;\n        } else if (process.env.NODE_ENV !== 'production') {\n          var opts = c.componentOptions;\n          var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n          warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n        }\n      }\n    }\n\n    if (prevChildren) {\n      var kept = [];\n      var removed = [];\n      for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n        var c$1 = prevChildren[i$1];\n        c$1.data.transition = transitionData;\n        c$1.data.pos = c$1.elm.getBoundingClientRect();\n        if (map[c$1.key]) {\n          kept.push(c$1);\n        } else {\n          removed.push(c$1);\n        }\n      }\n      this.kept = h(tag, null, kept);\n      this.removed = removed;\n    }\n\n    return h(tag, null, children)\n  },\n\n  updated: function updated () {\n    var children = this.prevChildren;\n    var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n    if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n      return\n    }\n\n    // we divide the work into three loops to avoid mixing DOM reads and writes\n    // in each iteration - which helps prevent layout thrashing.\n    children.forEach(callPendingCbs);\n    children.forEach(recordPosition);\n    children.forEach(applyTranslation);\n\n    // force reflow to put everything in position\n    // assign to this to avoid being removed in tree-shaking\n    // $flow-disable-line\n    this._reflow = document.body.offsetHeight;\n\n    children.forEach(function (c) {\n      if (c.data.moved) {\n        var el = c.elm;\n        var s = el.style;\n        addTransitionClass(el, moveClass);\n        s.transform = s.WebkitTransform = s.transitionDuration = '';\n        el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n          if (e && e.target !== el) {\n            return\n          }\n          if (!e || /transform$/.test(e.propertyName)) {\n            el.removeEventListener(transitionEndEvent, cb);\n            el._moveCb = null;\n            removeTransitionClass(el, moveClass);\n          }\n        });\n      }\n    });\n  },\n\n  methods: {\n    hasMove: function hasMove (el, moveClass) {\n      /* istanbul ignore if */\n      if (!hasTransition) {\n        return false\n      }\n      /* istanbul ignore if */\n      if (this._hasMove) {\n        return this._hasMove\n      }\n      // Detect whether an element with the move class applied has\n      // CSS transitions. Since the element may be inside an entering\n      // transition at this very moment, we make a clone of it and remove\n      // all other transition classes applied to ensure only the move class\n      // is applied.\n      var clone = el.cloneNode();\n      if (el._transitionClasses) {\n        el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n      }\n      addClass(clone, moveClass);\n      clone.style.display = 'none';\n      this.$el.appendChild(clone);\n      var info = getTransitionInfo(clone);\n      this.$el.removeChild(clone);\n      return (this._hasMove = info.hasTransform)\n    }\n  }\n};\n\nfunction callPendingCbs (c) {\n  /* istanbul ignore if */\n  if (c.elm._moveCb) {\n    c.elm._moveCb();\n  }\n  /* istanbul ignore if */\n  if (c.elm._enterCb) {\n    c.elm._enterCb();\n  }\n}\n\nfunction recordPosition (c) {\n  c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n  var oldPos = c.data.pos;\n  var newPos = c.data.newPos;\n  var dx = oldPos.left - newPos.left;\n  var dy = oldPos.top - newPos.top;\n  if (dx || dy) {\n    c.data.moved = true;\n    var s = c.elm.style;\n    s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n    s.transitionDuration = '0s';\n  }\n}\n\nvar platformComponents = {\n  Transition: Transition,\n  TransitionGroup: TransitionGroup\n};\n\n/*  */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n  el,\n  hydrating\n) {\n  el = el && inBrowser ? query(el) : undefined;\n  return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n  setTimeout(function () {\n    if (config.devtools) {\n      if (devtools) {\n        devtools.emit('init', Vue);\n      } else if (\n        process.env.NODE_ENV !== 'production' &&\n        process.env.NODE_ENV !== 'test'\n      ) {\n        console[console.info ? 'info' : 'log'](\n          'Download the Vue Devtools extension for a better development experience:\\n' +\n          'https://github.com/vuejs/vue-devtools'\n        );\n      }\n    }\n    if (process.env.NODE_ENV !== 'production' &&\n      process.env.NODE_ENV !== 'test' &&\n      config.productionTip !== false &&\n      typeof console !== 'undefined'\n    ) {\n      console[console.info ? 'info' : 'log'](\n        \"You are running Vue in development mode.\\n\" +\n        \"Make sure to turn on production mode when deploying for production.\\n\" +\n        \"See more tips at https://vuejs.org/guide/deployment.html\"\n      );\n    }\n  }, 0);\n}\n\n/*  */\n\nexport default Vue;\n","module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n  var key = toPrimitive(argument, 'string');\n  return isSymbol(key) ? key : String(key);\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = match[1];\n  }\n}\n\nmodule.exports = version && +version;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: '3.18.2',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\n\nmodule.exports = function (key, value) {\n  try {\n    // eslint-disable-next-line es/no-object-defineproperty -- safe\n    Object.defineProperty(global, key, { value: value, configurable: true, writable: true });\n  } catch (error) {\n    global[key] = value;\n  } return value;\n};\n","var isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n  store.inspectSource = function (it) {\n    return functionToString.call(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n","module.exports = {};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n  var re1 = /a/;\n  var re2 = /b*/g;\n  nativeExec.call(re1, 'a');\n  nativeExec.call(re2, 'a');\n  return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n  // eslint-disable-next-line max-statements -- TODO\n  patchedExec = function exec(string) {\n    var re = this;\n    var state = getInternalState(re);\n    var str = toString(string);\n    var raw = state.raw;\n    var result, reCopy, lastIndex, match, i, object, group;\n\n    if (raw) {\n      raw.lastIndex = re.lastIndex;\n      result = patchedExec.call(raw, str);\n      re.lastIndex = raw.lastIndex;\n      return result;\n    }\n\n    var groups = state.groups;\n    var sticky = UNSUPPORTED_Y && re.sticky;\n    var flags = regexpFlags.call(re);\n    var source = re.source;\n    var charsAdded = 0;\n    var strCopy = str;\n\n    if (sticky) {\n      flags = flags.replace('y', '');\n      if (flags.indexOf('g') === -1) {\n        flags += 'g';\n      }\n\n      strCopy = str.slice(re.lastIndex);\n      // Support anchored sticky behavior.\n      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str.charAt(re.lastIndex - 1) !== '\\n')) {\n        source = '(?: ' + source + ')';\n        strCopy = ' ' + strCopy;\n        charsAdded++;\n      }\n      // ^(? + rx + ) is needed, in combination with some str slicing, to\n      // simulate the 'y' flag.\n      reCopy = new RegExp('^(?:' + source + ')', flags);\n    }\n\n    if (NPCG_INCLUDED) {\n      reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n    }\n    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n    match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n    if (sticky) {\n      if (match) {\n        match.input = match.input.slice(charsAdded);\n        match[0] = match[0].slice(charsAdded);\n        match.index = re.lastIndex;\n        re.lastIndex += match[0].length;\n      } else re.lastIndex = 0;\n    } else if (UPDATES_LAST_INDEX_WRONG && match) {\n      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n    }\n    if (NPCG_INCLUDED && match && match.length > 1) {\n      // Fix browsers whose `exec` methods don't consistently return `undefined`\n      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n      nativeReplace.call(match[0], reCopy, function () {\n        for (i = 1; i < arguments.length - 2; i++) {\n          if (arguments[i] === undefined) match[i] = undefined;\n        }\n      });\n    }\n\n    if (match && groups) {\n      match.groups = object = create(null);\n      for (i = 0; i < groups.length; i++) {\n        group = groups[i];\n        object[group[0]] = match[group[1]];\n      }\n    }\n\n    return match;\n  };\n}\n\nmodule.exports = patchedExec;\n","var classof = require('../internals/classof');\n\nmodule.exports = function (argument) {\n  if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n  return String(argument);\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nrequire(\"core-js/modules/es.object.assign.js\");\n\nvar _axios = _interopRequireDefault(require(\"axios\"));\n\nvar _auth = require(\"@nextcloud/auth\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar client = _axios.default.create({\n  headers: {\n    requesttoken: (0, _auth.getRequestToken)()\n  }\n});\n\nvar cancelableClient = Object.assign(client, {\n  CancelToken: _axios.default.CancelToken,\n  isCancel: _axios.default.isCancel\n});\n(0, _auth.onRequestTokenUpdate)(function (token) {\n  return client.defaults.headers.requesttoken = token;\n});\nvar _default = cancelableClient;\nexports.default = _default;\n//# sourceMappingURL=index.js.map","// 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, \"\\n.icon-toggle[data-v-665ff3f1],\\n.icon-delete[data-v-665ff3f1] {\\n\\tdisplay: inline-block;\\n\\twidth: 16px;\\n\\theight: 16px;\\n\\tpadding: 10px;\\n\\tvertical-align: middle;\\n}\\ntd code[data-v-665ff3f1] {\\n\\tdisplay: inline-block;\\n\\tvertical-align: middle;\\n}\\ntable.inline td[data-v-665ff3f1] {\\n\\tborder: none;\\n\\tpadding: 5px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/oauth2/src/components/OAuthItem.vue\"],\"names\":[],\"mappings\":\";AAsFA;;CAEA,qBAAA;CACA,WAAA;CACA,YAAA;CACA,aAAA;CACA,sBAAA;AACA;AACA;CACA,qBAAA;CACA,sBAAA;AACA;AACA;CACA,YAAA;CACA,YAAA;AACA\",\"sourcesContent\":[\"<!--\\n  - @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl>\\n  -\\n  - @author Roeland Jago Douma <roeland@famdouma.nl>\\n  -\\n  - @license GNU AGPL version 3 or any later version\\n  -\\n  - This program is free software: you can redistribute it and/or modify\\n  - it under the terms of the GNU Affero General Public License as\\n  - published by the Free Software Foundation, either version 3 of the\\n  - License, or (at your option) any later version.\\n  -\\n  - This program is distributed in the hope that it will be useful,\\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\\n  - GNU Affero General Public License for more details.\\n  -\\n  - You should have received a copy of the GNU Affero General Public License\\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n  -\\n  -->\\n<template>\\n\\t<tr>\\n\\t\\t<td>\\n\\t\\t\\t<table class=\\\"inline\\\">\\n\\t\\t\\t\\t<tr>\\n\\t\\t\\t\\t\\t<td>{{ t('oauth2', 'Name') }}</td>\\n\\t\\t\\t\\t\\t<td>{{ name }}</td>\\n\\t\\t\\t\\t</tr>\\n\\t\\t\\t\\t<tr>\\n\\t\\t\\t\\t\\t<td>{{ t('oauth2', 'Redirection URI') }}</td>\\n\\t\\t\\t\\t\\t<td>{{ redirectUri }}</td>\\n\\t\\t\\t\\t</tr>\\n\\t\\t\\t\\t<tr>\\n\\t\\t\\t\\t\\t<td>{{ t('oauth2', 'Client Identifier') }}</td>\\n\\t\\t\\t\\t\\t<td><code>{{ clientId }}</code></td>\\n\\t\\t\\t\\t</tr>\\n\\t\\t\\t\\t<tr>\\n\\t\\t\\t\\t\\t<td>{{ t('oauth2', 'Secret') }}</td>\\n\\t\\t\\t\\t\\t<td><code>{{ renderedSecret }}</code><a class=\\\"icon-toggle has-tooltip\\\" :title=\\\"t('oauth2', 'Show client secret')\\\" @click=\\\"toggleSecret\\\" /></td>\\n\\t\\t\\t\\t</tr>\\n\\t\\t\\t</table>\\n\\t\\t</td>\\n\\t\\t<td class=\\\"action-column\\\">\\n\\t\\t\\t<span><a class=\\\"icon-delete has-tooltip\\\" :title=\\\"t('oauth2', 'Delete')\\\" @click=\\\"$emit('delete', id)\\\" /></span>\\n\\t\\t</td>\\n\\t</tr>\\n</template>\\n\\n<script>\\nexport default {\\n\\tname: 'OAuthItem',\\n\\tprops: {\\n\\t\\tclient: {\\n\\t\\t\\ttype: Object,\\n\\t\\t\\trequired: true,\\n\\t\\t},\\n\\t},\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\tid: this.client.id,\\n\\t\\t\\tname: this.client.name,\\n\\t\\t\\tredirectUri: this.client.redirectUri,\\n\\t\\t\\tclientId: this.client.clientId,\\n\\t\\t\\tclientSecret: this.client.clientSecret,\\n\\t\\t\\trenderSecret: false,\\n\\t\\t}\\n\\t},\\n\\tcomputed: {\\n\\t\\trenderedSecret() {\\n\\t\\t\\tif (this.renderSecret) {\\n\\t\\t\\t\\treturn this.clientSecret\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn '****'\\n\\t\\t\\t}\\n\\t\\t},\\n\\t},\\n\\tmethods: {\\n\\t\\ttoggleSecret() {\\n\\t\\t\\tthis.renderSecret = !this.renderSecret\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n\\n<style scoped>\\n\\t.icon-toggle,\\n\\t.icon-delete {\\n\\t\\tdisplay: inline-block;\\n\\t\\twidth: 16px;\\n\\t\\theight: 16px;\\n\\t\\tpadding: 10px;\\n\\t\\tvertical-align: middle;\\n\\t}\\n\\ttd code {\\n\\t\\tdisplay: inline-block;\\n\\t\\tvertical-align: middle;\\n\\t}\\n\\ttable.inline td {\\n\\t\\tborder: none;\\n\\t\\tpadding: 5px;\\n\\t}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getRootUrl = exports.generateFilePath = exports.imagePath = exports.generateUrl = exports.generateOcsUrl = exports.generateRemoteUrl = exports.linkTo = void 0;\n\nrequire(\"core-js/modules/es.string.replace.js\");\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Get an url with webroot to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} URL with webroot to a file\n */\nconst linkTo = (app, file) => generateFilePath(app, '', file);\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\n\n\nexports.linkTo = linkTo;\n\nconst linkToRemoteBase = service => getRootUrl() + '/remote.php/' + service;\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\n\n\nconst generateRemoteUrl = service => window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} url OCS API service url\n * @param {object} params parameters to be replaced into the service url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @param {Number} options.ocsVersion OCS version to use (defaults to 2)\n * @return {string} Absolute path for the OCS URL\n */\n\n\nexports.generateRemoteUrl = generateRemoteUrl;\n\nconst generateOcsUrl = (url, params, options) => {\n  const allOptions = Object.assign({\n    ocsVersion: 2\n  }, options || {});\n  const version = allOptions.ocsVersion === 1 ? 1 : 2;\n  return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php' + _generateUrlPath(url, params, options);\n};\n\nexports.generateOcsUrl = generateOcsUrl;\n\n/**\n * Generate a url path, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the address\n * @param {UrlOptions} options options for the parameter replacement\n * @return {string} Path part for the given URL\n */\nconst _generateUrlPath = (url, params, options) => {\n  const allOptions = Object.assign({\n    escape: true\n  }, options || {});\n\n  const _build = function (text, vars) {\n    vars = vars || {};\n    return text.replace(/{([^{}]*)}/g, function (a, b) {\n      var r = vars[b];\n\n      if (allOptions.escape) {\n        return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n      } else {\n        return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n      }\n    });\n  };\n\n  if (url.charAt(0) !== '/') {\n    url = '/' + url;\n  }\n\n  return _build(url, params || {});\n};\n/**\n * Generate the url with webroot for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @param {string} url address (can contain placeholders e.g. /call/{token} would replace {token} with the value of params.token\n * @param {object} params parameters to be replaced into the url\n * @param {UrlOptions} options options for the parameter replacement\n * @param {boolean} options.noRewrite True if you want to force index.php being added\n * @param {boolean} options.escape Set to false if parameters should not be URL encoded (default true)\n * @return {string} URL with webroot for the given relative URL\n */\n\n\nconst generateUrl = (url, params, options) => {\n  const allOptions = Object.assign({\n    noRewrite: false\n  }, options || {});\n\n  if (OC.config.modRewriteWorking === true && !allOptions.noRewrite) {\n    return getRootUrl() + _generateUrlPath(url, params, options);\n  }\n\n  return getRootUrl() + '/index.php' + _generateUrlPath(url, params, options);\n};\n/**\n * Get the path with webroot to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\n\n\nexports.generateUrl = generateUrl;\n\nconst imagePath = (app, file) => {\n  if (file.indexOf('.') === -1) {\n    //if no extension is given, use svg\n    return generateFilePath(app, 'img', file + '.svg');\n  }\n\n  return generateFilePath(app, 'img', file);\n};\n/**\n * Get the url with webroot for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} URL with webroot for a file in an app\n */\n\n\nexports.imagePath = imagePath;\n\nconst generateFilePath = (app, type, file) => {\n  const isCore = OC.coreApps.indexOf(app) !== -1;\n  let link = getRootUrl();\n\n  if (file.substring(file.length - 3) === 'php' && !isCore) {\n    link += '/index.php/apps/' + app;\n\n    if (file !== 'index.php') {\n      link += '/';\n\n      if (type) {\n        link += encodeURI(type + '/');\n      }\n\n      link += file;\n    }\n  } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n    link = OC.appswebroots[app];\n\n    if (type) {\n      link += '/' + type + '/';\n    }\n\n    if (link.substring(link.length - 1) !== '/') {\n      link += '/';\n    }\n\n    link += file;\n  } else {\n    if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n      link += '/index.php/';\n    } else {\n      link += '/';\n    }\n\n    if (!isCore) {\n      link += 'apps/';\n    }\n\n    if (app !== '') {\n      app += '/';\n      link += app;\n    }\n\n    if (type) {\n      link += type + '/';\n    }\n\n    link += file;\n  }\n\n  return link;\n};\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\n\n\nexports.generateFilePath = generateFilePath;\n\nconst getRootUrl = () => OC.webroot;\n\nexports.getRootUrl = getRootUrl;\n//# sourceMappingURL=index.js.map","// 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, \"\\ntable[data-v-7098866e] {\\n\\tmax-width: 800px;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/oauth2/src/App.vue\"],\"names\":[],\"mappings\":\";AAyHA;CACA,gBAAA;AACA\",\"sourcesContent\":[\"<!--\\n  - @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl>\\n  -\\n  - @author Roeland Jago Douma <roeland@famdouma.nl>\\n  -\\n  - @license GNU AGPL version 3 or any later version\\n  -\\n  - This program is free software: you can redistribute it and/or modify\\n  - it under the terms of the GNU Affero General Public License as\\n  - published by the Free Software Foundation, either version 3 of the\\n  - License, or (at your option) any later version.\\n  -\\n  - This program is distributed in the hope that it will be useful,\\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\\n  - GNU Affero General Public License for more details.\\n  -\\n  - You should have received a copy of the GNU Affero General Public License\\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\\n  -\\n  -->\\n<template>\\n\\t<div id=\\\"oauth2\\\" class=\\\"section\\\">\\n\\t\\t<h2>{{ t('oauth2', 'OAuth 2.0 clients') }}</h2>\\n\\t\\t<p class=\\\"settings-hint\\\">\\n\\t\\t\\t{{ t('oauth2', 'OAuth 2.0 allows external services to request access to {instanceName}.', { instanceName: OC.theme.name}) }}\\n\\t\\t</p>\\n\\t\\t<table v-if=\\\"clients.length > 0\\\" class=\\\"grid\\\">\\n\\t\\t\\t<thead>\\n\\t\\t\\t\\t<tr>\\n\\t\\t\\t\\t\\t<th id=\\\"headerContent\\\" />\\n\\t\\t\\t\\t\\t<th id=\\\"headerRemove\\\">\\n&nbsp;\\n\\t\\t\\t\\t\\t</th>\\n\\t\\t\\t\\t</tr>\\n\\t\\t\\t</thead>\\n\\t\\t\\t<tbody>\\n\\t\\t\\t\\t<OAuthItem v-for=\\\"client in clients\\\"\\n\\t\\t\\t\\t\\t:key=\\\"client.id\\\"\\n\\t\\t\\t\\t\\t:client=\\\"client\\\"\\n\\t\\t\\t\\t\\t@delete=\\\"deleteClient\\\" />\\n\\t\\t\\t</tbody>\\n\\t\\t</table>\\n\\n\\t\\t<br>\\n\\t\\t<h3>{{ t('oauth2', 'Add client') }}</h3>\\n\\t\\t<span v-if=\\\"newClient.error\\\" class=\\\"msg error\\\">{{ newClient.errorMsg }}</span>\\n\\t\\t<form @submit.prevent=\\\"addClient\\\">\\n\\t\\t\\t<input id=\\\"name\\\"\\n\\t\\t\\t\\tv-model=\\\"newClient.name\\\"\\n\\t\\t\\t\\ttype=\\\"text\\\"\\n\\t\\t\\t\\tname=\\\"name\\\"\\n\\t\\t\\t\\t:placeholder=\\\"t('oauth2', 'Name')\\\">\\n\\t\\t\\t<input id=\\\"redirectUri\\\"\\n\\t\\t\\t\\tv-model=\\\"newClient.redirectUri\\\"\\n\\t\\t\\t\\ttype=\\\"url\\\"\\n\\t\\t\\t\\tname=\\\"redirectUri\\\"\\n\\t\\t\\t\\t:placeholder=\\\"t('oauth2', 'Redirection URI')\\\">\\n\\t\\t\\t<input type=\\\"submit\\\" class=\\\"button\\\" :value=\\\"t('oauth2', 'Add')\\\">\\n\\t\\t</form>\\n\\t</div>\\n</template>\\n\\n<script>\\nimport axios from '@nextcloud/axios'\\nimport OAuthItem from './components/OAuthItem'\\nimport { generateUrl } from '@nextcloud/router'\\n\\nexport default {\\n\\tname: 'App',\\n\\tcomponents: {\\n\\t\\tOAuthItem,\\n\\t},\\n\\tprops: {\\n\\t\\tclients: {\\n\\t\\t\\ttype: Array,\\n\\t\\t\\trequired: true,\\n\\t\\t},\\n\\t},\\n\\tdata() {\\n\\t\\treturn {\\n\\t\\t\\tnewClient: {\\n\\t\\t\\t\\tname: '',\\n\\t\\t\\t\\tredirectUri: '',\\n\\t\\t\\t\\terrorMsg: '',\\n\\t\\t\\t\\terror: false,\\n\\t\\t\\t},\\n\\t\\t}\\n\\t},\\n\\tmethods: {\\n\\t\\tdeleteClient(id) {\\n\\t\\t\\taxios.delete(generateUrl('apps/oauth2/clients/{id}', { id }))\\n\\t\\t\\t\\t.then((response) => {\\n\\t\\t\\t\\t\\t// eslint-disable-next-line vue/no-mutating-props\\n\\t\\t\\t\\t\\tthis.clients = this.clients.filter(client => client.id !== id)\\n\\t\\t\\t\\t})\\n\\t\\t},\\n\\t\\taddClient() {\\n\\t\\t\\tthis.newClient.error = false\\n\\n\\t\\t\\taxios.post(\\n\\t\\t\\t\\tgenerateUrl('apps/oauth2/clients'),\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\tname: this.newClient.name,\\n\\t\\t\\t\\t\\tredirectUri: this.newClient.redirectUri,\\n\\t\\t\\t\\t}\\n\\t\\t\\t).then(response => {\\n\\t\\t\\t\\t// eslint-disable-next-line vue/no-mutating-props\\n\\t\\t\\t\\tthis.clients.push(response.data)\\n\\n\\t\\t\\t\\tthis.newClient.name = ''\\n\\t\\t\\t\\tthis.newClient.redirectUri = ''\\n\\t\\t\\t}).catch(reason => {\\n\\t\\t\\t\\tthis.newClient.error = true\\n\\t\\t\\t\\tthis.newClient.errorMsg = reason.response.data.message\\n\\t\\t\\t})\\n\\t\\t},\\n\\t},\\n}\\n</script>\\n<style scoped>\\n\\ttable {\\n\\t\\tmax-width: 800px;\\n\\t}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPropertyKey(P);\n  if (IE8_DOM_DEFINE) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (hasOwn(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var isCallable = require('../internals/is-callable');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  var $Symbol = getBuiltIn('Symbol');\n  return isCallable($Symbol) && Object(it) instanceof $Symbol;\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n  && !Symbol.sham\n  && typeof Symbol.iterator == 'symbol';\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  var symbol = Symbol();\n  // Chrome 38 Symbol has incorrect toString conversion\n  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n  return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n  var func = V[P];\n  return func == null ? undefined : aCallable(func);\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n  if (isCallable(argument)) return argument;\n  throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n  var unsafe = options ? !!options.unsafe : false;\n  var simple = options ? !!options.enumerable : false;\n  var noTargetGet = options ? !!options.noTargetGet : false;\n  var name = options && options.name !== undefined ? options.name : key;\n  var state;\n  if (isCallable(value)) {\n    if (String(name).slice(0, 7) === 'Symbol(') {\n      name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n    }\n    if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n      createNonEnumerableProperty(value, 'name', name);\n    }\n    state = enforceInternalState(value);\n    if (!state.source) {\n      state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n    }\n  }\n  if (O === global) {\n    if (simple) O[key] = value;\n    else setGlobal(key, value);\n    return;\n  } else if (!unsafe) {\n    delete O[key];\n  } else if (!noTargetGet && O[key]) {\n    simple = true;\n  }\n  if (simple) O[key] = value;\n  else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n  return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n  var store = shared.state || (shared.state = new WeakMap());\n  var wmget = store.get;\n  var wmhas = store.has;\n  var wmset = store.set;\n  set = function (it, metadata) {\n    if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    wmset.call(store, it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return wmget.call(store, it) || {};\n  };\n  has = function (it) {\n    return wmhas.call(store, it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return hasOwn(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return hasOwn(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n","var hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (hasOwn(O, key = names[i++])) {\n    ~indexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n  return function wrap() {\n    var args = new Array(arguments.length);\n    for (var i = 0; i < args.length; i++) {\n      args[i] = arguments[i];\n    }\n    return fn.apply(thisArg, args);\n  };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n  return encodeURIComponent(val).\n    replace(/%3A/gi, ':').\n    replace(/%24/g, '$').\n    replace(/%2C/gi, ',').\n    replace(/%20/g, '+').\n    replace(/%5B/gi, '[').\n    replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n  /*eslint no-param-reassign:0*/\n  if (!params) {\n    return url;\n  }\n\n  var serializedParams;\n  if (paramsSerializer) {\n    serializedParams = paramsSerializer(params);\n  } else if (utils.isURLSearchParams(params)) {\n    serializedParams = params.toString();\n  } else {\n    var parts = [];\n\n    utils.forEach(params, function serialize(val, key) {\n      if (val === null || typeof val === 'undefined') {\n        return;\n      }\n\n      if (utils.isArray(val)) {\n        key = key + '[]';\n      } else {\n        val = [val];\n      }\n\n      utils.forEach(val, function parseValue(v) {\n        if (utils.isDate(v)) {\n          v = v.toISOString();\n        } else if (utils.isObject(v)) {\n          v = JSON.stringify(v);\n        }\n        parts.push(encode(key) + '=' + encode(v));\n      });\n    });\n\n    serializedParams = parts.join('&');\n  }\n\n  if (serializedParams) {\n    var hashmarkIndex = url.indexOf('#');\n    if (hashmarkIndex !== -1) {\n      url = url.slice(0, hashmarkIndex);\n    }\n\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n  }\n\n  return url;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n  return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n  'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n    headers['Content-Type'] = value;\n  }\n}\n\nfunction getDefaultAdapter() {\n  var adapter;\n  if (typeof XMLHttpRequest !== 'undefined') {\n    // For browsers use XHR adapter\n    adapter = require('./adapters/xhr');\n  } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n    // For node use HTTP adapter\n    adapter = require('./adapters/http');\n  }\n  return adapter;\n}\n\nvar defaults = {\n  adapter: getDefaultAdapter(),\n\n  transformRequest: [function transformRequest(data, headers) {\n    normalizeHeaderName(headers, 'Accept');\n    normalizeHeaderName(headers, 'Content-Type');\n    if (utils.isFormData(data) ||\n      utils.isArrayBuffer(data) ||\n      utils.isBuffer(data) ||\n      utils.isStream(data) ||\n      utils.isFile(data) ||\n      utils.isBlob(data)\n    ) {\n      return data;\n    }\n    if (utils.isArrayBufferView(data)) {\n      return data.buffer;\n    }\n    if (utils.isURLSearchParams(data)) {\n      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n      return data.toString();\n    }\n    if (utils.isObject(data)) {\n      setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n      return JSON.stringify(data);\n    }\n    return data;\n  }],\n\n  transformResponse: [function transformResponse(data) {\n    /*eslint no-param-reassign:0*/\n    if (typeof data === 'string') {\n      try {\n        data = JSON.parse(data);\n      } catch (e) { /* Ignore */ }\n    }\n    return data;\n  }],\n\n  /**\n   * A timeout in milliseconds to abort a request. If set to 0 (default) a\n   * timeout is not created.\n   */\n  timeout: 0,\n\n  xsrfCookieName: 'XSRF-TOKEN',\n  xsrfHeaderName: 'X-XSRF-TOKEN',\n\n  maxContentLength: -1,\n  maxBodyLength: -1,\n\n  validateStatus: function validateStatus(status) {\n    return status >= 200 && status < 300;\n  }\n};\n\ndefaults.headers = {\n  common: {\n    'Accept': 'application/json, text/plain, */*'\n  }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n  defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\n    var requestData = config.data;\n    var requestHeaders = config.headers;\n\n    if (utils.isFormData(requestData)) {\n      delete requestHeaders['Content-Type']; // Let the browser set it\n    }\n\n    var request = new XMLHttpRequest();\n\n    // HTTP basic authentication\n    if (config.auth) {\n      var username = config.auth.username || '';\n      var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n    }\n\n    var fullPath = buildFullPath(config.baseURL, config.url);\n    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n    // Set the request timeout in MS\n    request.timeout = config.timeout;\n\n    // Listen for ready state\n    request.onreadystatechange = function handleLoad() {\n      if (!request || request.readyState !== 4) {\n        return;\n      }\n\n      // The request errored out and we didn't get a response, this will be\n      // handled by onerror instead\n      // With one exception: request that using file: protocol, most browsers\n      // will return status as 0 even though it's a successful request\n      if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n        return;\n      }\n\n      // Prepare the response\n      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n      var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n      var response = {\n        data: responseData,\n        status: request.status,\n        statusText: request.statusText,\n        headers: responseHeaders,\n        config: config,\n        request: request\n      };\n\n      settle(resolve, reject, response);\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle browser request cancellation (as opposed to a manual cancellation)\n    request.onabort = function handleAbort() {\n      if (!request) {\n        return;\n      }\n\n      reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle low level network errors\n    request.onerror = function handleError() {\n      // Real errors are hidden from us by the browser\n      // onerror should only fire if it's a network error\n      reject(createError('Network Error', config, null, request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Handle timeout\n    request.ontimeout = function handleTimeout() {\n      var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\n      if (config.timeoutErrorMessage) {\n        timeoutErrorMessage = config.timeoutErrorMessage;\n      }\n      reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\n        request));\n\n      // Clean up request\n      request = null;\n    };\n\n    // Add xsrf header\n    // This is only done if running in a standard browser environment.\n    // Specifically not if we're in a web worker, or react-native.\n    if (utils.isStandardBrowserEnv()) {\n      // Add xsrf header\n      var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n        cookies.read(config.xsrfCookieName) :\n        undefined;\n\n      if (xsrfValue) {\n        requestHeaders[config.xsrfHeaderName] = xsrfValue;\n      }\n    }\n\n    // Add headers to the request\n    if ('setRequestHeader' in request) {\n      utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n          // Remove Content-Type if data is undefined\n          delete requestHeaders[key];\n        } else {\n          // Otherwise add header to the request\n          request.setRequestHeader(key, val);\n        }\n      });\n    }\n\n    // Add withCredentials to request if needed\n    if (!utils.isUndefined(config.withCredentials)) {\n      request.withCredentials = !!config.withCredentials;\n    }\n\n    // Add responseType to request if needed\n    if (config.responseType) {\n      try {\n        request.responseType = config.responseType;\n      } catch (e) {\n        // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n        // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n        if (config.responseType !== 'json') {\n          throw e;\n        }\n      }\n    }\n\n    // Handle progress if needed\n    if (typeof config.onDownloadProgress === 'function') {\n      request.addEventListener('progress', config.onDownloadProgress);\n    }\n\n    // Not all browsers support upload events\n    if (typeof config.onUploadProgress === 'function' && request.upload) {\n      request.upload.addEventListener('progress', config.onUploadProgress);\n    }\n\n    if (config.cancelToken) {\n      // Handle cancellation\n      config.cancelToken.promise.then(function onCanceled(cancel) {\n        if (!request) {\n          return;\n        }\n\n        request.abort();\n        reject(cancel);\n        // Clean up request\n        request = null;\n      });\n    }\n\n    if (!requestData) {\n      requestData = null;\n    }\n\n    // Send the request\n    request.send(requestData);\n  });\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n  var error = new Error(message);\n  return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n  // eslint-disable-next-line no-param-reassign\n  config2 = config2 || {};\n  var config = {};\n\n  var valueFromConfig2Keys = ['url', 'method', 'data'];\n  var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n  var defaultToConfig2Keys = [\n    'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n    'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n    'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n    'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n    'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n  ];\n  var directMergeKeys = ['validateStatus'];\n\n  function getMergedValue(target, source) {\n    if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n      return utils.merge(target, source);\n    } else if (utils.isPlainObject(source)) {\n      return utils.merge({}, source);\n    } else if (utils.isArray(source)) {\n      return source.slice();\n    }\n    return source;\n  }\n\n  function mergeDeepProperties(prop) {\n    if (!utils.isUndefined(config2[prop])) {\n      config[prop] = getMergedValue(config1[prop], config2[prop]);\n    } else if (!utils.isUndefined(config1[prop])) {\n      config[prop] = getMergedValue(undefined, config1[prop]);\n    }\n  }\n\n  utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n    if (!utils.isUndefined(config2[prop])) {\n      config[prop] = getMergedValue(undefined, config2[prop]);\n    }\n  });\n\n  utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n  utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n    if (!utils.isUndefined(config2[prop])) {\n      config[prop] = getMergedValue(undefined, config2[prop]);\n    } else if (!utils.isUndefined(config1[prop])) {\n      config[prop] = getMergedValue(undefined, config1[prop]);\n    }\n  });\n\n  utils.forEach(directMergeKeys, function merge(prop) {\n    if (prop in config2) {\n      config[prop] = getMergedValue(config1[prop], config2[prop]);\n    } else if (prop in config1) {\n      config[prop] = getMergedValue(undefined, config1[prop]);\n    }\n  });\n\n  var axiosKeys = valueFromConfig2Keys\n    .concat(mergeDeepPropertiesKeys)\n    .concat(defaultToConfig2Keys)\n    .concat(directMergeKeys);\n\n  var otherKeys = Object\n    .keys(config1)\n    .concat(Object.keys(config2))\n    .filter(function filterAxiosKeys(key) {\n      return axiosKeys.indexOf(key) === -1;\n    });\n\n  utils.forEach(otherKeys, mergeDeepProperties);\n\n  return config;\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n  this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n  return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n  return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n  return classof(argument) == 'Array';\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","\"use strict\";\n\nrequire(\"core-js/modules/es.array.concat\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.loadState = loadState;\n\n/**\n * @param app app ID, e.g. \"mail\"\n * @param key name of the property\n * @param fallback optional parameter to use as default value\n * @throws if the key can't be found\n */\nfunction loadState(app, key, fallback) {\n  var elem = document.querySelector(\"#initial-state-\".concat(app, \"-\").concat(key));\n\n  if (elem === null) {\n    if (fallback !== undefined) {\n      return fallback;\n    }\n\n    throw new Error(\"Could not find initial state \".concat(key, \" of \").concat(app));\n  }\n\n  try {\n    return JSON.parse(atob(elem.value));\n  } catch (e) {\n    throw new Error(\"Could not parse initial state \".concat(key, \" of \").concat(app));\n  }\n}\n//# sourceMappingURL=index.js.map","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n  assign: assign\n});\n","var isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n  if (!isObject(input) || isSymbol(input)) return input;\n  var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n  var result;\n  if (exoticToPrim) {\n    if (pref === undefined) pref = 'default';\n    result = exoticToPrim.call(input, pref);\n    if (!isObject(result) || isSymbol(result)) return result;\n    throw TypeError(\"Can't convert object to primitive value\");\n  }\n  if (pref === undefined) pref = 'number';\n  return ordinaryToPrimitive(input, pref);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","module.exports = function (argument) {\n  try {\n    return String(argument);\n  } catch (error) {\n    return 'Object';\n  }\n};\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n  var fn, val;\n  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = fn.call(input))) return val;\n  if (isCallable(fn = input.valueOf) && !isObject(val = fn.call(input))) return val;\n  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = fn.call(input))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = false;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n  EXISTS: EXISTS,\n  PROPER: PROPER,\n  CONFIGURABLE: CONFIGURABLE\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n  var keys = ownKeys(source);\n  var defineProperty = definePropertyModule.f;\n  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i];\n    if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n  }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n  var keys = getOwnPropertyNamesModule.f(anObject(it));\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return internalObjectKeys(O, hiddenKeys);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = lengthOfArrayLike(O);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare -- NaN check\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.includes` method\n  // https://tc39.es/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.es/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value == POLYFILL ? true\n    : value == NATIVE ? false\n    : isCallable(detection) ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n  // should have correct order of operations (Edge bug)\n  if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n    enumerable: true,\n    get: function () {\n      defineProperty(this, 'b', {\n        value: 3,\n        enumerable: false\n      });\n    }\n  }), { b: 2 })).b !== 1) return true;\n  // should work with symbols and should have deterministic property order (V8 bug)\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line es/no-symbol -- safe\n  var symbol = Symbol();\n  var alphabet = 'abcdefghijklmnopqrst';\n  A[symbol] = 7;\n  alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n  return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n  var T = toObject(target);\n  var argumentsLength = arguments.length;\n  var index = 1;\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  var propertyIsEnumerable = propertyIsEnumerableModule.f;\n  while (argumentsLength > index) {\n    var S = IndexedObject(arguments[index++]);\n    var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n  var context = new Axios(defaultConfig);\n  var instance = bind(Axios.prototype.request, context);\n\n  // Copy axios.prototype to instance\n  utils.extend(instance, Axios.prototype, context);\n\n  // Copy context to instance\n  utils.extend(instance, context);\n\n  return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n  return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n  return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n  this.defaults = instanceConfig;\n  this.interceptors = {\n    request: new InterceptorManager(),\n    response: new InterceptorManager()\n  };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n  /*eslint no-param-reassign:0*/\n  // Allow for axios('example/url'[, config]) a la fetch API\n  if (typeof config === 'string') {\n    config = arguments[1] || {};\n    config.url = arguments[0];\n  } else {\n    config = config || {};\n  }\n\n  config = mergeConfig(this.defaults, config);\n\n  // Set config.method\n  if (config.method) {\n    config.method = config.method.toLowerCase();\n  } else if (this.defaults.method) {\n    config.method = this.defaults.method.toLowerCase();\n  } else {\n    config.method = 'get';\n  }\n\n  // Hook up interceptors middleware\n  var chain = [dispatchRequest, undefined];\n  var promise = Promise.resolve(config);\n\n  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n    chain.unshift(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n    chain.push(interceptor.fulfilled, interceptor.rejected);\n  });\n\n  while (chain.length) {\n    promise = promise.then(chain.shift(), chain.shift());\n  }\n\n  return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n  config = mergeConfig(this.defaults, config);\n  return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, config) {\n    return this.request(mergeConfig(config || {}, {\n      method: method,\n      url: url,\n      data: (config || {}).data\n    }));\n  };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n  /*eslint func-names:0*/\n  Axios.prototype[method] = function(url, data, config) {\n    return this.request(mergeConfig(config || {}, {\n      method: method,\n      url: url,\n      data: data\n    }));\n  };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n  this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n  this.handlers.push({\n    fulfilled: fulfilled,\n    rejected: rejected\n  });\n  return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n  if (this.handlers[id]) {\n    this.handlers[id] = null;\n  }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n  utils.forEach(this.handlers, function forEachHandler(h) {\n    if (h !== null) {\n      fn(h);\n    }\n  });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n  if (config.cancelToken) {\n    config.cancelToken.throwIfRequested();\n  }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n  throwIfCancellationRequested(config);\n\n  // Ensure headers exist\n  config.headers = config.headers || {};\n\n  // Transform request data\n  config.data = transformData(\n    config.data,\n    config.headers,\n    config.transformRequest\n  );\n\n  // Flatten headers\n  config.headers = utils.merge(\n    config.headers.common || {},\n    config.headers[config.method] || {},\n    config.headers\n  );\n\n  utils.forEach(\n    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n    function cleanHeaderConfig(method) {\n      delete config.headers[method];\n    }\n  );\n\n  var adapter = config.adapter || defaults.adapter;\n\n  return adapter(config).then(function onAdapterResolution(response) {\n    throwIfCancellationRequested(config);\n\n    // Transform response data\n    response.data = transformData(\n      response.data,\n      response.headers,\n      config.transformResponse\n    );\n\n    return response;\n  }, function onAdapterRejection(reason) {\n    if (!isCancel(reason)) {\n      throwIfCancellationRequested(config);\n\n      // Transform response data\n      if (reason && reason.response) {\n        reason.response.data = transformData(\n          reason.response.data,\n          reason.response.headers,\n          config.transformResponse\n        );\n      }\n    }\n\n    return Promise.reject(reason);\n  });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n  /*eslint no-param-reassign:0*/\n  utils.forEach(fns, function transform(fn) {\n    data = fn(data, headers);\n  });\n\n  return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n  utils.forEach(headers, function processHeader(value, name) {\n    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n      headers[normalizedName] = value;\n      delete headers[name];\n    }\n  });\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n  var validateStatus = response.config.validateStatus;\n  if (!response.status || !validateStatus || validateStatus(response.status)) {\n    resolve(response);\n  } else {\n    reject(createError(\n      'Request failed with status code ' + response.status,\n      response.config,\n      null,\n      response.request,\n      response\n    ));\n  }\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n  error.config = config;\n  if (code) {\n    error.code = code;\n  }\n\n  error.request = request;\n  error.response = response;\n  error.isAxiosError = true;\n\n  error.toJSON = function toJSON() {\n    return {\n      // Standard\n      message: this.message,\n      name: this.name,\n      // Microsoft\n      description: this.description,\n      number: this.number,\n      // Mozilla\n      fileName: this.fileName,\n      lineNumber: this.lineNumber,\n      columnNumber: this.columnNumber,\n      stack: this.stack,\n      // Axios\n      config: this.config,\n      code: this.code\n    };\n  };\n  return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs support document.cookie\n    (function standardBrowserEnv() {\n      return {\n        write: function write(name, value, expires, path, domain, secure) {\n          var cookie = [];\n          cookie.push(name + '=' + encodeURIComponent(value));\n\n          if (utils.isNumber(expires)) {\n            cookie.push('expires=' + new Date(expires).toGMTString());\n          }\n\n          if (utils.isString(path)) {\n            cookie.push('path=' + path);\n          }\n\n          if (utils.isString(domain)) {\n            cookie.push('domain=' + domain);\n          }\n\n          if (secure === true) {\n            cookie.push('secure');\n          }\n\n          document.cookie = cookie.join('; ');\n        },\n\n        read: function read(name) {\n          var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n          return (match ? decodeURIComponent(match[3]) : null);\n        },\n\n        remove: function remove(name) {\n          this.write(name, '', Date.now() - 86400000);\n        }\n      };\n    })() :\n\n  // Non standard browser env (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return {\n        write: function write() {},\n        read: function read() { return null; },\n        remove: function remove() {}\n      };\n    })()\n);\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n  if (baseURL && !isAbsoluteURL(requestedURL)) {\n    return combineURLs(baseURL, requestedURL);\n  }\n  return requestedURL;\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n  // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n  // by any combination of letters, digits, plus, period, or hyphen.\n  return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n  return relativeURL\n    ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n    : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n  'age', 'authorization', 'content-length', 'content-type', 'etag',\n  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n  'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n  'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n  var parsed = {};\n  var key;\n  var val;\n  var i;\n\n  if (!headers) { return parsed; }\n\n  utils.forEach(headers.split('\\n'), function parser(line) {\n    i = line.indexOf(':');\n    key = utils.trim(line.substr(0, i)).toLowerCase();\n    val = utils.trim(line.substr(i + 1));\n\n    if (key) {\n      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n        return;\n      }\n      if (key === 'set-cookie') {\n        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n      } else {\n        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n      }\n    }\n  });\n\n  return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n  utils.isStandardBrowserEnv() ?\n\n  // Standard browser envs have full support of the APIs needed to test\n  // whether the request URL is of the same origin as current location.\n    (function standardBrowserEnv() {\n      var msie = /(msie|trident)/i.test(navigator.userAgent);\n      var urlParsingNode = document.createElement('a');\n      var originURL;\n\n      /**\n    * Parse a URL to discover it's components\n    *\n    * @param {String} url The URL to be parsed\n    * @returns {Object}\n    */\n      function resolveURL(url) {\n        var href = url;\n\n        if (msie) {\n        // IE needs attribute set twice to normalize properties\n          urlParsingNode.setAttribute('href', href);\n          href = urlParsingNode.href;\n        }\n\n        urlParsingNode.setAttribute('href', href);\n\n        // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n        return {\n          href: urlParsingNode.href,\n          protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n          host: urlParsingNode.host,\n          search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n          hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n          hostname: urlParsingNode.hostname,\n          port: urlParsingNode.port,\n          pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n            urlParsingNode.pathname :\n            '/' + urlParsingNode.pathname\n        };\n      }\n\n      originURL = resolveURL(window.location.href);\n\n      /**\n    * Determine if a URL shares the same origin as the current location\n    *\n    * @param {String} requestURL The URL to test\n    * @returns {boolean} True if URL shares the same origin, otherwise false\n    */\n      return function isURLSameOrigin(requestURL) {\n        var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n        return (parsed.protocol === originURL.protocol &&\n            parsed.host === originURL.host);\n      };\n    })() :\n\n  // Non standard browser envs (web workers, react-native) lack needed support.\n    (function nonStandardBrowserEnv() {\n      return function isURLSameOrigin() {\n        return true;\n      };\n    })()\n);\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n  if (typeof executor !== 'function') {\n    throw new TypeError('executor must be a function.');\n  }\n\n  var resolvePromise;\n  this.promise = new Promise(function promiseExecutor(resolve) {\n    resolvePromise = resolve;\n  });\n\n  var token = this;\n  executor(function cancel(message) {\n    if (token.reason) {\n      // Cancellation has already been requested\n      return;\n    }\n\n    token.reason = new Cancel(message);\n    resolvePromise(token.reason);\n  });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n  if (this.reason) {\n    throw this.reason;\n  }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n  var cancel;\n  var token = new CancelToken(function executor(c) {\n    cancel = c;\n  });\n  return {\n    token: token,\n    cancel: cancel\n  };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n *  ```js\n *  function f(x, y, z) {}\n *  var args = [1, 2, 3];\n *  f.apply(null, args);\n *  ```\n *\n * With `spread` this example can be re-written.\n *\n *  ```js\n *  spread(function(x, y, z) {})([1, 2, 3]);\n *  ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n  return function wrap(arr) {\n    return callback.apply(null, arr);\n  };\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n  return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nObject.defineProperty(exports, \"getRequestToken\", {\n  enumerable: true,\n  get: function get() {\n    return _requesttoken.getRequestToken;\n  }\n});\nObject.defineProperty(exports, \"onRequestTokenUpdate\", {\n  enumerable: true,\n  get: function get() {\n    return _requesttoken.onRequestTokenUpdate;\n  }\n});\nObject.defineProperty(exports, \"getCurrentUser\", {\n  enumerable: true,\n  get: function get() {\n    return _user.getCurrentUser;\n  }\n});\n\nvar _requesttoken = require(\"./requesttoken\");\n\nvar _user = require(\"./user\");\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.for-each\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getRequestToken = getRequestToken;\nexports.onRequestTokenUpdate = onRequestTokenUpdate;\n\nvar _eventBus = require(\"@nextcloud/event-bus\");\n\nvar tokenElement = document.getElementsByTagName('head')[0];\nvar token = tokenElement ? tokenElement.getAttribute('data-requesttoken') : null;\nvar observers = [];\n\nfunction getRequestToken() {\n  return token;\n}\n\nfunction onRequestTokenUpdate(observer) {\n  observers.push(observer);\n} // Listen to server event and keep token in sync\n\n\n(0, _eventBus.subscribe)('csrf-token-update', function (e) {\n  token = e.token;\n  observers.forEach(function (observer) {\n    try {\n      observer(e.token);\n    } catch (e) {\n      console.error('error updating CSRF token observer', e);\n    }\n  });\n});\n//# sourceMappingURL=requesttoken.js.map","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n  forEach: forEach\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n  var IS_MAP = TYPE == 1;\n  var IS_FILTER = TYPE == 2;\n  var IS_SOME = TYPE == 3;\n  var IS_EVERY = TYPE == 4;\n  var IS_FIND_INDEX = TYPE == 6;\n  var IS_FILTER_REJECT = TYPE == 7;\n  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n  return function ($this, callbackfn, that, specificCreate) {\n    var O = toObject($this);\n    var self = IndexedObject(O);\n    var boundFunction = bind(callbackfn, that, 3);\n    var length = lengthOfArrayLike(self);\n    var index = 0;\n    var create = specificCreate || arraySpeciesCreate;\n    var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n    var value, result;\n    for (;length > index; index++) if (NO_HOLES || index in self) {\n      value = self[index];\n      result = boundFunction(value, index, O);\n      if (TYPE) {\n        if (IS_MAP) target[index] = result; // map\n        else if (result) switch (TYPE) {\n          case 3: return true;              // some\n          case 5: return value;             // find\n          case 6: return index;             // findIndex\n          case 2: push.call(target, value); // filter\n        } else switch (TYPE) {\n          case 4: return false;             // every\n          case 7: push.call(target, value); // filterReject\n        }\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.forEach` method\n  // https://tc39.es/ecma262/#sec-array.prototype.foreach\n  forEach: createMethod(0),\n  // `Array.prototype.map` method\n  // https://tc39.es/ecma262/#sec-array.prototype.map\n  map: createMethod(1),\n  // `Array.prototype.filter` method\n  // https://tc39.es/ecma262/#sec-array.prototype.filter\n  filter: createMethod(2),\n  // `Array.prototype.some` method\n  // https://tc39.es/ecma262/#sec-array.prototype.some\n  some: createMethod(3),\n  // `Array.prototype.every` method\n  // https://tc39.es/ecma262/#sec-array.prototype.every\n  every: createMethod(4),\n  // `Array.prototype.find` method\n  // https://tc39.es/ecma262/#sec-array.prototype.find\n  find: createMethod(5),\n  // `Array.prototype.findIndex` method\n  // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n  findIndex: createMethod(6),\n  // `Array.prototype.filterReject` method\n  // https://github.com/tc39/proposal-array-filtering\n  filterReject: createMethod(7)\n};\n","var aCallable = require('../internals/a-callable');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n  aCallable(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 0: return function () {\n      return fn.call(that);\n    };\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","var isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n  var C;\n  if (isArray(originalArray)) {\n    C = originalArray.constructor;\n    // cross-realm fallback\n    if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n    else if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  } return C === undefined ? Array : C;\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = constructorRegExp.exec;\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(function () { /* empty */ });\n\nvar isConstructorModern = function (argument) {\n  if (!isCallable(argument)) return false;\n  try {\n    construct(Object, empty, argument);\n    return true;\n  } catch (error) {\n    return false;\n  }\n};\n\nvar isConstructorLegacy = function (argument) {\n  if (!isCallable(argument)) return false;\n  switch (classof(argument)) {\n    case 'AsyncFunction':\n    case 'GeneratorFunction':\n    case 'AsyncGeneratorFunction': return false;\n    // we can't check .prototype since constructors produced by .bind haven't it\n  } return INCORRECT_TO_STRING || !!exec.call(constructorRegExp, inspectSource(argument));\n};\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n  var called;\n  return isConstructorModern(isConstructorModern.call)\n    || !isConstructorModern(Object)\n    || !isConstructorModern(function () { called = true; })\n    || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n  var method = [][METHOD_NAME];\n  return !!method && fails(function () {\n    // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n    method.call(null, argument || function () { throw 1; }, 1);\n  });\n};\n","var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn) {\n  var module = { exports: {} };\n\treturn fn(module, module.exports), module.exports;\n}\n\nvar check = function (it) {\n  return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global$1 =\n  // eslint-disable-next-line es/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n\nvar fails = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n\n// Detect IE8's incomplete defineProperty implementation\nvar descriptors = !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor$2 && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nvar f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor$2(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n\nvar objectPropertyIsEnumerable = {\n\tf: f$4\n};\n\nvar createPropertyDescriptor = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n\nvar toString = {}.toString;\n\nvar classofRaw = function (it) {\n  return toString.call(it).slice(8, -1);\n};\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar indexedObject = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nvar requireObjectCoercible = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n  return it;\n};\n\n// toObject with fallback for non-array-like ES3 strings\n\n\n\nvar toIndexedObject = function (it) {\n  return indexedObject(requireObjectCoercible(it));\n};\n\nvar isObject = function (it) {\n  return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nvar toPrimitive = function (input, PREFERRED_STRING) {\n  if (!isObject(input)) return input;\n  var fn, val;\n  if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n  if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n  if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nvar toObject = function (argument) {\n  return Object(requireObjectCoercible(argument));\n};\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar has$1 = function hasOwn(it, key) {\n  return hasOwnProperty.call(toObject(it), key);\n};\n\nvar document$1 = global$1.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document$1) && isObject(document$1.createElement);\n\nvar documentCreateElement = function (it) {\n  return EXISTS ? document$1.createElement(it) : {};\n};\n\n// Thank's IE8 for his funny defineProperty\nvar ie8DomDefine = !descriptors && !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n  return Object.defineProperty(documentCreateElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a != 7;\n});\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nvar f$3 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPrimitive(P, true);\n  if (ie8DomDefine) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);\n};\n\nvar objectGetOwnPropertyDescriptor = {\n\tf: f$3\n};\n\nvar anObject = function (it) {\n  if (!isObject(it)) {\n    throw TypeError(String(it) + ' is not an object');\n  } return it;\n};\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nvar f$2 = descriptors ? $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPrimitive(P, true);\n  anObject(Attributes);\n  if (ie8DomDefine) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n\nvar objectDefineProperty = {\n\tf: f$2\n};\n\nvar createNonEnumerableProperty = descriptors ? function (object, key, value) {\n  return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n\nvar setGlobal = function (key, value) {\n  try {\n    createNonEnumerableProperty(global$1, key, value);\n  } catch (error) {\n    global$1[key] = value;\n  } return value;\n};\n\nvar SHARED = '__core-js_shared__';\nvar store$1 = global$1[SHARED] || setGlobal(SHARED, {});\n\nvar sharedStore = store$1;\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof sharedStore.inspectSource != 'function') {\n  sharedStore.inspectSource = function (it) {\n    return functionToString.call(it);\n  };\n}\n\nvar inspectSource = sharedStore.inspectSource;\n\nvar WeakMap$1 = global$1.WeakMap;\n\nvar nativeWeakMap = typeof WeakMap$1 === 'function' && /native code/.test(inspectSource(WeakMap$1));\n\nvar shared = createCommonjsModule(function (module) {\n(module.exports = function (key, value) {\n  return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: '3.11.2',\n  mode: 'global',\n  copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n});\n\nvar id = 0;\nvar postfix = Math.random();\n\nvar uid = function (key) {\n  return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\nvar keys$2 = shared('keys');\n\nvar sharedKey = function (key) {\n  return keys$2[key] || (keys$2[key] = uid(key));\n};\n\nvar hiddenKeys$1 = {};\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global$1.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (nativeWeakMap) {\n  var store = sharedStore.state || (sharedStore.state = new WeakMap());\n  var wmget = store.get;\n  var wmhas = store.has;\n  var wmset = store.set;\n  set = function (it, metadata) {\n    if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    wmset.call(store, it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return wmget.call(store, it) || {};\n  };\n  has = function (it) {\n    return wmhas.call(store, it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys$1[STATE] = true;\n  set = function (it, metadata) {\n    if (has$1(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return has$1(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return has$1(it, STATE);\n  };\n}\n\nvar internalState = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n\nvar redefine = createCommonjsModule(function (module) {\nvar getInternalState = internalState.get;\nvar enforceInternalState = internalState.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n  var unsafe = options ? !!options.unsafe : false;\n  var simple = options ? !!options.enumerable : false;\n  var noTargetGet = options ? !!options.noTargetGet : false;\n  var state;\n  if (typeof value == 'function') {\n    if (typeof key == 'string' && !has$1(value, 'name')) {\n      createNonEnumerableProperty(value, 'name', key);\n    }\n    state = enforceInternalState(value);\n    if (!state.source) {\n      state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n    }\n  }\n  if (O === global$1) {\n    if (simple) O[key] = value;\n    else setGlobal(key, value);\n    return;\n  } else if (!unsafe) {\n    delete O[key];\n  } else if (!noTargetGet && O[key]) {\n    simple = true;\n  }\n  if (simple) O[key] = value;\n  else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n  return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n});\n\nvar path = global$1;\n\nvar aFunction$1 = function (variable) {\n  return typeof variable == 'function' ? variable : undefined;\n};\n\nvar getBuiltIn = function (namespace, method) {\n  return arguments.length < 2 ? aFunction$1(path[namespace]) || aFunction$1(global$1[namespace])\n    : path[namespace] && path[namespace][method] || global$1[namespace] && global$1[namespace][method];\n};\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nvar toInteger = function (argument) {\n  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\nvar min$2 = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nvar toLength = function (argument) {\n  return argument > 0 ? min$2(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\nvar max = Math.max;\nvar min$1 = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nvar toAbsoluteIndex = function (index, length) {\n  var integer = toInteger(index);\n  return integer < 0 ? max(integer + length, 0) : min$1(integer, length);\n};\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod$3 = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = toLength(O.length);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare -- NaN check\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nvar arrayIncludes = {\n  // `Array.prototype.includes` method\n  // https://tc39.es/ecma262/#sec-array.prototype.includes\n  includes: createMethod$3(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.es/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod$3(false)\n};\n\nvar indexOf = arrayIncludes.indexOf;\n\n\nvar objectKeysInternal = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !has$1(hiddenKeys$1, key) && has$1(O, key) && result.push(key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (has$1(O, key = names[i++])) {\n    ~indexOf(result, key) || result.push(key);\n  }\n  return result;\n};\n\n// IE8- don't enum bug keys\nvar enumBugKeys = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nvar f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return objectKeysInternal(O, hiddenKeys);\n};\n\nvar objectGetOwnPropertyNames = {\n\tf: f$1\n};\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nvar f = Object.getOwnPropertySymbols;\n\nvar objectGetOwnPropertySymbols = {\n\tf: f\n};\n\n// all object keys, includes non-enumerable and symbols\nvar ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n  var keys = objectGetOwnPropertyNames.f(anObject(it));\n  var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;\n  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\nvar copyConstructorProperties = function (target, source) {\n  var keys = ownKeys(source);\n  var defineProperty = objectDefineProperty.f;\n  var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i];\n    if (!has$1(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n  }\n};\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value == POLYFILL ? true\n    : value == NATIVE ? false\n    : typeof detection == 'function' ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nvar isForced_1 = isForced;\n\nvar getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;\n\n\n\n\n\n\n/*\n  options.target      - name of the target object\n  options.global      - target is the global object\n  options.stat        - export as static methods of target\n  options.proto       - export as prototype methods of target\n  options.real        - real prototype method for the `pure` version\n  options.forced      - export even if the native feature is available\n  options.bind        - bind methods to the target, required for the `pure` version\n  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe      - use the simple assignment of property instead of delete + defineProperty\n  options.sham        - add a flag to not completely full polyfills\n  options.enumerable  - export as enumerable property\n  options.noTargetGet - prevent calling a getter on target\n*/\nvar _export = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n  if (GLOBAL) {\n    target = global$1;\n  } else if (STATIC) {\n    target = global$1[TARGET] || setGlobal(TARGET, {});\n  } else {\n    target = (global$1[TARGET] || {}).prototype;\n  }\n  if (target) for (key in source) {\n    sourceProperty = source[key];\n    if (options.noTargetGet) {\n      descriptor = getOwnPropertyDescriptor$1(target, key);\n      targetProperty = descriptor && descriptor.value;\n    } else targetProperty = target[key];\n    FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contained in target\n    if (!FORCED && targetProperty !== undefined) {\n      if (typeof sourceProperty === typeof targetProperty) continue;\n      copyConstructorProperties(sourceProperty, targetProperty);\n    }\n    // add a flag to not completely full polyfills\n    if (options.sham || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(sourceProperty, 'sham', true);\n    }\n    // extend global\n    redefine(target, key, sourceProperty, options);\n  }\n};\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.max_safe_integer\n_export({ target: 'Number', stat: true }, {\n  MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n\nvar aPossiblePrototype = function (it) {\n  if (!isObject(it) && it !== null) {\n    throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n  } return it;\n};\n\n/* eslint-disable no-proto -- safe */\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nvar objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n    setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n    setter.call(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    anObject(O);\n    aPossiblePrototype(proto);\n    if (CORRECT_SETTER) setter.call(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n\n// makes subclassing work correct for wrapped built-ins\nvar inheritIfRequired = function ($this, dummy, Wrapper) {\n  var NewTarget, NewTargetPrototype;\n  if (\n    // it can work only with native `setPrototypeOf`\n    objectSetPrototypeOf &&\n    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n    typeof (NewTarget = dummy.constructor) == 'function' &&\n    NewTarget !== Wrapper &&\n    isObject(NewTargetPrototype = NewTarget.prototype) &&\n    NewTargetPrototype !== Wrapper.prototype\n  ) objectSetPrototypeOf($this, NewTargetPrototype);\n  return $this;\n};\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nvar objectKeys = Object.keys || function keys(O) {\n  return objectKeysInternal(O, enumBugKeys);\n};\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nvar objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = objectKeys(Properties);\n  var length = keys.length;\n  var index = 0;\n  var key;\n  while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);\n  return O;\n};\n\nvar html = getBuiltIn('document', 'documentElement');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO$1 = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n  activeXDocument.write(scriptTag(''));\n  activeXDocument.close();\n  var temp = activeXDocument.parentWindow.Object;\n  activeXDocument = null; // avoid memory leak\n  return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = documentCreateElement('iframe');\n  var JS = 'java' + SCRIPT + ':';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  html.appendChild(iframe);\n  // https://github.com/zloirock/core-js/issues/475\n  iframe.src = String(JS);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(scriptTag('document.F=Object'));\n  iframeDocument.close();\n  return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n  try {\n    /* global ActiveXObject -- old IE */\n    activeXDocument = document.domain && new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n  var length = enumBugKeys.length;\n  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n  return NullProtoObject();\n};\n\nhiddenKeys$1[IE_PROTO$1] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nvar objectCreate = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    EmptyConstructor[PROTOTYPE] = anObject(O);\n    result = new EmptyConstructor();\n    EmptyConstructor[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO$1] = O;\n  } else result = NullProtoObject();\n  return Properties === undefined ? result : objectDefineProperties(result, Properties);\n};\n\n// a string of all valid unicode whitespaces\nvar whitespaces = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n  '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod$2 = function (TYPE) {\n  return function ($this) {\n    var string = String(requireObjectCoercible($this));\n    if (TYPE & 1) string = string.replace(ltrim, '');\n    if (TYPE & 2) string = string.replace(rtrim, '');\n    return string;\n  };\n};\n\nvar stringTrim = {\n  // `String.prototype.{ trimLeft, trimStart }` methods\n  // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n  start: createMethod$2(1),\n  // `String.prototype.{ trimRight, trimEnd }` methods\n  // https://tc39.es/ecma262/#sec-string.prototype.trimend\n  end: createMethod$2(2),\n  // `String.prototype.trim` method\n  // https://tc39.es/ecma262/#sec-string.prototype.trim\n  trim: createMethod$2(3)\n};\n\nvar getOwnPropertyNames$1 = objectGetOwnPropertyNames.f;\nvar getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;\nvar defineProperty$3 = objectDefineProperty.f;\nvar trim = stringTrim.trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global$1[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classofRaw(objectCreate(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n  var it = toPrimitive(argument, false);\n  var first, third, radix, maxCode, digits, length, index, code;\n  if (typeof it == 'string' && it.length > 2) {\n    it = trim(it);\n    first = it.charCodeAt(0);\n    if (first === 43 || first === 45) {\n      third = it.charCodeAt(2);\n      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n    } else if (first === 48) {\n      switch (it.charCodeAt(1)) {\n        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n        default: return +it;\n      }\n      digits = it.slice(2);\n      length = digits.length;\n      for (index = 0; index < length; index++) {\n        code = digits.charCodeAt(index);\n        // parseInt parses a string to a first unavailable symbol\n        // but ToNumber should return NaN if a string contains unavailable symbols\n        if (code < 48 || code > maxCode) return NaN;\n      } return parseInt(digits, radix);\n    }\n  } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced_1(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n  var NumberWrapper = function Number(value) {\n    var it = arguments.length < 1 ? 0 : value;\n    var dummy = this;\n    return dummy instanceof NumberWrapper\n      // check on 1..constructor(foo) case\n      && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classofRaw(dummy) != NUMBER)\n        ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n  };\n  for (var keys$1 = descriptors ? getOwnPropertyNames$1(NativeNumber) : (\n    // ES3:\n    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n    // ES2015 (in case, if modules with ES2015 Number statics required before):\n    'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n    'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n    // ESNext\n    'fromString,range'\n  ).split(','), j = 0, key; keys$1.length > j; j++) {\n    if (has$1(NativeNumber, key = keys$1[j]) && !has$1(NumberWrapper, key)) {\n      defineProperty$3(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n    }\n  }\n  NumberWrapper.prototype = NumberPrototype;\n  NumberPrototype.constructor = NumberWrapper;\n  redefine(global$1, NUMBER, NumberWrapper);\n}\n\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nvar SEMVER_SPEC_VERSION = '2.0.0';\nvar MAX_LENGTH$2 = 256;\nvar MAX_SAFE_INTEGER$2 = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */\n9007199254740991; // Max safe segment length for coercion.\n\nvar MAX_SAFE_COMPONENT_LENGTH = 16;\nvar constants = {\n  SEMVER_SPEC_VERSION: SEMVER_SPEC_VERSION,\n  MAX_LENGTH: MAX_LENGTH$2,\n  MAX_SAFE_INTEGER: MAX_SAFE_INTEGER$2,\n  MAX_SAFE_COMPONENT_LENGTH: MAX_SAFE_COMPONENT_LENGTH\n};\n\nvar engineIsNode = classofRaw(global$1.process) == 'process';\n\nvar engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';\n\nvar process$1 = global$1.process;\nvar versions = process$1 && process$1.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  version = match[0] + match[1];\n} else if (engineUserAgent) {\n  match = engineUserAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = engineUserAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = match[1];\n  }\n}\n\nvar engineV8Version = version && +version;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nvar nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {\n  // eslint-disable-next-line es/no-symbol -- required for testing\n  return !Symbol.sham &&\n    // Chrome 38 Symbol has incorrect toString conversion\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41);\n});\n\n/* eslint-disable es/no-symbol -- required for testing */\n\nvar useSymbolAsUid = nativeSymbol\n  && !Symbol.sham\n  && typeof Symbol.iterator == 'symbol';\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol$1 = global$1.Symbol;\nvar createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;\n\nvar wellKnownSymbol = function (name) {\n  if (!has$1(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {\n    if (nativeSymbol && has$1(Symbol$1, name)) {\n      WellKnownSymbolsStore[name] = Symbol$1[name];\n    } else {\n      WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n    }\n  } return WellKnownSymbolsStore[name];\n};\n\nvar MATCH$1 = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nvar isRegexp = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');\n};\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nvar regexpFlags = function () {\n  var that = anObject(this);\n  var result = '';\n  if (that.global) result += 'g';\n  if (that.ignoreCase) result += 'i';\n  if (that.multiline) result += 'm';\n  if (that.dotAll) result += 's';\n  if (that.unicode) result += 'u';\n  if (that.sticky) result += 'y';\n  return result;\n};\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n  return RegExp(s, f);\n}\n\nvar UNSUPPORTED_Y$3 = fails(function () {\n  // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n  var re = RE('a', 'y');\n  re.lastIndex = 2;\n  return re.exec('abcd') != null;\n});\n\nvar BROKEN_CARET = fails(function () {\n  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n  var re = RE('^r', 'gy');\n  re.lastIndex = 2;\n  return re.exec('str') != null;\n});\n\nvar regexpStickyHelpers = {\n\tUNSUPPORTED_Y: UNSUPPORTED_Y$3,\n\tBROKEN_CARET: BROKEN_CARET\n};\n\nvar SPECIES$4 = wellKnownSymbol('species');\n\nvar setSpecies = function (CONSTRUCTOR_NAME) {\n  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n  var defineProperty = objectDefineProperty.f;\n\n  if (descriptors && Constructor && !Constructor[SPECIES$4]) {\n    defineProperty(Constructor, SPECIES$4, {\n      configurable: true,\n      get: function () { return this; }\n    });\n  }\n};\n\nvar defineProperty$2 = objectDefineProperty.f;\nvar getOwnPropertyNames = objectGetOwnPropertyNames.f;\n\n\n\n\n\nvar enforceInternalState = internalState.enforce;\n\n\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global$1.RegExp;\nvar RegExpPrototype$1 = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED$1 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y$2 || fails(function () {\n  re2[MATCH] = false;\n  // RegExp constructor can alter flags and IsRegExp works correct with @@match\n  return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED$1) {\n  var RegExpWrapper = function RegExp(pattern, flags) {\n    var thisIsRegExp = this instanceof RegExpWrapper;\n    var patternIsRegExp = isRegexp(pattern);\n    var flagsAreUndefined = flags === undefined;\n    var sticky;\n\n    if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n      return pattern;\n    }\n\n    if (CORRECT_NEW) {\n      if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n    } else if (pattern instanceof RegExpWrapper) {\n      if (flagsAreUndefined) flags = regexpFlags.call(pattern);\n      pattern = pattern.source;\n    }\n\n    if (UNSUPPORTED_Y$2) {\n      sticky = !!flags && flags.indexOf('y') > -1;\n      if (sticky) flags = flags.replace(/y/g, '');\n    }\n\n    var result = inheritIfRequired(\n      CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n      thisIsRegExp ? this : RegExpPrototype$1,\n      RegExpWrapper\n    );\n\n    if (UNSUPPORTED_Y$2 && sticky) {\n      var state = enforceInternalState(result);\n      state.sticky = true;\n    }\n\n    return result;\n  };\n  var proxy = function (key) {\n    key in RegExpWrapper || defineProperty$2(RegExpWrapper, key, {\n      configurable: true,\n      get: function () { return NativeRegExp[key]; },\n      set: function (it) { NativeRegExp[key] = it; }\n    });\n  };\n  var keys = getOwnPropertyNames(NativeRegExp);\n  var index = 0;\n  while (keys.length > index) proxy(keys[index++]);\n  RegExpPrototype$1.constructor = RegExpWrapper;\n  RegExpWrapper.prototype = RegExpPrototype$1;\n  redefine(global$1, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n  var re1 = /a/;\n  var re2 = /b*/g;\n  nativeExec.call(re1, 'a');\n  nativeExec.call(re2, 'a');\n  return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\n// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1;\n\nif (PATCH) {\n  patchedExec = function exec(str) {\n    var re = this;\n    var lastIndex, reCopy, match, i;\n    var sticky = UNSUPPORTED_Y$1 && re.sticky;\n    var flags = regexpFlags.call(re);\n    var source = re.source;\n    var charsAdded = 0;\n    var strCopy = str;\n\n    if (sticky) {\n      flags = flags.replace('y', '');\n      if (flags.indexOf('g') === -1) {\n        flags += 'g';\n      }\n\n      strCopy = String(str).slice(re.lastIndex);\n      // Support anchored sticky behavior.\n      if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n        source = '(?: ' + source + ')';\n        strCopy = ' ' + strCopy;\n        charsAdded++;\n      }\n      // ^(? + rx + ) is needed, in combination with some str slicing, to\n      // simulate the 'y' flag.\n      reCopy = new RegExp('^(?:' + source + ')', flags);\n    }\n\n    if (NPCG_INCLUDED) {\n      reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n    }\n    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n    match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n    if (sticky) {\n      if (match) {\n        match.input = match.input.slice(charsAdded);\n        match[0] = match[0].slice(charsAdded);\n        match.index = re.lastIndex;\n        re.lastIndex += match[0].length;\n      } else re.lastIndex = 0;\n    } else if (UPDATES_LAST_INDEX_WRONG && match) {\n      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n    }\n    if (NPCG_INCLUDED && match && match.length > 1) {\n      // Fix browsers whose `exec` methods don't consistently return `undefined`\n      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n      nativeReplace.call(match[0], reCopy, function () {\n        for (i = 1; i < arguments.length - 2; i++) {\n          if (arguments[i] === undefined) match[i] = undefined;\n        }\n      });\n    }\n\n    return match;\n  };\n}\n\nvar regexpExec = patchedExec;\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n_export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {\n  exec: regexpExec\n});\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n  redefine(RegExp.prototype, TO_STRING, function toString() {\n    var R = anObject(this);\n    var p = String(R.source);\n    var rf = R.flags;\n    var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? regexpFlags.call(R) : rf);\n    return '/' + p + '/' + f;\n  }, { unsafe: true });\n}\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nvar isArray = Array.isArray || function isArray(arg) {\n  return classofRaw(arg) == 'Array';\n};\n\nvar createProperty = function (object, key, value) {\n  var propertyKey = toPrimitive(key);\n  if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));\n  else object[propertyKey] = value;\n};\n\nvar SPECIES$3 = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nvar arraySpeciesCreate = function (originalArray, length) {\n  var C;\n  if (isArray(originalArray)) {\n    C = originalArray.constructor;\n    // cross-realm fallback\n    if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n    else if (isObject(C)) {\n      C = C[SPECIES$3];\n      if (C === null) C = undefined;\n    }\n  } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\nvar SPECIES$2 = wellKnownSymbol('species');\n\nvar arrayMethodHasSpeciesSupport = function (METHOD_NAME) {\n  // We can't use this feature detection in V8 since it causes\n  // deoptimization and serious performance degradation\n  // https://github.com/zloirock/core-js/issues/677\n  return engineV8Version >= 51 || !fails(function () {\n    var array = [];\n    var constructor = array.constructor = {};\n    constructor[SPECIES$2] = function () {\n      return { foo: 1 };\n    };\n    return array[METHOD_NAME](Boolean).foo !== 1;\n  });\n};\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER$1 = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = engineV8Version >= 51 || !fails(function () {\n  var array = [];\n  array[IS_CONCAT_SPREADABLE] = false;\n  return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n  if (!isObject(O)) return false;\n  var spreadable = O[IS_CONCAT_SPREADABLE];\n  return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n_export({ target: 'Array', proto: true, forced: FORCED }, {\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  concat: function concat(arg) {\n    var O = toObject(this);\n    var A = arraySpeciesCreate(O, 0);\n    var n = 0;\n    var i, k, length, len, E;\n    for (i = -1, length = arguments.length; i < length; i++) {\n      E = i === -1 ? O : arguments[i];\n      if (isConcatSpreadable(E)) {\n        len = toLength(E.length);\n        if (n + len > MAX_SAFE_INTEGER$1) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n      } else {\n        if (n >= MAX_SAFE_INTEGER$1) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n        createProperty(A, n++, E);\n      }\n    }\n    A.length = n;\n    return A;\n  }\n});\n\nfunction _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function (obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function (obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n\nvar debug = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === 'object' && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? function () {\n  var _console;\n\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return (_console = console).error.apply(_console, ['SEMVER'].concat(args));\n} : function () {};\nvar debug_1 = debug;\n\nvar re_1 = createCommonjsModule(function (module, exports) {\n  var MAX_SAFE_COMPONENT_LENGTH = constants.MAX_SAFE_COMPONENT_LENGTH;\n  exports = module.exports = {}; // The actual regexps go on exports.re\n\n  var re = exports.re = [];\n  var src = exports.src = [];\n  var t = exports.t = {};\n  var R = 0;\n\n  var createToken = function createToken(name, value, isGlobal) {\n    var index = R++;\n    debug_1(index, value);\n    t[name] = index;\n    src[index] = value;\n    re[index] = new RegExp(value, isGlobal ? 'g' : undefined);\n  }; // The following Regular Expressions can be used for tokenizing,\n  // validating, and parsing SemVer version strings.\n  // ## Numeric Identifier\n  // A single `0`, or a non-zero digit followed by zero or more digits.\n\n\n  createToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*');\n  createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+'); // ## Non-numeric Identifier\n  // Zero or more digits, followed by a letter or hyphen, and then zero or\n  // more letters, digits, or hyphens.\n\n  createToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*'); // ## Main Version\n  // Three dot-separated numeric identifiers.\n\n  createToken('MAINVERSION', \"(\".concat(src[t.NUMERICIDENTIFIER], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIER], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIER], \")\"));\n  createToken('MAINVERSIONLOOSE', \"(\".concat(src[t.NUMERICIDENTIFIERLOOSE], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIERLOOSE], \")\\\\.\") + \"(\".concat(src[t.NUMERICIDENTIFIERLOOSE], \")\")); // ## Pre-release Version Identifier\n  // A numeric identifier, or a non-numeric identifier.\n\n  createToken('PRERELEASEIDENTIFIER', \"(?:\".concat(src[t.NUMERICIDENTIFIER], \"|\").concat(src[t.NONNUMERICIDENTIFIER], \")\"));\n  createToken('PRERELEASEIDENTIFIERLOOSE', \"(?:\".concat(src[t.NUMERICIDENTIFIERLOOSE], \"|\").concat(src[t.NONNUMERICIDENTIFIER], \")\")); // ## Pre-release Version\n  // Hyphen, followed by one or more dot-separated pre-release version\n  // identifiers.\n\n  createToken('PRERELEASE', \"(?:-(\".concat(src[t.PRERELEASEIDENTIFIER], \"(?:\\\\.\").concat(src[t.PRERELEASEIDENTIFIER], \")*))\"));\n  createToken('PRERELEASELOOSE', \"(?:-?(\".concat(src[t.PRERELEASEIDENTIFIERLOOSE], \"(?:\\\\.\").concat(src[t.PRERELEASEIDENTIFIERLOOSE], \")*))\")); // ## Build Metadata Identifier\n  // Any combination of digits, letters, or hyphens.\n\n  createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+'); // ## Build Metadata\n  // Plus sign, followed by one or more period-separated build metadata\n  // identifiers.\n\n  createToken('BUILD', \"(?:\\\\+(\".concat(src[t.BUILDIDENTIFIER], \"(?:\\\\.\").concat(src[t.BUILDIDENTIFIER], \")*))\")); // ## Full Version String\n  // A main version, followed optionally by a pre-release version and\n  // build metadata.\n  // Note that the only major, minor, patch, and pre-release sections of\n  // the version string are capturing groups.  The build metadata is not a\n  // capturing group, because it should not ever be used in version\n  // comparison.\n\n  createToken('FULLPLAIN', \"v?\".concat(src[t.MAINVERSION]).concat(src[t.PRERELEASE], \"?\").concat(src[t.BUILD], \"?\"));\n  createToken('FULL', \"^\".concat(src[t.FULLPLAIN], \"$\")); // like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n  // also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n  // common in the npm registry.\n\n  createToken('LOOSEPLAIN', \"[v=\\\\s]*\".concat(src[t.MAINVERSIONLOOSE]).concat(src[t.PRERELEASELOOSE], \"?\").concat(src[t.BUILD], \"?\"));\n  createToken('LOOSE', \"^\".concat(src[t.LOOSEPLAIN], \"$\"));\n  createToken('GTLT', '((?:<|>)?=?)'); // Something like \"2.*\" or \"1.2.x\".\n  // Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n  // Only the first item is strictly required.\n\n  createToken('XRANGEIDENTIFIERLOOSE', \"\".concat(src[t.NUMERICIDENTIFIERLOOSE], \"|x|X|\\\\*\"));\n  createToken('XRANGEIDENTIFIER', \"\".concat(src[t.NUMERICIDENTIFIER], \"|x|X|\\\\*\"));\n  createToken('XRANGEPLAIN', \"[v=\\\\s]*(\".concat(src[t.XRANGEIDENTIFIER], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIER], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIER], \")\") + \"(?:\".concat(src[t.PRERELEASE], \")?\").concat(src[t.BUILD], \"?\") + \")?)?\");\n  createToken('XRANGEPLAINLOOSE', \"[v=\\\\s]*(\".concat(src[t.XRANGEIDENTIFIERLOOSE], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIERLOOSE], \")\") + \"(?:\\\\.(\".concat(src[t.XRANGEIDENTIFIERLOOSE], \")\") + \"(?:\".concat(src[t.PRERELEASELOOSE], \")?\").concat(src[t.BUILD], \"?\") + \")?)?\");\n  createToken('XRANGE', \"^\".concat(src[t.GTLT], \"\\\\s*\").concat(src[t.XRANGEPLAIN], \"$\"));\n  createToken('XRANGELOOSE', \"^\".concat(src[t.GTLT], \"\\\\s*\").concat(src[t.XRANGEPLAINLOOSE], \"$\")); // Coercion.\n  // Extract anything that could conceivably be a part of a valid semver\n\n  createToken('COERCE', \"\".concat('(^|[^\\\\d])' + '(\\\\d{1,').concat(MAX_SAFE_COMPONENT_LENGTH, \"})\") + \"(?:\\\\.(\\\\d{1,\".concat(MAX_SAFE_COMPONENT_LENGTH, \"}))?\") + \"(?:\\\\.(\\\\d{1,\".concat(MAX_SAFE_COMPONENT_LENGTH, \"}))?\") + \"(?:$|[^\\\\d])\");\n  createToken('COERCERTL', src[t.COERCE], true); // Tilde ranges.\n  // Meaning is \"reasonably at or greater than\"\n\n  createToken('LONETILDE', '(?:~>?)');\n  createToken('TILDETRIM', \"(\\\\s*)\".concat(src[t.LONETILDE], \"\\\\s+\"), true);\n  exports.tildeTrimReplace = '$1~';\n  createToken('TILDE', \"^\".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAIN], \"$\"));\n  createToken('TILDELOOSE', \"^\".concat(src[t.LONETILDE]).concat(src[t.XRANGEPLAINLOOSE], \"$\")); // Caret ranges.\n  // Meaning is \"at least and backwards compatible with\"\n\n  createToken('LONECARET', '(?:\\\\^)');\n  createToken('CARETTRIM', \"(\\\\s*)\".concat(src[t.LONECARET], \"\\\\s+\"), true);\n  exports.caretTrimReplace = '$1^';\n  createToken('CARET', \"^\".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAIN], \"$\"));\n  createToken('CARETLOOSE', \"^\".concat(src[t.LONECARET]).concat(src[t.XRANGEPLAINLOOSE], \"$\")); // A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\n\n  createToken('COMPARATORLOOSE', \"^\".concat(src[t.GTLT], \"\\\\s*(\").concat(src[t.LOOSEPLAIN], \")$|^$\"));\n  createToken('COMPARATOR', \"^\".concat(src[t.GTLT], \"\\\\s*(\").concat(src[t.FULLPLAIN], \")$|^$\")); // An expression to strip any whitespace between the gtlt and the thing\n  // it modifies, so that `> 1.2.3` ==> `>1.2.3`\n\n  createToken('COMPARATORTRIM', \"(\\\\s*)\".concat(src[t.GTLT], \"\\\\s*(\").concat(src[t.LOOSEPLAIN], \"|\").concat(src[t.XRANGEPLAIN], \")\"), true);\n  exports.comparatorTrimReplace = '$1$2$3'; // Something like `1.2.3 - 1.2.4`\n  // Note that these all use the loose form, because they'll be\n  // checked against either the strict or loose comparator form\n  // later.\n\n  createToken('HYPHENRANGE', \"^\\\\s*(\".concat(src[t.XRANGEPLAIN], \")\") + \"\\\\s+-\\\\s+\" + \"(\".concat(src[t.XRANGEPLAIN], \")\") + \"\\\\s*$\");\n  createToken('HYPHENRANGELOOSE', \"^\\\\s*(\".concat(src[t.XRANGEPLAINLOOSE], \")\") + \"\\\\s+-\\\\s+\" + \"(\".concat(src[t.XRANGEPLAINLOOSE], \")\") + \"\\\\s*$\"); // Star ranges basically just allow anything at all.\n\n  createToken('STAR', '(<|>)?=?\\\\s*\\\\*'); // >=0.0.0 is like a star\n\n  createToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$');\n  createToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$');\n});\n\n// TODO: Remove from `core-js@4` since it's moved to entry points\n\n\n\n\n\n\nvar SPECIES$1 = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n  // #replace needs built-in support for named groups.\n  // #match works fine because it just return the exec results, even if it has\n  // a \"grops\" property.\n  var re = /./;\n  re.exec = function () {\n    var result = [];\n    result.groups = { a: '7' };\n    return result;\n  };\n  return ''.replace(re, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n  // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n  return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n  if (/./[REPLACE]) {\n    return /./[REPLACE]('a', '$0') === '';\n  }\n  return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n  // eslint-disable-next-line regexp/no-empty-group -- required for testing\n  var re = /(?:)/;\n  var originalExec = re.exec;\n  re.exec = function () { return originalExec.apply(this, arguments); };\n  var result = 'ab'.split(re);\n  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nvar fixRegexpWellKnownSymbolLogic = function (KEY, length, exec, sham) {\n  var SYMBOL = wellKnownSymbol(KEY);\n\n  var DELEGATES_TO_SYMBOL = !fails(function () {\n    // String methods call symbol-named RegEp methods\n    var O = {};\n    O[SYMBOL] = function () { return 7; };\n    return ''[KEY](O) != 7;\n  });\n\n  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n    // Symbol-named RegExp methods call .exec\n    var execCalled = false;\n    var re = /a/;\n\n    if (KEY === 'split') {\n      // We can't use real regex here since it causes deoptimization\n      // and serious performance degradation in V8\n      // https://github.com/zloirock/core-js/issues/306\n      re = {};\n      // RegExp[@@split] doesn't call the regex's exec method, but first creates\n      // a new one. We need to return the patched regex when creating the new one.\n      re.constructor = {};\n      re.constructor[SPECIES$1] = function () { return re; };\n      re.flags = '';\n      re[SYMBOL] = /./[SYMBOL];\n    }\n\n    re.exec = function () { execCalled = true; return null; };\n\n    re[SYMBOL]('');\n    return !execCalled;\n  });\n\n  if (\n    !DELEGATES_TO_SYMBOL ||\n    !DELEGATES_TO_EXEC ||\n    (KEY === 'replace' && !(\n      REPLACE_SUPPORTS_NAMED_GROUPS &&\n      REPLACE_KEEPS_$0 &&\n      !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n    )) ||\n    (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n  ) {\n    var nativeRegExpMethod = /./[SYMBOL];\n    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n      if (regexp.exec === RegExp.prototype.exec) {\n        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n          // The native String method already delegates to @@method (this\n          // polyfilled function), leasing to infinite recursion.\n          // We avoid it by directly calling the native @@method method.\n          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n        }\n        return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n      }\n      return { done: false };\n    }, {\n      REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n      REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n    });\n    var stringMethod = methods[0];\n    var regexMethod = methods[1];\n\n    redefine(String.prototype, KEY, stringMethod);\n    redefine(RegExp.prototype, SYMBOL, length == 2\n      // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n      // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n      ? function (string, arg) { return regexMethod.call(string, this, arg); }\n      // 21.2.5.6 RegExp.prototype[@@match](string)\n      // 21.2.5.9 RegExp.prototype[@@search](string)\n      : function (string) { return regexMethod.call(string, this); }\n    );\n  }\n\n  if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod$1 = function (CONVERT_TO_STRING) {\n  return function ($this, pos) {\n    var S = String(requireObjectCoercible($this));\n    var position = toInteger(pos);\n    var size = S.length;\n    var first, second;\n    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n    first = S.charCodeAt(position);\n    return first < 0xD800 || first > 0xDBFF || position + 1 === size\n      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n        ? CONVERT_TO_STRING ? S.charAt(position) : first\n        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n  };\n};\n\nvar stringMultibyte = {\n  // `String.prototype.codePointAt` method\n  // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n  codeAt: createMethod$1(false),\n  // `String.prototype.at` method\n  // https://github.com/mathiasbynens/String.prototype.at\n  charAt: createMethod$1(true)\n};\n\nvar charAt$1 = stringMultibyte.charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nvar advanceStringIndex = function (S, index, unicode) {\n  return index + (unicode ? charAt$1(S, index).length : 1);\n};\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nvar regexpExecAbstract = function (R, S) {\n  var exec = R.exec;\n  if (typeof exec === 'function') {\n    var result = exec.call(R, S);\n    if (typeof result !== 'object') {\n      throw TypeError('RegExp exec method returned something other than an Object or null');\n    }\n    return result;\n  }\n\n  if (classofRaw(R) !== 'RegExp') {\n    throw TypeError('RegExp#exec called on incompatible receiver');\n  }\n\n  return regexpExec.call(R, S);\n};\n\n// @@match logic\nfixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n  return [\n    // `String.prototype.match` method\n    // https://tc39.es/ecma262/#sec-string.prototype.match\n    function match(regexp) {\n      var O = requireObjectCoercible(this);\n      var matcher = regexp == undefined ? undefined : regexp[MATCH];\n      return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n    },\n    // `RegExp.prototype[@@match]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n    function (regexp) {\n      var res = maybeCallNative(nativeMatch, regexp, this);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n\n      if (!rx.global) return regexpExecAbstract(rx, S);\n\n      var fullUnicode = rx.unicode;\n      rx.lastIndex = 0;\n      var A = [];\n      var n = 0;\n      var result;\n      while ((result = regexpExecAbstract(rx, S)) !== null) {\n        var matchStr = String(result[0]);\n        A[n] = matchStr;\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n        n++;\n      }\n      return n === 0 ? null : A;\n    }\n  ];\n});\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nvar stringTrimForced = function (METHOD_NAME) {\n  return fails(function () {\n    return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n  });\n};\n\nvar $trim = stringTrim.trim;\n\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n_export({ target: 'String', proto: true, forced: stringTrimForced('trim') }, {\n  trim: function trim() {\n    return $trim(this);\n  }\n});\n\nvar aFunction = function (it) {\n  if (typeof it != 'function') {\n    throw TypeError(String(it) + ' is not a function');\n  } return it;\n};\n\n// optional / simple context binding\nvar functionBindContext = function (fn, that, length) {\n  aFunction(fn);\n  if (that === undefined) return fn;\n  switch (length) {\n    case 0: return function () {\n      return fn.call(that);\n    };\n    case 1: return function (a) {\n      return fn.call(that, a);\n    };\n    case 2: return function (a, b) {\n      return fn.call(that, a, b);\n    };\n    case 3: return function (a, b, c) {\n      return fn.call(that, a, b, c);\n    };\n  }\n  return function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n  var IS_MAP = TYPE == 1;\n  var IS_FILTER = TYPE == 2;\n  var IS_SOME = TYPE == 3;\n  var IS_EVERY = TYPE == 4;\n  var IS_FIND_INDEX = TYPE == 6;\n  var IS_FILTER_OUT = TYPE == 7;\n  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n  return function ($this, callbackfn, that, specificCreate) {\n    var O = toObject($this);\n    var self = indexedObject(O);\n    var boundFunction = functionBindContext(callbackfn, that, 3);\n    var length = toLength(self.length);\n    var index = 0;\n    var create = specificCreate || arraySpeciesCreate;\n    var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n    var value, result;\n    for (;length > index; index++) if (NO_HOLES || index in self) {\n      value = self[index];\n      result = boundFunction(value, index, O);\n      if (TYPE) {\n        if (IS_MAP) target[index] = result; // map\n        else if (result) switch (TYPE) {\n          case 3: return true;              // some\n          case 5: return value;             // find\n          case 6: return index;             // findIndex\n          case 2: push.call(target, value); // filter\n        } else switch (TYPE) {\n          case 4: return false;             // every\n          case 7: push.call(target, value); // filterOut\n        }\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n  };\n};\n\nvar arrayIteration = {\n  // `Array.prototype.forEach` method\n  // https://tc39.es/ecma262/#sec-array.prototype.foreach\n  forEach: createMethod(0),\n  // `Array.prototype.map` method\n  // https://tc39.es/ecma262/#sec-array.prototype.map\n  map: createMethod(1),\n  // `Array.prototype.filter` method\n  // https://tc39.es/ecma262/#sec-array.prototype.filter\n  filter: createMethod(2),\n  // `Array.prototype.some` method\n  // https://tc39.es/ecma262/#sec-array.prototype.some\n  some: createMethod(3),\n  // `Array.prototype.every` method\n  // https://tc39.es/ecma262/#sec-array.prototype.every\n  every: createMethod(4),\n  // `Array.prototype.find` method\n  // https://tc39.es/ecma262/#sec-array.prototype.find\n  find: createMethod(5),\n  // `Array.prototype.findIndex` method\n  // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n  findIndex: createMethod(6),\n  // `Array.prototype.filterOut` method\n  // https://github.com/tc39/proposal-array-filtering\n  filterOut: createMethod(7)\n};\n\nvar $map = arrayIteration.map;\n\n\nvar HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT$1 }, {\n  map: function map(callbackfn /* , thisArg */) {\n    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nvar speciesConstructor = function (O, defaultConstructor) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\nvar UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n  var internalSplit;\n  if (\n    'abbc'.split(/(b)*/)[1] == 'c' ||\n    // eslint-disable-next-line regexp/no-empty-group -- required for testing\n    'test'.split(/(?:)/, -1).length != 4 ||\n    'ab'.split(/(?:ab)*/).length != 2 ||\n    '.'.split(/(.?)(.?)/).length != 4 ||\n    // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing\n    '.'.split(/()()/).length > 1 ||\n    ''.split(/.?/).length\n  ) {\n    // based on es5-shim implementation, need to rework it\n    internalSplit = function (separator, limit) {\n      var string = String(requireObjectCoercible(this));\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (separator === undefined) return [string];\n      // If `separator` is not a regex, use native split\n      if (!isRegexp(separator)) {\n        return nativeSplit.call(string, separator, lim);\n      }\n      var output = [];\n      var flags = (separator.ignoreCase ? 'i' : '') +\n                  (separator.multiline ? 'm' : '') +\n                  (separator.unicode ? 'u' : '') +\n                  (separator.sticky ? 'y' : '');\n      var lastLastIndex = 0;\n      // Make `global` and avoid `lastIndex` issues by working with a copy\n      var separatorCopy = new RegExp(separator.source, flags + 'g');\n      var match, lastIndex, lastLength;\n      while (match = regexpExec.call(separatorCopy, string)) {\n        lastIndex = separatorCopy.lastIndex;\n        if (lastIndex > lastLastIndex) {\n          output.push(string.slice(lastLastIndex, match.index));\n          if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n          lastLength = match[0].length;\n          lastLastIndex = lastIndex;\n          if (output.length >= lim) break;\n        }\n        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n      }\n      if (lastLastIndex === string.length) {\n        if (lastLength || !separatorCopy.test('')) output.push('');\n      } else output.push(string.slice(lastLastIndex));\n      return output.length > lim ? output.slice(0, lim) : output;\n    };\n  // Chakra, V8\n  } else if ('0'.split(undefined, 0).length) {\n    internalSplit = function (separator, limit) {\n      return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n    };\n  } else internalSplit = nativeSplit;\n\n  return [\n    // `String.prototype.split` method\n    // https://tc39.es/ecma262/#sec-string.prototype.split\n    function split(separator, limit) {\n      var O = requireObjectCoercible(this);\n      var splitter = separator == undefined ? undefined : separator[SPLIT];\n      return splitter !== undefined\n        ? splitter.call(separator, O, limit)\n        : internalSplit.call(String(O), separator, limit);\n    },\n    // `RegExp.prototype[@@split]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n    //\n    // NOTE: This cannot be properly polyfilled in engines that don't support\n    // the 'y' flag.\n    function (regexp, limit) {\n      var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n      if (res.done) return res.value;\n\n      var rx = anObject(regexp);\n      var S = String(this);\n      var C = speciesConstructor(rx, RegExp);\n\n      var unicodeMatching = rx.unicode;\n      var flags = (rx.ignoreCase ? 'i' : '') +\n                  (rx.multiline ? 'm' : '') +\n                  (rx.unicode ? 'u' : '') +\n                  (UNSUPPORTED_Y ? 'g' : 'y');\n\n      // ^(? + rx + ) is needed, in combination with some S slicing, to\n      // simulate the 'y' flag.\n      var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];\n      var p = 0;\n      var q = 0;\n      var A = [];\n      while (q < S.length) {\n        splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n        var z = regexpExecAbstract(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n        var e;\n        if (\n          z === null ||\n          (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n        ) {\n          q = advanceStringIndex(S, q, unicodeMatching);\n        } else {\n          A.push(S.slice(p, q));\n          if (A.length === lim) return A;\n          for (var i = 1; i <= z.length - 1; i++) {\n            A.push(z[i]);\n            if (A.length === lim) return A;\n          }\n          q = p = e;\n        }\n      }\n      A.push(S.slice(p));\n      return A;\n    }\n  ];\n}, UNSUPPORTED_Y);\n\nvar arrayMethodIsStrict = function (METHOD_NAME, argument) {\n  var method = [][METHOD_NAME];\n  return !!method && fails(function () {\n    // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n    method.call(null, argument || function () { throw 1; }, 1);\n  });\n};\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = indexedObject != Object;\nvar STRICT_METHOD$1 = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n_export({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD$1 }, {\n  join: function join(separator) {\n    return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n  }\n});\n\nvar $filter = arrayIteration.filter;\n\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n_export({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  filter: function filter(callbackfn /* , thisArg */) {\n    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nvar opts = ['includePrerelease', 'loose', 'rtl'];\n\nvar parseOptions = function parseOptions(options) {\n  return !options ? {} : _typeof(options) !== 'object' ? {\n    loose: true\n  } : opts.filter(function (k) {\n    return options[k];\n  }).reduce(function (options, k) {\n    options[k] = true;\n    return options;\n  }, {});\n};\n\nvar parseOptions_1 = parseOptions;\n\nvar numeric = /^[0-9]+$/;\n\nvar compareIdentifiers$1 = function compareIdentifiers(a, b) {\n  var anum = numeric.test(a);\n  var bnum = numeric.test(b);\n\n  if (anum && bnum) {\n    a = +a;\n    b = +b;\n  }\n\n  return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;\n};\n\nvar rcompareIdentifiers = function rcompareIdentifiers(a, b) {\n  return compareIdentifiers$1(b, a);\n};\n\nvar identifiers = {\n  compareIdentifiers: compareIdentifiers$1,\n  rcompareIdentifiers: rcompareIdentifiers\n};\n\nvar MAX_LENGTH$1 = constants.MAX_LENGTH,\n    MAX_SAFE_INTEGER = constants.MAX_SAFE_INTEGER;\nvar re$1 = re_1.re,\n    t$1 = re_1.t;\nvar compareIdentifiers = identifiers.compareIdentifiers;\n\nvar SemVer = /*#__PURE__*/function () {\n  function SemVer(version, options) {\n    _classCallCheck(this, SemVer);\n\n    options = parseOptions_1(options);\n\n    if (version instanceof SemVer) {\n      if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) {\n        return version;\n      } else {\n        version = version.version;\n      }\n    } else if (typeof version !== 'string') {\n      throw new TypeError(\"Invalid Version: \".concat(version));\n    }\n\n    if (version.length > MAX_LENGTH$1) {\n      throw new TypeError(\"version is longer than \".concat(MAX_LENGTH$1, \" characters\"));\n    }\n\n    debug_1('SemVer', version, options);\n    this.options = options;\n    this.loose = !!options.loose; // this isn't actually relevant for versions, but keep it so that we\n    // don't run into trouble passing this.options around.\n\n    this.includePrerelease = !!options.includePrerelease;\n    var m = version.trim().match(options.loose ? re$1[t$1.LOOSE] : re$1[t$1.FULL]);\n\n    if (!m) {\n      throw new TypeError(\"Invalid Version: \".concat(version));\n    }\n\n    this.raw = version; // these are actually numbers\n\n    this.major = +m[1];\n    this.minor = +m[2];\n    this.patch = +m[3];\n\n    if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n      throw new TypeError('Invalid major version');\n    }\n\n    if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n      throw new TypeError('Invalid minor version');\n    }\n\n    if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n      throw new TypeError('Invalid patch version');\n    } // numberify any prerelease numeric ids\n\n\n    if (!m[4]) {\n      this.prerelease = [];\n    } else {\n      this.prerelease = m[4].split('.').map(function (id) {\n        if (/^[0-9]+$/.test(id)) {\n          var num = +id;\n\n          if (num >= 0 && num < MAX_SAFE_INTEGER) {\n            return num;\n          }\n        }\n\n        return id;\n      });\n    }\n\n    this.build = m[5] ? m[5].split('.') : [];\n    this.format();\n  }\n\n  _createClass(SemVer, [{\n    key: \"format\",\n    value: function format() {\n      this.version = \"\".concat(this.major, \".\").concat(this.minor, \".\").concat(this.patch);\n\n      if (this.prerelease.length) {\n        this.version += \"-\".concat(this.prerelease.join('.'));\n      }\n\n      return this.version;\n    }\n  }, {\n    key: \"toString\",\n    value: function toString() {\n      return this.version;\n    }\n  }, {\n    key: \"compare\",\n    value: function compare(other) {\n      debug_1('SemVer.compare', this.version, this.options, other);\n\n      if (!(other instanceof SemVer)) {\n        if (typeof other === 'string' && other === this.version) {\n          return 0;\n        }\n\n        other = new SemVer(other, this.options);\n      }\n\n      if (other.version === this.version) {\n        return 0;\n      }\n\n      return this.compareMain(other) || this.comparePre(other);\n    }\n  }, {\n    key: \"compareMain\",\n    value: function compareMain(other) {\n      if (!(other instanceof SemVer)) {\n        other = new SemVer(other, this.options);\n      }\n\n      return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);\n    }\n  }, {\n    key: \"comparePre\",\n    value: function comparePre(other) {\n      if (!(other instanceof SemVer)) {\n        other = new SemVer(other, this.options);\n      } // NOT having a prerelease is > having one\n\n\n      if (this.prerelease.length && !other.prerelease.length) {\n        return -1;\n      } else if (!this.prerelease.length && other.prerelease.length) {\n        return 1;\n      } else if (!this.prerelease.length && !other.prerelease.length) {\n        return 0;\n      }\n\n      var i = 0;\n\n      do {\n        var a = this.prerelease[i];\n        var b = other.prerelease[i];\n        debug_1('prerelease compare', i, a, b);\n\n        if (a === undefined && b === undefined) {\n          return 0;\n        } else if (b === undefined) {\n          return 1;\n        } else if (a === undefined) {\n          return -1;\n        } else if (a === b) {\n          continue;\n        } else {\n          return compareIdentifiers(a, b);\n        }\n      } while (++i);\n    }\n  }, {\n    key: \"compareBuild\",\n    value: function compareBuild(other) {\n      if (!(other instanceof SemVer)) {\n        other = new SemVer(other, this.options);\n      }\n\n      var i = 0;\n\n      do {\n        var a = this.build[i];\n        var b = other.build[i];\n        debug_1('prerelease compare', i, a, b);\n\n        if (a === undefined && b === undefined) {\n          return 0;\n        } else if (b === undefined) {\n          return 1;\n        } else if (a === undefined) {\n          return -1;\n        } else if (a === b) {\n          continue;\n        } else {\n          return compareIdentifiers(a, b);\n        }\n      } while (++i);\n    } // preminor will bump the version up to the next minor release, and immediately\n    // down to pre-release. premajor and prepatch work the same way.\n\n  }, {\n    key: \"inc\",\n    value: function inc(release, identifier) {\n      switch (release) {\n        case 'premajor':\n          this.prerelease.length = 0;\n          this.patch = 0;\n          this.minor = 0;\n          this.major++;\n          this.inc('pre', identifier);\n          break;\n\n        case 'preminor':\n          this.prerelease.length = 0;\n          this.patch = 0;\n          this.minor++;\n          this.inc('pre', identifier);\n          break;\n\n        case 'prepatch':\n          // If this is already a prerelease, it will bump to the next version\n          // drop any prereleases that might already exist, since they are not\n          // relevant at this point.\n          this.prerelease.length = 0;\n          this.inc('patch', identifier);\n          this.inc('pre', identifier);\n          break;\n        // If the input is a non-prerelease version, this acts the same as\n        // prepatch.\n\n        case 'prerelease':\n          if (this.prerelease.length === 0) {\n            this.inc('patch', identifier);\n          }\n\n          this.inc('pre', identifier);\n          break;\n\n        case 'major':\n          // If this is a pre-major version, bump up to the same major version.\n          // Otherwise increment major.\n          // 1.0.0-5 bumps to 1.0.0\n          // 1.1.0 bumps to 2.0.0\n          if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {\n            this.major++;\n          }\n\n          this.minor = 0;\n          this.patch = 0;\n          this.prerelease = [];\n          break;\n\n        case 'minor':\n          // If this is a pre-minor version, bump up to the same minor version.\n          // Otherwise increment minor.\n          // 1.2.0-5 bumps to 1.2.0\n          // 1.2.1 bumps to 1.3.0\n          if (this.patch !== 0 || this.prerelease.length === 0) {\n            this.minor++;\n          }\n\n          this.patch = 0;\n          this.prerelease = [];\n          break;\n\n        case 'patch':\n          // If this is not a pre-release version, it will increment the patch.\n          // If it is a pre-release it will bump up to the same patch version.\n          // 1.2.0-5 patches to 1.2.0\n          // 1.2.0 patches to 1.2.1\n          if (this.prerelease.length === 0) {\n            this.patch++;\n          }\n\n          this.prerelease = [];\n          break;\n        // This probably shouldn't be used publicly.\n        // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n\n        case 'pre':\n          if (this.prerelease.length === 0) {\n            this.prerelease = [0];\n          } else {\n            var i = this.prerelease.length;\n\n            while (--i >= 0) {\n              if (typeof this.prerelease[i] === 'number') {\n                this.prerelease[i]++;\n                i = -2;\n              }\n            }\n\n            if (i === -1) {\n              // didn't increment anything\n              this.prerelease.push(0);\n            }\n          }\n\n          if (identifier) {\n            // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n            // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n            if (this.prerelease[0] === identifier) {\n              if (isNaN(this.prerelease[1])) {\n                this.prerelease = [identifier, 0];\n              }\n            } else {\n              this.prerelease = [identifier, 0];\n            }\n          }\n\n          break;\n\n        default:\n          throw new Error(\"invalid increment argument: \".concat(release));\n      }\n\n      this.format();\n      this.raw = this.version;\n      return this;\n    }\n  }]);\n\n  return SemVer;\n}();\n\nvar semver = SemVer;\n\nvar MAX_LENGTH = constants.MAX_LENGTH;\nvar re = re_1.re,\n    t = re_1.t;\n\nvar parse = function parse(version, options) {\n  options = parseOptions_1(options);\n\n  if (version instanceof semver) {\n    return version;\n  }\n\n  if (typeof version !== 'string') {\n    return null;\n  }\n\n  if (version.length > MAX_LENGTH) {\n    return null;\n  }\n\n  var r = options.loose ? re[t.LOOSE] : re[t.FULL];\n\n  if (!r.test(version)) {\n    return null;\n  }\n\n  try {\n    return new semver(version, options);\n  } catch (er) {\n    return null;\n  }\n};\n\nvar parse_1 = parse;\n\nvar valid = function valid(version, options) {\n  var v = parse_1(version, options);\n  return v ? v.version : null;\n};\n\nvar valid_1 = valid;\n\nvar major = function major(a, loose) {\n  return new semver(a, loose).major;\n};\n\nvar major_1 = major;\n\nvar packageJson$1 = {\n  name: \"@nextcloud/event-bus\",\n  version: \"1.3.0\",\n  description: \"\",\n  main: \"dist/index.js\",\n  module: \"dist/index.es.js\",\n  types: \"dist/index.d.ts\",\n  scripts: {\n    build: \"NODE_ENV=production rollup -c\",\n    \"build:doc\": \"typedoc --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n    \"check-types\": \"tsc\",\n    dev: \"NODE_ENV=development rollup -c --watch\",\n    test: \"jest\",\n    \"test:watch\": \"jest --watchAll\"\n  },\n  keywords: [\"nextcloud\"],\n  homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n  author: \"Christoph Wurst\",\n  license: \"GPL-3.0-or-later\",\n  repository: {\n    type: \"git\",\n    url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n  },\n  dependencies: {\n    \"@types/semver\": \"^7.3.5\",\n    \"core-js\": \"^3.11.2\",\n    semver: \"^7.3.5\"\n  },\n  devDependencies: {\n    \"@babel/cli\": \"^7.13.16\",\n    \"@babel/core\": \"^7.14.0\",\n    \"@babel/plugin-proposal-class-properties\": \"^7.13.0\",\n    \"@babel/preset-env\": \"^7.14.1\",\n    \"@babel/preset-typescript\": \"^7.13.0\",\n    \"@nextcloud/browserslist-config\": \"^1.0.0\",\n    \"@rollup/plugin-babel\": \"^5.3.0\",\n    \"@rollup/plugin-commonjs\": \"^18.0.0\",\n    \"@rollup/plugin-node-resolve\": \"^11.2.1\",\n    \"babel-jest\": \"^26.6.3\",\n    \"babel-plugin-inline-json-import\": \"^0.3.2\",\n    jest: \"^26.6.3\",\n    rollup: \"^2.47.0\",\n    \"rollup-plugin-inject-process-env\": \"^1.3.1\",\n    \"rollup-plugin-typescript2\": \"^0.30.0\",\n    typedoc: \"^0.20.36\",\n    typescript: \"^4.2.4\"\n  },\n  browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar ProxyBus =\n/** @class */\nfunction () {\n  function ProxyBus(bus) {\n    if (typeof bus.getVersion !== 'function' || !valid_1(bus.getVersion())) {\n      console.warn('Proxying an event bus with an unknown or invalid version');\n    } else if (major_1(bus.getVersion()) !== major_1(this.getVersion())) {\n      console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion());\n    }\n\n    this.bus = bus;\n  }\n\n  ProxyBus.prototype.getVersion = function () {\n    return packageJson$1.version;\n  };\n\n  ProxyBus.prototype.subscribe = function (name, handler) {\n    this.bus.subscribe(name, handler);\n  };\n\n  ProxyBus.prototype.unsubscribe = function (name, handler) {\n    this.bus.unsubscribe(name, handler);\n  };\n\n  ProxyBus.prototype.emit = function (name, event) {\n    this.bus.emit(name, event);\n  };\n\n  return ProxyBus;\n}();\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype$1 = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype$1[UNSCOPABLES] == undefined) {\n  objectDefineProperty.f(ArrayPrototype$1, UNSCOPABLES, {\n    configurable: true,\n    value: objectCreate(null)\n  });\n}\n\n// add a key to Array.prototype[@@unscopables]\nvar addToUnscopables = function (key) {\n  ArrayPrototype$1[UNSCOPABLES][key] = true;\n};\n\nvar iterators = {};\n\nvar correctPrototypeGetter = !fails(function () {\n  function F() { /* empty */ }\n  F.prototype.constructor = null;\n  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n  return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nvar objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {\n  O = toObject(O);\n  if (has$1(O, IE_PROTO)) return O[IE_PROTO];\n  if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n    return O.constructor.prototype;\n  } return O instanceof Object ? ObjectPrototype : null;\n};\n\nvar ITERATOR$5 = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS$1 = false;\n\nvar returnThis$2 = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype$2, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n  arrayIterator = [].keys();\n  // Safari 8 has buggy iterators w/o `next`\n  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS$1 = true;\n  else {\n    PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));\n    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype$2 = PrototypeOfArrayIteratorPrototype;\n  }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype$2 == undefined || fails(function () {\n  var test = {};\n  // FF44- legacy iterators case\n  return IteratorPrototype$2[ITERATOR$5].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!has$1(IteratorPrototype$2, ITERATOR$5)) {\n  createNonEnumerableProperty(IteratorPrototype$2, ITERATOR$5, returnThis$2);\n}\n\nvar iteratorsCore = {\n  IteratorPrototype: IteratorPrototype$2,\n  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1\n};\n\nvar defineProperty$1 = objectDefineProperty.f;\n\n\n\nvar TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');\n\nvar setToStringTag = function (it, TAG, STATIC) {\n  if (it && !has$1(it = STATIC ? it : it.prototype, TO_STRING_TAG$3)) {\n    defineProperty$1(it, TO_STRING_TAG$3, { configurable: true, value: TAG });\n  }\n};\n\nvar IteratorPrototype$1 = iteratorsCore.IteratorPrototype;\n\n\n\n\n\nvar returnThis$1 = function () { return this; };\n\nvar createIteratorConstructor = function (IteratorConstructor, NAME, next) {\n  var TO_STRING_TAG = NAME + ' Iterator';\n  IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, { next: createPropertyDescriptor(1, next) });\n  setToStringTag(IteratorConstructor, TO_STRING_TAG, false);\n  iterators[TO_STRING_TAG] = returnThis$1;\n  return IteratorConstructor;\n};\n\nvar IteratorPrototype = iteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = iteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR$4 = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nvar defineIterator = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n  createIteratorConstructor(IteratorConstructor, NAME, next);\n\n  var getIterationMethod = function (KIND) {\n    if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n    if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n    switch (KIND) {\n      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n    } return function () { return new IteratorConstructor(this); };\n  };\n\n  var TO_STRING_TAG = NAME + ' Iterator';\n  var INCORRECT_VALUES_NAME = false;\n  var IterablePrototype = Iterable.prototype;\n  var nativeIterator = IterablePrototype[ITERATOR$4]\n    || IterablePrototype['@@iterator']\n    || DEFAULT && IterablePrototype[DEFAULT];\n  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n  var CurrentIteratorPrototype, methods, KEY;\n\n  // fix native\n  if (anyNativeIterator) {\n    CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));\n    if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n      if (objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n        if (objectSetPrototypeOf) {\n          objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n        } else if (typeof CurrentIteratorPrototype[ITERATOR$4] != 'function') {\n          createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$4, returnThis);\n        }\n      }\n      // Set @@toStringTag to native iterators\n      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);\n    }\n  }\n\n  // fix Array#{values, @@iterator}.name in V8 / FF\n  if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n    INCORRECT_VALUES_NAME = true;\n    defaultIterator = function values() { return nativeIterator.call(this); };\n  }\n\n  // define iterator\n  if (IterablePrototype[ITERATOR$4] !== defaultIterator) {\n    createNonEnumerableProperty(IterablePrototype, ITERATOR$4, defaultIterator);\n  }\n  iterators[NAME] = defaultIterator;\n\n  // export additional methods\n  if (DEFAULT) {\n    methods = {\n      values: getIterationMethod(VALUES),\n      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n      entries: getIterationMethod(ENTRIES)\n    };\n    if (FORCED) for (KEY in methods) {\n      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n        redefine(IterablePrototype, KEY, methods[KEY]);\n      }\n    } else _export({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n  }\n\n  return methods;\n};\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState$2 = internalState.set;\nvar getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nvar es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {\n  setInternalState$2(this, {\n    type: ARRAY_ITERATOR,\n    target: toIndexedObject(iterated), // target\n    index: 0,                          // next index\n    kind: kind                         // kind\n  });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n  var state = getInternalState$1(this);\n  var target = state.target;\n  var kind = state.kind;\n  var index = state.index++;\n  if (!target || index >= target.length) {\n    state.target = undefined;\n    return { value: undefined, done: true };\n  }\n  if (kind == 'keys') return { value: index, done: false };\n  if (kind == 'values') return { value: target[index], done: false };\n  return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\niterators.Arguments = iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\nvar freezing = !fails(function () {\n  // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n  return Object.isExtensible(Object.preventExtensions({}));\n});\n\nvar internalMetadata = createCommonjsModule(function (module) {\nvar defineProperty = objectDefineProperty.f;\n\n\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\n\nvar setMetadata = function (it) {\n  defineProperty(it, METADATA, { value: {\n    objectID: 'O' + ++id, // object ID\n    weakData: {}          // weak collections IDs\n  } });\n};\n\nvar fastKey = function (it, create) {\n  // return a primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!has$1(it, METADATA)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMetadata(it);\n  // return object ID\n  } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n  if (!has$1(it, METADATA)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMetadata(it);\n  // return the store of weak collections IDs\n  } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (freezing && meta.REQUIRED && isExtensible(it) && !has$1(it, METADATA)) setMetadata(it);\n  return it;\n};\n\nvar meta = module.exports = {\n  REQUIRED: false,\n  fastKey: fastKey,\n  getWeakData: getWeakData,\n  onFreeze: onFreeze\n};\n\nhiddenKeys$1[METADATA] = true;\n});\n\nvar ITERATOR$3 = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nvar isArrayIteratorMethod = function (it) {\n  return it !== undefined && (iterators.Array === it || ArrayPrototype[ITERATOR$3] === it);\n};\n\nvar TO_STRING_TAG$2 = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG$2] = 'z';\n\nvar toStringTagSupport = String(test) === '[object z]';\n\nvar TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nvar classof = toStringTagSupport ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$1)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\nvar ITERATOR$2 = wellKnownSymbol('iterator');\n\nvar getIteratorMethod = function (it) {\n  if (it != undefined) return it[ITERATOR$2]\n    || it['@@iterator']\n    || iterators[classof(it)];\n};\n\nvar iteratorClose = function (iterator) {\n  var returnMethod = iterator['return'];\n  if (returnMethod !== undefined) {\n    return anObject(returnMethod.call(iterator)).value;\n  }\n};\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar iterate = function (iterable, unboundFunction, options) {\n  var that = options && options.that;\n  var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n  var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n  var INTERRUPTED = !!(options && options.INTERRUPTED);\n  var fn = functionBindContext(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n  var iterator, iterFn, index, length, result, next, step;\n\n  var stop = function (condition) {\n    if (iterator) iteratorClose(iterator);\n    return new Result(true, condition);\n  };\n\n  var callFn = function (value) {\n    if (AS_ENTRIES) {\n      anObject(value);\n      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n    } return INTERRUPTED ? fn(value, stop) : fn(value);\n  };\n\n  if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = toLength(iterable.length); length > index; index++) {\n        result = callFn(iterable[index]);\n        if (result && result instanceof Result) return result;\n      } return new Result(false);\n    }\n    iterator = iterFn.call(iterable);\n  }\n\n  next = iterator.next;\n  while (!(step = next.call(iterator)).done) {\n    try {\n      result = callFn(step.value);\n    } catch (error) {\n      iteratorClose(iterator);\n      throw error;\n    }\n    if (typeof result == 'object' && result && result instanceof Result) return result;\n  } return new Result(false);\n};\n\nvar anInstance = function (it, Constructor, name) {\n  if (!(it instanceof Constructor)) {\n    throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n  } return it;\n};\n\nvar ITERATOR$1 = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var called = 0;\n  var iteratorWithReturn = {\n    next: function () {\n      return { done: !!called++ };\n    },\n    'return': function () {\n      SAFE_CLOSING = true;\n    }\n  };\n  iteratorWithReturn[ITERATOR$1] = function () {\n    return this;\n  };\n  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n  Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nvar checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) {\n  if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n  var ITERATION_SUPPORT = false;\n  try {\n    var object = {};\n    object[ITERATOR$1] = function () {\n      return {\n        next: function () {\n          return { done: ITERATION_SUPPORT = true };\n        }\n      };\n    };\n    exec(object);\n  } catch (error) { /* empty */ }\n  return ITERATION_SUPPORT;\n};\n\nvar collection = function (CONSTRUCTOR_NAME, wrapper, common) {\n  var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n  var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n  var ADDER = IS_MAP ? 'set' : 'add';\n  var NativeConstructor = global$1[CONSTRUCTOR_NAME];\n  var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n  var Constructor = NativeConstructor;\n  var exported = {};\n\n  var fixMethod = function (KEY) {\n    var nativeMethod = NativePrototype[KEY];\n    redefine(NativePrototype, KEY,\n      KEY == 'add' ? function add(value) {\n        nativeMethod.call(this, value === 0 ? 0 : value);\n        return this;\n      } : KEY == 'delete' ? function (key) {\n        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : KEY == 'get' ? function get(key) {\n        return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : KEY == 'has' ? function has(key) {\n        return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n      } : function set(key, value) {\n        nativeMethod.call(this, key === 0 ? 0 : key, value);\n        return this;\n      }\n    );\n  };\n\n  var REPLACE = isForced_1(\n    CONSTRUCTOR_NAME,\n    typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n      new NativeConstructor().entries().next();\n    }))\n  );\n\n  if (REPLACE) {\n    // create collection constructor\n    Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n    internalMetadata.REQUIRED = true;\n  } else if (isForced_1(CONSTRUCTOR_NAME, true)) {\n    var instance = new Constructor();\n    // early implementations not supports chaining\n    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n    // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n    // most early implementations doesn't supports iterables, most modern - not close it correctly\n    // eslint-disable-next-line no-new -- required for testing\n    var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n    // for early implementations -0 and +0 not the same\n    var BUGGY_ZERO = !IS_WEAK && fails(function () {\n      // V8 ~ Chromium 42- fails only with 5+ elements\n      var $instance = new NativeConstructor();\n      var index = 5;\n      while (index--) $instance[ADDER](index, index);\n      return !$instance.has(-0);\n    });\n\n    if (!ACCEPT_ITERABLES) {\n      Constructor = wrapper(function (dummy, iterable) {\n        anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n        var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n        if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n        return that;\n      });\n      Constructor.prototype = NativePrototype;\n      NativePrototype.constructor = Constructor;\n    }\n\n    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n      fixMethod('delete');\n      fixMethod('has');\n      IS_MAP && fixMethod('get');\n    }\n\n    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n    // weak collections should not contains .clear method\n    if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n  }\n\n  exported[CONSTRUCTOR_NAME] = Constructor;\n  _export({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n  setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n  if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n  return Constructor;\n};\n\nvar redefineAll = function (target, src, options) {\n  for (var key in src) redefine(target, key, src[key], options);\n  return target;\n};\n\nvar defineProperty = objectDefineProperty.f;\n\n\n\n\n\n\n\n\nvar fastKey = internalMetadata.fastKey;\n\n\nvar setInternalState$1 = internalState.set;\nvar internalStateGetterFor = internalState.getterFor;\n\nvar collectionStrong = {\n  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n    var C = wrapper(function (that, iterable) {\n      anInstance(that, C, CONSTRUCTOR_NAME);\n      setInternalState$1(that, {\n        type: CONSTRUCTOR_NAME,\n        index: objectCreate(null),\n        first: undefined,\n        last: undefined,\n        size: 0\n      });\n      if (!descriptors) that.size = 0;\n      if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n    });\n\n    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n    var define = function (that, key, value) {\n      var state = getInternalState(that);\n      var entry = getEntry(that, key);\n      var previous, index;\n      // change existing entry\n      if (entry) {\n        entry.value = value;\n      // create new entry\n      } else {\n        state.last = entry = {\n          index: index = fastKey(key, true),\n          key: key,\n          value: value,\n          previous: previous = state.last,\n          next: undefined,\n          removed: false\n        };\n        if (!state.first) state.first = entry;\n        if (previous) previous.next = entry;\n        if (descriptors) state.size++;\n        else that.size++;\n        // add to index\n        if (index !== 'F') state.index[index] = entry;\n      } return that;\n    };\n\n    var getEntry = function (that, key) {\n      var state = getInternalState(that);\n      // fast case\n      var index = fastKey(key);\n      var entry;\n      if (index !== 'F') return state.index[index];\n      // frozen object case\n      for (entry = state.first; entry; entry = entry.next) {\n        if (entry.key == key) return entry;\n      }\n    };\n\n    redefineAll(C.prototype, {\n      // 23.1.3.1 Map.prototype.clear()\n      // 23.2.3.2 Set.prototype.clear()\n      clear: function clear() {\n        var that = this;\n        var state = getInternalState(that);\n        var data = state.index;\n        var entry = state.first;\n        while (entry) {\n          entry.removed = true;\n          if (entry.previous) entry.previous = entry.previous.next = undefined;\n          delete data[entry.index];\n          entry = entry.next;\n        }\n        state.first = state.last = undefined;\n        if (descriptors) state.size = 0;\n        else that.size = 0;\n      },\n      // 23.1.3.3 Map.prototype.delete(key)\n      // 23.2.3.4 Set.prototype.delete(value)\n      'delete': function (key) {\n        var that = this;\n        var state = getInternalState(that);\n        var entry = getEntry(that, key);\n        if (entry) {\n          var next = entry.next;\n          var prev = entry.previous;\n          delete state.index[entry.index];\n          entry.removed = true;\n          if (prev) prev.next = next;\n          if (next) next.previous = prev;\n          if (state.first == entry) state.first = next;\n          if (state.last == entry) state.last = prev;\n          if (descriptors) state.size--;\n          else that.size--;\n        } return !!entry;\n      },\n      // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n      // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n      forEach: function forEach(callbackfn /* , that = undefined */) {\n        var state = getInternalState(this);\n        var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n        var entry;\n        while (entry = entry ? entry.next : state.first) {\n          boundFunction(entry.value, entry.key, this);\n          // revert to the last existing entry\n          while (entry && entry.removed) entry = entry.previous;\n        }\n      },\n      // 23.1.3.7 Map.prototype.has(key)\n      // 23.2.3.7 Set.prototype.has(value)\n      has: function has(key) {\n        return !!getEntry(this, key);\n      }\n    });\n\n    redefineAll(C.prototype, IS_MAP ? {\n      // 23.1.3.6 Map.prototype.get(key)\n      get: function get(key) {\n        var entry = getEntry(this, key);\n        return entry && entry.value;\n      },\n      // 23.1.3.9 Map.prototype.set(key, value)\n      set: function set(key, value) {\n        return define(this, key === 0 ? 0 : key, value);\n      }\n    } : {\n      // 23.2.3.1 Set.prototype.add(value)\n      add: function add(value) {\n        return define(this, value = value === 0 ? 0 : value, value);\n      }\n    });\n    if (descriptors) defineProperty(C.prototype, 'size', {\n      get: function () {\n        return getInternalState(this).size;\n      }\n    });\n    return C;\n  },\n  setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n    var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n    var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n    var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n    // add .keys, .values, .entries, [@@iterator]\n    // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n    defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n      setInternalState$1(this, {\n        type: ITERATOR_NAME,\n        target: iterated,\n        state: getInternalCollectionState(iterated),\n        kind: kind,\n        last: undefined\n      });\n    }, function () {\n      var state = getInternalIteratorState(this);\n      var kind = state.kind;\n      var entry = state.last;\n      // revert to the last existing entry\n      while (entry && entry.removed) entry = entry.previous;\n      // get next entry\n      if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n        // or finish the iteration\n        state.target = undefined;\n        return { value: undefined, done: true };\n      }\n      // return step by kind\n      if (kind == 'keys') return { value: entry.key, done: false };\n      if (kind == 'values') return { value: entry.value, done: false };\n      return { value: [entry.key, entry.value], done: false };\n    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n    // add [@@species], 23.1.2.2, 23.2.2.2\n    setSpecies(CONSTRUCTOR_NAME);\n  }\n};\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n  return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nvar objectToString = toStringTagSupport ? {}.toString : function toString() {\n  return '[object ' + classof(this) + ']';\n};\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!toStringTagSupport) {\n  redefine(Object.prototype, 'toString', objectToString, { unsafe: true });\n}\n\nvar charAt = stringMultibyte.charAt;\n\n\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = internalState.set;\nvar getInternalState = internalState.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n  setInternalState(this, {\n    type: STRING_ITERATOR,\n    string: String(iterated),\n    index: 0\n  });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n  var state = getInternalState(this);\n  var string = state.string;\n  var index = state.index;\n  var point;\n  if (index >= string.length) return { value: undefined, done: true };\n  point = charAt(string, index);\n  state.index += point.length;\n  return { value: point, done: false };\n});\n\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nvar domIterables = {\n  CSSRuleList: 0,\n  CSSStyleDeclaration: 0,\n  CSSValueList: 0,\n  ClientRectList: 0,\n  DOMRectList: 0,\n  DOMStringList: 0,\n  DOMTokenList: 1,\n  DataTransferItemList: 0,\n  FileList: 0,\n  HTMLAllCollection: 0,\n  HTMLCollection: 0,\n  HTMLFormElement: 0,\n  HTMLSelectElement: 0,\n  MediaList: 0,\n  MimeTypeArray: 0,\n  NamedNodeMap: 0,\n  NodeList: 1,\n  PaintRequestList: 0,\n  Plugin: 0,\n  PluginArray: 0,\n  SVGLengthList: 0,\n  SVGNumberList: 0,\n  SVGPathSegList: 0,\n  SVGPointList: 0,\n  SVGStringList: 0,\n  SVGTransformList: 0,\n  SourceBufferList: 0,\n  StyleSheetList: 0,\n  TextTrackCueList: 0,\n  TextTrackList: 0,\n  TouchList: 0\n};\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = es_array_iterator.values;\n\nfor (var COLLECTION_NAME$1 in domIterables) {\n  var Collection$1 = global$1[COLLECTION_NAME$1];\n  var CollectionPrototype$1 = Collection$1 && Collection$1.prototype;\n  if (CollectionPrototype$1) {\n    // some Chrome versions have non-configurable methods on DOMTokenList\n    if (CollectionPrototype$1[ITERATOR] !== ArrayValues) try {\n      createNonEnumerableProperty(CollectionPrototype$1, ITERATOR, ArrayValues);\n    } catch (error) {\n      CollectionPrototype$1[ITERATOR] = ArrayValues;\n    }\n    if (!CollectionPrototype$1[TO_STRING_TAG]) {\n      createNonEnumerableProperty(CollectionPrototype$1, TO_STRING_TAG, COLLECTION_NAME$1);\n    }\n    if (domIterables[COLLECTION_NAME$1]) for (var METHOD_NAME in es_array_iterator) {\n      // some Chrome versions have non-configurable methods on DOMTokenList\n      if (CollectionPrototype$1[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {\n        createNonEnumerableProperty(CollectionPrototype$1, METHOD_NAME, es_array_iterator[METHOD_NAME]);\n      } catch (error) {\n        CollectionPrototype$1[METHOD_NAME] = es_array_iterator[METHOD_NAME];\n      }\n    }\n  }\n}\n\nvar $forEach = arrayIteration.forEach;\n\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nvar arrayForEach = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n\nfor (var COLLECTION_NAME in domIterables) {\n  var Collection = global$1[COLLECTION_NAME];\n  var CollectionPrototype = Collection && Collection.prototype;\n  // some Chrome versions have non-configurable methods on DOMTokenList\n  if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {\n    createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);\n  } catch (error) {\n    CollectionPrototype.forEach = arrayForEach;\n  }\n}\n\nvar packageJson = {\n  name: \"@nextcloud/event-bus\",\n  version: \"1.3.0\",\n  description: \"\",\n  main: \"dist/index.js\",\n  module: \"dist/index.es.js\",\n  types: \"dist/index.d.ts\",\n  scripts: {\n    build: \"NODE_ENV=production rollup -c\",\n    \"build:doc\": \"typedoc --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n    \"check-types\": \"tsc\",\n    dev: \"NODE_ENV=development rollup -c --watch\",\n    test: \"jest\",\n    \"test:watch\": \"jest --watchAll\"\n  },\n  keywords: [\"nextcloud\"],\n  homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n  author: \"Christoph Wurst\",\n  license: \"GPL-3.0-or-later\",\n  repository: {\n    type: \"git\",\n    url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n  },\n  dependencies: {\n    \"@types/semver\": \"^7.3.5\",\n    \"core-js\": \"^3.11.2\",\n    semver: \"^7.3.5\"\n  },\n  devDependencies: {\n    \"@babel/cli\": \"^7.13.16\",\n    \"@babel/core\": \"^7.14.0\",\n    \"@babel/plugin-proposal-class-properties\": \"^7.13.0\",\n    \"@babel/preset-env\": \"^7.14.1\",\n    \"@babel/preset-typescript\": \"^7.13.0\",\n    \"@nextcloud/browserslist-config\": \"^1.0.0\",\n    \"@rollup/plugin-babel\": \"^5.3.0\",\n    \"@rollup/plugin-commonjs\": \"^18.0.0\",\n    \"@rollup/plugin-node-resolve\": \"^11.2.1\",\n    \"babel-jest\": \"^26.6.3\",\n    \"babel-plugin-inline-json-import\": \"^0.3.2\",\n    jest: \"^26.6.3\",\n    rollup: \"^2.47.0\",\n    \"rollup-plugin-inject-process-env\": \"^1.3.1\",\n    \"rollup-plugin-typescript2\": \"^0.30.0\",\n    typedoc: \"^0.20.36\",\n    typescript: \"^4.2.4\"\n  },\n  browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar SimpleBus =\n/** @class */\nfunction () {\n  function SimpleBus() {\n    this.handlers = new Map();\n  }\n\n  SimpleBus.prototype.getVersion = function () {\n    return packageJson.version;\n  };\n\n  SimpleBus.prototype.subscribe = function (name, handler) {\n    this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n  };\n\n  SimpleBus.prototype.unsubscribe = function (name, handler) {\n    this.handlers.set(name, (this.handlers.get(name) || []).filter(function (h) {\n      return h != handler;\n    }));\n  };\n\n  SimpleBus.prototype.emit = function (name, event) {\n    (this.handlers.get(name) || []).forEach(function (h) {\n      try {\n        h(event);\n      } catch (e) {\n        console.error('could not invoke event listener', e);\n      }\n    });\n  };\n\n  return SimpleBus;\n}();\n\nfunction getBus() {\n  if (typeof window.OC !== 'undefined' && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n    console.warn('found old event bus instance at OC._eventBus. Update your version!');\n    window._nc_event_bus = window.OC._eventBus;\n  } // Either use an existing event bus instance or create one\n\n\n  if (typeof window._nc_event_bus !== 'undefined') {\n    return new ProxyBus(window._nc_event_bus);\n  } else {\n    return window._nc_event_bus = new SimpleBus();\n  }\n}\n\nvar bus = getBus();\n/**\r\n * Register an event listener\r\n *\r\n * @param name name of the event\r\n * @param handler callback invoked for every matching event emitted on the bus\r\n */\n\nfunction subscribe(name, handler) {\n  bus.subscribe(name, handler);\n}\n/**\r\n * Unregister a previously registered event listener\r\n *\r\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\r\n *\r\n * @param name name of the event\r\n * @param handler callback passed to `subscribed`\r\n */\n\nfunction unsubscribe(name, handler) {\n  bus.unsubscribe(name, handler);\n}\n/**\r\n * Emit an event\r\n *\r\n * @param name name of the event\r\n * @param event event payload\r\n */\n\nfunction emit(name, event) {\n  bus.emit(name, event);\n}\n\nexport { emit, subscribe, unsubscribe };\n//# sourceMappingURL=index.es.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getCurrentUser = getCurrentUser;\n/// <reference types=\"@nextcloud/typings\" />\nvar uidElement = document.getElementsByTagName('head')[0];\nvar uid = uidElement ? uidElement.getAttribute('data-user') : null;\nvar displayNameElement = document.getElementsByTagName('head')[0];\nvar displayName = displayNameElement ? displayNameElement.getAttribute('data-user-displayname') : null;\nvar isAdmin = typeof OC === 'undefined' ? false : OC.isUserAdmin();\n\nfunction getCurrentUser() {\n  if (uid === null) {\n    return null;\n  }\n\n  return {\n    uid: uid,\n    displayName: displayName,\n    isAdmin: isAdmin\n  };\n}\n//# sourceMappingURL=user.js.map","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n  return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n  // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n  return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n  if (/./[REPLACE]) {\n    return /./[REPLACE]('a', '$0') === '';\n  }\n  return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n  var re = /./;\n  re.exec = function () {\n    var result = [];\n    result.groups = { a: '7' };\n    return result;\n  };\n  // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n  return ''.replace(re, '$<a>') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n  var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n  return [\n    // `String.prototype.replace` method\n    // https://tc39.es/ecma262/#sec-string.prototype.replace\n    function replace(searchValue, replaceValue) {\n      var O = requireObjectCoercible(this);\n      var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE);\n      return replacer\n        ? replacer.call(searchValue, O, replaceValue)\n        : nativeReplace.call(toString(O), searchValue, replaceValue);\n    },\n    // `RegExp.prototype[@@replace]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n    function (string, replaceValue) {\n      var rx = anObject(this);\n      var S = toString(string);\n\n      if (\n        typeof replaceValue === 'string' &&\n        replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1 &&\n        replaceValue.indexOf('$<') === -1\n      ) {\n        var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n        if (res.done) return res.value;\n      }\n\n      var functionalReplace = isCallable(replaceValue);\n      if (!functionalReplace) replaceValue = toString(replaceValue);\n\n      var global = rx.global;\n      if (global) {\n        var fullUnicode = rx.unicode;\n        rx.lastIndex = 0;\n      }\n      var results = [];\n      while (true) {\n        var result = regExpExec(rx, S);\n        if (result === null) break;\n\n        results.push(result);\n        if (!global) break;\n\n        var matchStr = toString(result[0]);\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n      }\n\n      var accumulatedResult = '';\n      var nextSourcePosition = 0;\n      for (var i = 0; i < results.length; i++) {\n        result = results[i];\n\n        var matched = toString(result[0]);\n        var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n        var captures = [];\n        // NOTE: This is equivalent to\n        //   captures = result.slice(1).map(maybeToString)\n        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n        // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n        for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n        var namedCaptures = result.groups;\n        if (functionalReplace) {\n          var replacerArgs = [matched].concat(captures, position, S);\n          if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n          var replacement = toString(replaceValue.apply(undefined, replacerArgs));\n        } else {\n          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n        }\n        if (position >= nextSourcePosition) {\n          accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n          nextSourcePosition = position + matched.length;\n        }\n      }\n      return accumulatedResult + S.slice(nextSourcePosition);\n    }\n  ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n  var SYMBOL = wellKnownSymbol(KEY);\n\n  var DELEGATES_TO_SYMBOL = !fails(function () {\n    // String methods call symbol-named RegEp methods\n    var O = {};\n    O[SYMBOL] = function () { return 7; };\n    return ''[KEY](O) != 7;\n  });\n\n  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n    // Symbol-named RegExp methods call .exec\n    var execCalled = false;\n    var re = /a/;\n\n    if (KEY === 'split') {\n      // We can't use real regex here since it causes deoptimization\n      // and serious performance degradation in V8\n      // https://github.com/zloirock/core-js/issues/306\n      re = {};\n      // RegExp[@@split] doesn't call the regex's exec method, but first creates\n      // a new one. We need to return the patched regex when creating the new one.\n      re.constructor = {};\n      re.constructor[SPECIES] = function () { return re; };\n      re.flags = '';\n      re[SYMBOL] = /./[SYMBOL];\n    }\n\n    re.exec = function () { execCalled = true; return null; };\n\n    re[SYMBOL]('');\n    return !execCalled;\n  });\n\n  if (\n    !DELEGATES_TO_SYMBOL ||\n    !DELEGATES_TO_EXEC ||\n    FORCED\n  ) {\n    var nativeRegExpMethod = /./[SYMBOL];\n    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n      var $exec = regexp.exec;\n      if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n          // The native String method already delegates to @@method (this\n          // polyfilled function), leasing to infinite recursion.\n          // We avoid it by directly calling the native @@method method.\n          return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n        }\n        return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n      }\n      return { done: false };\n    });\n\n    redefine(String.prototype, KEY, methods[0]);\n    redefine(RegExpPrototype, SYMBOL, methods[1]);\n  }\n\n  if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n  exec: exec\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n  var that = anObject(this);\n  var result = '';\n  if (that.global) result += 'g';\n  if (that.ignoreCase) result += 'i';\n  if (that.multiline) result += 'm';\n  if (that.dotAll) result += 's';\n  if (that.unicode) result += 'u';\n  if (that.sticky) result += 'y';\n  return result;\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nexports.UNSUPPORTED_Y = fails(function () {\n  var re = $RegExp('a', 'y');\n  re.lastIndex = 2;\n  return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n  var re = $RegExp('^r', 'gy');\n  re.lastIndex = 2;\n  return re.exec('str') != null;\n});\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n  activeXDocument.write(scriptTag(''));\n  activeXDocument.close();\n  var temp = activeXDocument.parentWindow.Object;\n  activeXDocument = null; // avoid memory leak\n  return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = documentCreateElement('iframe');\n  var JS = 'java' + SCRIPT + ':';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  html.appendChild(iframe);\n  // https://github.com/zloirock/core-js/issues/475\n  iframe.src = String(JS);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(scriptTag('document.F=Object'));\n  iframeDocument.close();\n  return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n  try {\n    activeXDocument = new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = typeof document != 'undefined'\n    ? document.domain && activeXDocument\n      ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n      : NullProtoObjectViaIFrame()\n    : NullProtoObjectViaActiveX(activeXDocument); // WSH\n  var length = enumBugKeys.length;\n  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n  return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    EmptyConstructor[PROTOTYPE] = anObject(O);\n    result = new EmptyConstructor();\n    EmptyConstructor[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = NullProtoObject();\n  return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var keys = objectKeys(Properties);\n  var length = keys.length;\n  var index = 0;\n  var key;\n  while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n  return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n  var re = $RegExp('.', 's');\n  return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n  var re = $RegExp('(?<a>b)', 'g');\n  return re.exec('b').groups.a !== 'b' ||\n    'b'.replace(re, '$<a>c') !== 'bc';\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n  return index + (unicode ? charAt(S, index).length : 1);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar createMethod = function (CONVERT_TO_STRING) {\n  return function ($this, pos) {\n    var S = toString(requireObjectCoercible($this));\n    var position = toIntegerOrInfinity(pos);\n    var size = S.length;\n    var first, second;\n    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n    first = S.charCodeAt(position);\n    return first < 0xD800 || first > 0xDBFF || position + 1 === size\n      || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n        ? CONVERT_TO_STRING ? S.charAt(position) : first\n        : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.codePointAt` method\n  // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n  codeAt: createMethod(false),\n  // `String.prototype.at` method\n  // https://github.com/mathiasbynens/String.prototype.at\n  charAt: createMethod(true)\n};\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n  var tailPos = position + matched.length;\n  var m = captures.length;\n  var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n  if (namedCaptures !== undefined) {\n    namedCaptures = toObject(namedCaptures);\n    symbols = SUBSTITUTION_SYMBOLS;\n  }\n  return replace.call(replacement, symbols, function (match, ch) {\n    var capture;\n    switch (ch.charAt(0)) {\n      case '$': return '$';\n      case '&': return matched;\n      case '`': return str.slice(0, position);\n      case \"'\": return str.slice(tailPos);\n      case '<':\n        capture = namedCaptures[ch.slice(1, -1)];\n        break;\n      default: // \\d\\d?\n        var n = +ch;\n        if (n === 0) return match;\n        if (n > m) {\n          var f = floor(n / 10);\n          if (f === 0) return match;\n          if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n          return match;\n        }\n        capture = captures[n - 1];\n    }\n    return capture === undefined ? '' : capture;\n  });\n};\n","var anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n  var exec = R.exec;\n  if (isCallable(exec)) {\n    var result = exec.call(R, S);\n    if (result !== null) anObject(result);\n    return result;\n  }\n  if (classof(R) === 'RegExp') return regexpExec.call(R, S);\n  throw TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n  var array = [];\n  array[IS_CONCAT_SPREADABLE] = false;\n  return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n  if (!isObject(O)) return false;\n  var spreadable = O[IS_CONCAT_SPREADABLE];\n  return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  concat: function concat(arg) {\n    var O = toObject(this);\n    var A = arraySpeciesCreate(O, 0);\n    var n = 0;\n    var i, k, length, len, E;\n    for (i = -1, length = arguments.length; i < length; i++) {\n      E = i === -1 ? O : arguments[i];\n      if (isConcatSpreadable(E)) {\n        len = lengthOfArrayLike(E);\n        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n      } else {\n        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n        createProperty(A, n++, E);\n      }\n    }\n    A.length = n;\n    return A;\n  }\n});\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n  var propertyKey = toPropertyKey(key);\n  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n  else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n  // We can't use this feature detection in V8 since it causes\n  // deoptimization and serious performance degradation\n  // https://github.com/zloirock/core-js/issues/677\n  return V8_VERSION >= 51 || !fails(function () {\n    var array = [];\n    var constructor = array.constructor = {};\n    constructor[SPECIES] = function () {\n      return { foo: 1 };\n    };\n    return array[METHOD_NAME](Boolean).foo !== 1;\n  });\n};\n","var scope = (typeof global !== \"undefined\" && global) ||\n            (typeof self !== \"undefined\" && self) ||\n            window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n  return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n  return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n  if (timeout) {\n    timeout.close();\n  }\n};\n\nfunction Timeout(id, clearFn) {\n  this._id = id;\n  this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n  this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n  clearTimeout(item._idleTimeoutId);\n  item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n  clearTimeout(item._idleTimeoutId);\n  item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n  clearTimeout(item._idleTimeoutId);\n\n  var msecs = item._idleTimeout;\n  if (msecs >= 0) {\n    item._idleTimeoutId = setTimeout(function onTimeout() {\n      if (item._onTimeout)\n        item._onTimeout();\n    }, msecs);\n  }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto.  Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n                       (typeof global !== \"undefined\" && global.setImmediate) ||\n                       (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n                         (typeof global !== \"undefined\" && global.clearImmediate) ||\n                         (this && this.clearImmediate);\n","(function (global, undefined) {\n    \"use strict\";\n\n    if (global.setImmediate) {\n        return;\n    }\n\n    var nextHandle = 1; // Spec says greater than zero\n    var tasksByHandle = {};\n    var currentlyRunningATask = false;\n    var doc = global.document;\n    var registerImmediate;\n\n    function setImmediate(callback) {\n      // Callback can either be a function or a string\n      if (typeof callback !== \"function\") {\n        callback = new Function(\"\" + callback);\n      }\n      // Copy function arguments\n      var args = new Array(arguments.length - 1);\n      for (var i = 0; i < args.length; i++) {\n          args[i] = arguments[i + 1];\n      }\n      // Store and register the task\n      var task = { callback: callback, args: args };\n      tasksByHandle[nextHandle] = task;\n      registerImmediate(nextHandle);\n      return nextHandle++;\n    }\n\n    function clearImmediate(handle) {\n        delete tasksByHandle[handle];\n    }\n\n    function run(task) {\n        var callback = task.callback;\n        var args = task.args;\n        switch (args.length) {\n        case 0:\n            callback();\n            break;\n        case 1:\n            callback(args[0]);\n            break;\n        case 2:\n            callback(args[0], args[1]);\n            break;\n        case 3:\n            callback(args[0], args[1], args[2]);\n            break;\n        default:\n            callback.apply(undefined, args);\n            break;\n        }\n    }\n\n    function runIfPresent(handle) {\n        // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n        // So if we're currently running a task, we'll need to delay this invocation.\n        if (currentlyRunningATask) {\n            // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n            // \"too much recursion\" error.\n            setTimeout(runIfPresent, 0, handle);\n        } else {\n            var task = tasksByHandle[handle];\n            if (task) {\n                currentlyRunningATask = true;\n                try {\n                    run(task);\n                } finally {\n                    clearImmediate(handle);\n                    currentlyRunningATask = false;\n                }\n            }\n        }\n    }\n\n    function installNextTickImplementation() {\n        registerImmediate = function(handle) {\n            process.nextTick(function () { runIfPresent(handle); });\n        };\n    }\n\n    function canUsePostMessage() {\n        // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n        // where `global.postMessage` means something completely different and can't be used for this purpose.\n        if (global.postMessage && !global.importScripts) {\n            var postMessageIsAsynchronous = true;\n            var oldOnMessage = global.onmessage;\n            global.onmessage = function() {\n                postMessageIsAsynchronous = false;\n            };\n            global.postMessage(\"\", \"*\");\n            global.onmessage = oldOnMessage;\n            return postMessageIsAsynchronous;\n        }\n    }\n\n    function installPostMessageImplementation() {\n        // Installs an event handler on `global` for the `message` event: see\n        // * https://developer.mozilla.org/en/DOM/window.postMessage\n        // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n        var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n        var onGlobalMessage = function(event) {\n            if (event.source === global &&\n                typeof event.data === \"string\" &&\n                event.data.indexOf(messagePrefix) === 0) {\n                runIfPresent(+event.data.slice(messagePrefix.length));\n            }\n        };\n\n        if (global.addEventListener) {\n            global.addEventListener(\"message\", onGlobalMessage, false);\n        } else {\n            global.attachEvent(\"onmessage\", onGlobalMessage);\n        }\n\n        registerImmediate = function(handle) {\n            global.postMessage(messagePrefix + handle, \"*\");\n        };\n    }\n\n    function installMessageChannelImplementation() {\n        var channel = new MessageChannel();\n        channel.port1.onmessage = function(event) {\n            var handle = event.data;\n            runIfPresent(handle);\n        };\n\n        registerImmediate = function(handle) {\n            channel.port2.postMessage(handle);\n        };\n    }\n\n    function installReadyStateChangeImplementation() {\n        var html = doc.documentElement;\n        registerImmediate = function(handle) {\n            // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted\n            // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.\n            var script = doc.createElement(\"script\");\n            script.onreadystatechange = function () {\n                runIfPresent(handle);\n                script.onreadystatechange = null;\n                html.removeChild(script);\n                script = null;\n            };\n            html.appendChild(script);\n        };\n    }\n\n    function installSetTimeoutImplementation() {\n        registerImmediate = function(handle) {\n            setTimeout(runIfPresent, 0, handle);\n        };\n    }\n\n    // If supported, we should attach to the prototype of global, since that is where setTimeout et al. live.\n    var attachTo = Object.getPrototypeOf && Object.getPrototypeOf(global);\n    attachTo = attachTo && attachTo.setTimeout ? attachTo : global;\n\n    // Don't get fooled by e.g. browserify environments.\n    if ({}.toString.call(global.process) === \"[object process]\") {\n        // For Node.js before 0.9\n        installNextTickImplementation();\n\n    } else if (canUsePostMessage()) {\n        // For non-IE10 modern browsers\n        installPostMessageImplementation();\n\n    } else if (global.MessageChannel) {\n        // For web workers, where supported\n        installMessageChannelImplementation();\n\n    } else if (doc && \"onreadystatechange\" in doc.createElement(\"script\")) {\n        // For IE 6–8\n        installReadyStateChangeImplementation();\n\n    } else {\n        // For older browsers\n        installSetTimeoutImplementation();\n    }\n\n    attachTo.setImmediate = setImmediate;\n    attachTo.clearImmediate = clearImmediate;\n}(typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self));\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OAuthItem.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!./OAuthItem.vue?vue&type=script&lang=js&\"","<!--\n  - @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl>\n  -\n  - @author Roeland Jago Douma <roeland@famdouma.nl>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n<template>\n\t<tr>\n\t\t<td>\n\t\t\t<table class=\"inline\">\n\t\t\t\t<tr>\n\t\t\t\t\t<td>{{ t('oauth2', 'Name') }}</td>\n\t\t\t\t\t<td>{{ name }}</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>{{ t('oauth2', 'Redirection URI') }}</td>\n\t\t\t\t\t<td>{{ redirectUri }}</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>{{ t('oauth2', 'Client Identifier') }}</td>\n\t\t\t\t\t<td><code>{{ clientId }}</code></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>{{ t('oauth2', 'Secret') }}</td>\n\t\t\t\t\t<td><code>{{ renderedSecret }}</code><a class=\"icon-toggle has-tooltip\" :title=\"t('oauth2', 'Show client secret')\" @click=\"toggleSecret\" /></td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</td>\n\t\t<td class=\"action-column\">\n\t\t\t<span><a class=\"icon-delete has-tooltip\" :title=\"t('oauth2', 'Delete')\" @click=\"$emit('delete', id)\" /></span>\n\t\t</td>\n\t</tr>\n</template>\n\n<script>\nexport default {\n\tname: 'OAuthItem',\n\tprops: {\n\t\tclient: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tid: this.client.id,\n\t\t\tname: this.client.name,\n\t\t\tredirectUri: this.client.redirectUri,\n\t\t\tclientId: this.client.clientId,\n\t\t\tclientSecret: this.client.clientSecret,\n\t\t\trenderSecret: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\trenderedSecret() {\n\t\t\tif (this.renderSecret) {\n\t\t\t\treturn this.clientSecret\n\t\t\t} else {\n\t\t\t\treturn '****'\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\ttoggleSecret() {\n\t\t\tthis.renderSecret = !this.renderSecret\n\t\t},\n\t},\n}\n</script>\n\n<style scoped>\n\t.icon-toggle,\n\t.icon-delete {\n\t\tdisplay: inline-block;\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tpadding: 10px;\n\t\tvertical-align: middle;\n\t}\n\ttd code {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t}\n\ttable.inline td {\n\t\tborder: none;\n\t\tpadding: 5px;\n\t}\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/vue-loader/lib/index.js??vue-loader-options!./OAuthItem.vue?vue&type=style&index=0&id=665ff3f1&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 || {};","/* 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","import { render, staticRenderFns } from \"./OAuthItem.vue?vue&type=template&id=665ff3f1&scoped=true&\"\nimport script from \"./OAuthItem.vue?vue&type=script&lang=js&\"\nexport * from \"./OAuthItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OAuthItem.vue?vue&type=style&index=0&id=665ff3f1&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"665ff3f1\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',[_c('table',{staticClass:\"inline\"},[_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('oauth2', 'Name')))]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.name))])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('oauth2', 'Redirection URI')))]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(_vm.redirectUri))])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('oauth2', 'Client Identifier')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(_vm._s(_vm.clientId))])])]),_vm._v(\" \"),_c('tr',[_c('td',[_vm._v(_vm._s(_vm.t('oauth2', 'Secret')))]),_vm._v(\" \"),_c('td',[_c('code',[_vm._v(_vm._s(_vm.renderedSecret))]),_c('a',{staticClass:\"icon-toggle has-tooltip\",attrs:{\"title\":_vm.t('oauth2', 'Show client secret')},on:{\"click\":_vm.toggleSecret}})])])])]),_vm._v(\" \"),_c('td',{staticClass:\"action-column\"},[_c('span',[_c('a',{staticClass:\"icon-delete has-tooltip\",attrs:{\"title\":_vm.t('oauth2', 'Delete')},on:{\"click\":function($event){return _vm.$emit('delete', _vm.id)}}})])])])}\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!./App.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!./App.vue?vue&type=script&lang=js&\"","<!--\n  - @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl>\n  -\n  - @author Roeland Jago Douma <roeland@famdouma.nl>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n<template>\n\t<div id=\"oauth2\" class=\"section\">\n\t\t<h2>{{ t('oauth2', 'OAuth 2.0 clients') }}</h2>\n\t\t<p class=\"settings-hint\">\n\t\t\t{{ t('oauth2', 'OAuth 2.0 allows external services to request access to {instanceName}.', { instanceName: OC.theme.name}) }}\n\t\t</p>\n\t\t<table v-if=\"clients.length > 0\" class=\"grid\">\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th id=\"headerContent\" />\n\t\t\t\t\t<th id=\"headerRemove\">\n&nbsp;\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t\t<OAuthItem v-for=\"client in clients\"\n\t\t\t\t\t:key=\"client.id\"\n\t\t\t\t\t:client=\"client\"\n\t\t\t\t\t@delete=\"deleteClient\" />\n\t\t\t</tbody>\n\t\t</table>\n\n\t\t<br>\n\t\t<h3>{{ t('oauth2', 'Add client') }}</h3>\n\t\t<span v-if=\"newClient.error\" class=\"msg error\">{{ newClient.errorMsg }}</span>\n\t\t<form @submit.prevent=\"addClient\">\n\t\t\t<input id=\"name\"\n\t\t\t\tv-model=\"newClient.name\"\n\t\t\t\ttype=\"text\"\n\t\t\t\tname=\"name\"\n\t\t\t\t:placeholder=\"t('oauth2', 'Name')\">\n\t\t\t<input id=\"redirectUri\"\n\t\t\t\tv-model=\"newClient.redirectUri\"\n\t\t\t\ttype=\"url\"\n\t\t\t\tname=\"redirectUri\"\n\t\t\t\t:placeholder=\"t('oauth2', 'Redirection URI')\">\n\t\t\t<input type=\"submit\" class=\"button\" :value=\"t('oauth2', 'Add')\">\n\t\t</form>\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport OAuthItem from './components/OAuthItem'\nimport { generateUrl } from '@nextcloud/router'\n\nexport default {\n\tname: 'App',\n\tcomponents: {\n\t\tOAuthItem,\n\t},\n\tprops: {\n\t\tclients: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tnewClient: {\n\t\t\t\tname: '',\n\t\t\t\tredirectUri: '',\n\t\t\t\terrorMsg: '',\n\t\t\t\terror: false,\n\t\t\t},\n\t\t}\n\t},\n\tmethods: {\n\t\tdeleteClient(id) {\n\t\t\taxios.delete(generateUrl('apps/oauth2/clients/{id}', { id }))\n\t\t\t\t.then((response) => {\n\t\t\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\t\t\tthis.clients = this.clients.filter(client => client.id !== id)\n\t\t\t\t})\n\t\t},\n\t\taddClient() {\n\t\t\tthis.newClient.error = false\n\n\t\t\taxios.post(\n\t\t\t\tgenerateUrl('apps/oauth2/clients'),\n\t\t\t\t{\n\t\t\t\t\tname: this.newClient.name,\n\t\t\t\t\tredirectUri: this.newClient.redirectUri,\n\t\t\t\t}\n\t\t\t).then(response => {\n\t\t\t\t// eslint-disable-next-line vue/no-mutating-props\n\t\t\t\tthis.clients.push(response.data)\n\n\t\t\t\tthis.newClient.name = ''\n\t\t\t\tthis.newClient.redirectUri = ''\n\t\t\t}).catch(reason => {\n\t\t\t\tthis.newClient.error = true\n\t\t\t\tthis.newClient.errorMsg = reason.response.data.message\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style scoped>\n\ttable {\n\t\tmax-width: 800px;\n\t}\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/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=7098866e&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 { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7098866e&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=7098866e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7098866e\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section\",attrs:{\"id\":\"oauth2\"}},[_c('h2',[_vm._v(_vm._s(_vm.t('oauth2', 'OAuth 2.0 clients')))]),_vm._v(\" \"),_c('p',{staticClass:\"settings-hint\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('oauth2', 'OAuth 2.0 allows external services to request access to {instanceName}.', { instanceName: _vm.OC.theme.name}))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.clients.length > 0)?_c('table',{staticClass:\"grid\"},[_vm._m(0),_vm._v(\" \"),_c('tbody',_vm._l((_vm.clients),function(client){return _c('OAuthItem',{key:client.id,attrs:{\"client\":client},on:{\"delete\":_vm.deleteClient}})}),1)]):_vm._e(),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('h3',[_vm._v(_vm._s(_vm.t('oauth2', 'Add client')))]),_vm._v(\" \"),(_vm.newClient.error)?_c('span',{staticClass:\"msg error\"},[_vm._v(_vm._s(_vm.newClient.errorMsg))]):_vm._e(),_vm._v(\" \"),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.addClient.apply(null, arguments)}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newClient.name),expression:\"newClient.name\"}],attrs:{\"id\":\"name\",\"type\":\"text\",\"name\":\"name\",\"placeholder\":_vm.t('oauth2', 'Name')},domProps:{\"value\":(_vm.newClient.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newClient, \"name\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newClient.redirectUri),expression:\"newClient.redirectUri\"}],attrs:{\"id\":\"redirectUri\",\"type\":\"url\",\"name\":\"redirectUri\",\"placeholder\":_vm.t('oauth2', 'Redirection URI')},domProps:{\"value\":(_vm.newClient.redirectUri)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newClient, \"redirectUri\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"button\",attrs:{\"type\":\"submit\"},domProps:{\"value\":_vm.t('oauth2', 'Add')}})])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',{attrs:{\"id\":\"headerContent\"}}),_vm._v(\" \"),_c('th',{attrs:{\"id\":\"headerRemove\"}},[_vm._v(\"\\n \\n\\t\\t\\t\\t\\t\")])])])}]\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport App from './App.vue'\nimport { loadState } from '@nextcloud/initial-state'\n\nVue.prototype.t = t\nVue.prototype.OC = OC\n\nconst clients = loadState('oauth2', 'clients')\n\nconst View = Vue.extend(App)\nconst oauth = new View({\n\tpropsData: {\n\t\tclients,\n\t},\n})\noauth.$mount('#oauth2')\n"],"sourceRoot":""}