{"version":3,"sources":["webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/core-js/internals/an-instance.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/core-js/modules/es.object.define-properties.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/core-js/internals/set-species.js","webpack:///./node_modules/webfontloader/webfontloader.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/tiny-slider/src/helpers/raf.js","webpack:///./node_modules/tiny-slider/src/helpers/caf.js","webpack:///./node_modules/tiny-slider/src/helpers/extend.js","webpack:///./node_modules/tiny-slider/src/helpers/checkStorageValue.js","webpack:///./node_modules/tiny-slider/src/helpers/setLocalStorage.js","webpack:///./node_modules/tiny-slider/src/helpers/getSlideId.js","webpack:///./node_modules/tiny-slider/src/helpers/getBody.js","webpack:///./node_modules/tiny-slider/src/helpers/docElement.js","webpack:///./node_modules/tiny-slider/src/helpers/setFakeBody.js","webpack:///./node_modules/tiny-slider/src/helpers/resetFakeBody.js","webpack:///./node_modules/tiny-slider/src/helpers/calc.js","webpack:///./node_modules/tiny-slider/src/helpers/percentageLayout.js","webpack:///./node_modules/tiny-slider/src/helpers/mediaquerySupport.js","webpack:///./node_modules/tiny-slider/src/helpers/createStyleSheet.js","webpack:///./node_modules/tiny-slider/src/helpers/addCSSRule.js","webpack:///./node_modules/tiny-slider/src/helpers/removeCSSRule.js","webpack:///./node_modules/tiny-slider/src/helpers/getCssRulesLength.js","webpack:///./node_modules/tiny-slider/src/helpers/toDegree.js","webpack:///./node_modules/tiny-slider/src/helpers/getTouchDirection.js","webpack:///./node_modules/tiny-slider/src/helpers/forEach.js","webpack:///./node_modules/tiny-slider/src/helpers/classListSupport.js","webpack:///./node_modules/tiny-slider/src/helpers/hasClass.js","webpack:///./node_modules/tiny-slider/src/helpers/addClass.js","webpack:///./node_modules/tiny-slider/src/helpers/removeClass.js","webpack:///./node_modules/tiny-slider/src/helpers/hasAttr.js","webpack:///./node_modules/tiny-slider/src/helpers/getAttr.js","webpack:///./node_modules/tiny-slider/src/helpers/isNodeList.js","webpack:///./node_modules/tiny-slider/src/helpers/setAttrs.js","webpack:///./node_modules/tiny-slider/src/helpers/removeAttrs.js","webpack:///./node_modules/tiny-slider/src/helpers/arrayFromNodeList.js","webpack:///./node_modules/tiny-slider/src/helpers/hideElement.js","webpack:///./node_modules/tiny-slider/src/helpers/showElement.js","webpack:///./node_modules/tiny-slider/src/helpers/isVisible.js","webpack:///./node_modules/tiny-slider/src/helpers/whichProperty.js","webpack:///./node_modules/tiny-slider/src/helpers/has3DTransforms.js","webpack:///./node_modules/tiny-slider/src/helpers/getEndProperty.js","webpack:///./node_modules/tiny-slider/src/helpers/passiveOption.js","webpack:///./node_modules/tiny-slider/src/helpers/addEvents.js","webpack:///./node_modules/tiny-slider/src/helpers/removeEvents.js","webpack:///./node_modules/tiny-slider/src/helpers/events.js","webpack:///./node_modules/tiny-slider/src/helpers/jsTransform.js","webpack:///./node_modules/tiny-slider/src/tiny-slider.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/tiny-slider/src/helpers/childNode.remove.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/vee-validate/dist/rules.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/tiny-slider/src/helpers/Object.keys.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/define-well-known-symbol.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/core-js/modules/es.object.define-property.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/vee-validate/dist/vee-validate.esm.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/vue/dist/vue.esm.js","webpack:///./node_modules/core-js/modules/es.symbol.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/core-js/modules/es.promise.finally.js","webpack:///./node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/@sentry/utils/esm/memo.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/@sentry/core/esm/integrations/functiontostring.js","webpack:///./node_modules/@sentry/utils/esm/syncpromise.js","webpack:///./node_modules/@sentry/hub/esm/scope.js","webpack:///./node_modules/@sentry/hub/esm/hub.js","webpack:///./node_modules/@sentry/core/esm/integrations/inboundfilters.js","webpack:///./node_modules/@sentry/core/esm/sdk.js","webpack:///./node_modules/@sentry/utils/esm/polyfill.js","webpack:///./node_modules/@sentry/utils/esm/error.js","webpack:///./node_modules/@sentry/utils/esm/dsn.js","webpack:///./node_modules/@sentry/core/esm/api.js","webpack:///./node_modules/@sentry/core/esm/integration.js","webpack:///./node_modules/@sentry/core/esm/baseclient.js","webpack:///./node_modules/@sentry/types/esm/status.js","webpack:///./node_modules/@sentry/core/esm/transports/noop.js","webpack:///./node_modules/@sentry/types/esm/severity.js","webpack:///./node_modules/@sentry/core/esm/basebackend.js","webpack:///./node_modules/@sentry/utils/esm/supports.js","webpack:///./node_modules/@sentry/browser/esm/tracekit.js","webpack:///./node_modules/@sentry/browser/esm/parsers.js","webpack:///./node_modules/@sentry/browser/esm/eventbuilder.js","webpack:///./node_modules/@sentry/utils/esm/promisebuffer.js","webpack:///./node_modules/@sentry/browser/esm/transports/base.js","webpack:///./node_modules/@sentry/browser/esm/transports/fetch.js","webpack:///./node_modules/@sentry/browser/esm/transports/xhr.js","webpack:///./node_modules/@sentry/browser/esm/backend.js","webpack:///./node_modules/@sentry/browser/esm/version.js","webpack:///./node_modules/@sentry/browser/esm/client.js","webpack:///./node_modules/@sentry/minimal/esm/index.js","webpack:///./node_modules/@sentry/browser/esm/helpers.js","webpack:///./node_modules/@sentry/browser/esm/integrations/trycatch.js","webpack:///./node_modules/@sentry/utils/esm/instrument.js","webpack:///./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","webpack:///./node_modules/@sentry/browser/esm/integrations/globalhandlers.js","webpack:///./node_modules/@sentry/browser/esm/integrations/linkederrors.js","webpack:///./node_modules/@sentry/browser/esm/integrations/useragent.js","webpack:///./node_modules/@sentry/browser/esm/sdk.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/internals/redefine-all.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/@sentry/integrations/esm/vue.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/vue-click-outside/index.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/@sentry/utils/esm/object.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js","webpack:///./node_modules/@sentry/utils/esm/logger.js","webpack:///./node_modules/@sentry/utils/esm/is.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/@sentry/utils/esm/misc.js","webpack:///./node_modules/@sentry/utils/esm/string.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/native-promise-constructor.js"],"names":["wellKnownSymbol","TO_STRING_TAG","test","module","exports","String","aFunction","fn","that","length","undefined","call","a","b","c","apply","arguments","toIndexedObject","nativeGetOwnPropertyNames","f","toString","windowNames","window","Object","getOwnPropertyNames","getWindowNames","it","error","slice","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","getOwnPropertyDescriptor","O","P","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","Axios","instanceConfig","this","defaults","interceptors","request","response","prototype","config","url","method","toLowerCase","chain","promise","Promise","resolve","forEach","interceptor","unshift","fulfilled","rejected","push","then","shift","getUri","params","paramsSerializer","replace","merge","data","fails","createElement","defineProperty","get","callback","arr","global","DOMIterables","createNonEnumerableProperty","COLLECTION_NAME","Collection","CollectionPrototype","$forEach","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","callbackfn","Constructor","name","TypeError","getBuiltIn","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","next","done","Array","from","exec","SKIP_CLOSING","ITERATION_SUPPORT","object","userAgent","$","defineProperties","target","stat","forced","sham","thisArg","args","i","V8_VERSION","SPECIES","METHOD_NAME","array","constructor","foo","Boolean","anObject","isArrayIteratorMethod","toLength","bind","getIteratorMethod","callWithSafeIterationClosing","Result","stopped","result","iterate","iterable","AS_ENTRIES","IS_ITERATOR","iterator","iterFn","index","step","boundFunction","value","stop","toInteger","max","Math","min","integer","redefine","setGlobal","copyConstructorProperties","isForced","options","source","FORCED","key","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","noTargetGet","internalObjectKeys","enumBugKeys","hiddenKeys","concat","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","isUndefined","getDefaultAdapter","adapter","XMLHttpRequest","process","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","JSON","stringify","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","definePropertyModule","CONSTRUCTOR_NAME","configurable","aa","ba","Error","d","p","Function","indexOf","q","Date","now","ca","o","document","da","FontFace","t","hasOwnProperty","style","cssText","setAttribute","appendChild","createTextNode","u","getElementsByTagName","documentElement","insertBefore","lastChild","v","parentNode","removeChild","w","className","split","g","join","y","ea","location","hostname","z","m","rel","href","media","onload","onerror","setTimeout","A","src","onreadystatechange","readyState","tagName","B","C","D","E","F","G","match","parseInt","fa","H","I","J","ga","substr","ha","h","j","events","classes","ia","K","L","ja","ka","M","N","Q","s","start","fonts","load","race","clearTimeout","R","S","T","navigator","la","U","offsetWidth","serif","V","ma","W","X","na","oa","qa","l","k","n","r","x","xa","vendor","pa","ra","sa","ta","ua","context","fontfamily","fontStyle","fontWeight","projectId","version","api","id","urls","families","testStrings","va","pop","wa","encodeURIComponent","ya","za","latin","cyrillic","greek","khmer","Hanuman","Aa","thin","extralight","ultralight","light","regular","book","medium","semibold","demibold","bold","extrabold","ultrabold","black","heavy","Ba","italic","normal","Ca","Da","isNaN","Ea","Fa","Arimo","Cousine","Tinos","Ga","Ha","text","Typekit","async","__webfontfontdeckmodule__","weight","Y","custom","fontdeck","monotype","typekit","google","Z","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","defer","channel","port","classof","html","IS_IOS","set","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","run","runner","listener","event","post","postMessage","protocol","host","nextTick","port2","port1","onmessage","addEventListener","importScripts","versions","v8","enhanceError","message","code","__CANCEL__","raf","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","cb","caf","cancelAnimationFrame","mozCancelAnimationFrame","extend","obj","copy","checkStorageValue","setLocalStorage","storage","access","setItem","getSlideId","tnsId","getBody","doc","body","fake","docElement","setFakeBody","docOverflow","overflow","background","resetFakeBody","remove","offsetHeight","calc","div","val","str","vals","width","percentageLayout","wrapper","outer","count","perPage","supported","innerHTML","abs","getBoundingClientRect","left","children","mediaquerySupport","position","rule","type","styleSheet","getComputedStyle","currentStyle","createStyleSheet","querySelector","sheet","addCSSRule","selector","rules","insertRule","addRule","removeCSSRule","deleteRule","removeRule","getCssRulesLength","cssRules","toDegree","atan2","PI","getTouchDirection","angle","range","direction","gap","scope","classListSupport","hasClass","el","classList","contains","addClass","removeClass","hasAttr","attr","hasAttribute","getAttr","getAttribute","isNodeList","item","setAttrs","els","attrs","removeAttrs","attrLength","removeAttribute","arrayFromNodeList","nl","hideElement","forceHide","display","showElement","isVisible","whichProperty","props","Props","charAt","toUpperCase","prefixes","prefix","prop","has3DTransforms","tf","has3d","cssTF","getPropertyValue","getEndProperty","propIn","propOut","endProp","supportsPassive","passiveOption","passive","addEvents","preventScrolling","option","removeEvents","removeEventListener","Events","topics","on","eventName","off","splice","emit","jsTransform","element","postfix","to","duration","tick","unit","Number","positionTick","moveElement","tns","container","mode","axis","items","gutter","edgePadding","fixedWidth","autoWidth","viewportMax","slideBy","center","controls","controlsPosition","controlsText","controlsContainer","prevButton","nextButton","nav","navPosition","navContainer","navAsThumbnails","arrowKeys","speed","autoplay","autoplayPosition","autoplayTimeout","autoplayDirection","autoplayText","autoplayHoverPause","autoplayButton","autoplayButtonOutput","autoplayResetOnVisibility","animateIn","animateOut","animateNormal","animateDelay","loop","rewind","autoHeight","responsive","lazyload","lazyloadSelector","touch","mouseDrag","swipeAngle","nested","preventActionWhenRunning","preventScrollOnTouch","freezable","onInit","useLocalStorage","win","KEYS","ENTER","SPACE","LEFT","RIGHT","tnsStorage","localStorageAccess","browserInfo","uid","localStorage","getItem","removeItem","CALC","PERCENTAGELAYOUT","CSSMQ","TRANSFORM","HAS3DTRANSFORMS","TRANSITIONDURATION","TRANSITIONDELAY","ANIMATIONDURATION","ANIMATIONDELAY","TRANSITIONEND","ANIMATIONEND","supportConsoleWarn","console","warn","tnsList","optionsElements","nodeName","carousel","responsiveTem","updateOptions","middleWrapper","breakpointZone","horizontal","outerWrapper","innerWrapper","containerParent","containerHTML","outerHTML","slideItems","slideCount","windowWidth","getWindowWidth","isOn","setBreakpointZone","slidePositions","imgsComplete","liveregionCurrent","getOption","viewport","getViewportWidth","floor","fixedWidthViewportWidth","slideItemsOut","cloneCount","getCloneCountForLoop","slideCountNew","hasRightDeadZone","rightBoundary","getRightBoundary","updateIndexBeforeTransform","transformAttr","transformPrefix","transformPostfix","getIndexMax","ceil","getStartIndex","indexCached","indexMin","getCurrentSlide","indexMax","moveDirectionExpected","running","newContainerClasses","slideId","disable","disabled","freeze","getFreeze","frozen","controlsEvents","onControlsClick","onControlsKeydown","navEvents","onNavClick","onNavKeydown","hoverEvents","mouseoverPause","mouseoutRestart","visibilityEvent","onVisibilityChange","docmentKeydownEvent","onDocumentKeydown","touchEvents","onPanStart","onPanMove","onPanEnd","dragEvents","hasControls","hasOption","hasNav","hasAutoplay","hasTouch","hasMouseDrag","slideActiveClass","imgCompleteClass","imgEvents","onImgLoaded","onImgFailed","preventScroll","prevIsButton","nextIsButton","controlsContainerHTML","prevButtonHTML","nextButtonHTML","navItems","navContainerHTML","pages","getPages","pagesCached","navClicked","navCurrentIndex","getCurrentNavIndex","navCurrentIndexCached","navActiveClass","navStr","navStrCurrent","autoplayTimer","animating","autoplayHoverPaused","autoplayUserPaused","autoplayVisibilityPaused","autoplayButtonHTML","autoplayHtmlStrings","translateInit","rafIndex","initPosition","lastPosition","panStart","getDist","resetVariblesWhenDisable","initStructure","initSheet","initSliderTransform","updateIndex","leftEdge","rightEdge","transformCore","resetDuration","doContainerTransform","onTransitionEnd","getContainerTransformValue","updateContentWrapperHeight","eve","animateSlide","getInfo","info","goTo","play","pause","updateSliderHeight","updateInnerWrapperHeight","refresh","destroy","rebuild","condition","tem","ind","getAbsIndex","absIndex","getItemsMax","bp","itemsMax","innerWidth","clientWidth","getInsertPosition","pos","getClientWidth","rect","right","ww","getSlideMarginLeft","getInnerWrapperStyles","edgePaddingTem","gutterTem","fixedWidthTem","speedTem","autoHeightBP","gutterTemUnit","dir","getTransitionDurationStyle","getContainerWidth","itemsTem","getSlideWidthStyle","dividend","getSlideGutterStyle","getCSSPrefix","num","substring","getAnimationDurationStyle","classOuter","classInner","wp","fragmentBefore","createDocumentFragment","fragmentAfter","cloneFirst","cloneNode","firstChild","cloneLast","imgs","querySelectorAll","img","imgLoaded","imgsLoadedCheck","getImageArray","initSliderTransformStyleCheck","doContainerTransformSilent","initTools","initEvents","stylesApplicationCheck","toFixed","initSliderTransformCore","setSlidePositions","fontSize","slide","marginLeft","update_carousel_transition_duration","opts","middleWrapperStr","innerWrapperStr","containerStr","slideStr","itemsBP","fixedWidthBP","speedBP","edgePaddingBP","gutterBP","updateSlideStatus","insertAdjacentHTML","getLiveRegionStr","txt","toggleAutoplay","startAutoplay","navHtml","hiddenStr","updateNavVisibility","isButton","updateControlsStatus","disableUI","resizeTasks","onResize","doAutoHeight","doLazyLoad","disableSlider","freezeSlider","additionalUpdates","ownerNode","clearInterval","htmlList","prevEl","previousElementSibling","parentEl","nextElementSibling","firstElementChild","getEvent","bpChanged","breakpointZoneTem","needContainerTransform","indChanged","itemsChanged","disableTem","freezeTem","arrowKeysTem","controlsTem","navTem","touchTem","mouseDragTem","autoplayTem","autoplayHoverPauseTem","autoplayResetOnVisibilityTem","indexTem","autoHeightTem","controlsTextTem","centerTem","autoplayTextTem","enableSlider","unfreezeSlider","stopAutoplay","height","len","updateLiveRegion","updateGallerySlidePositions","autoheightTem","vp","enableUI","margin","classN","getVisibleSlideRange","end","rangestart","rangeend","parseFloat","point","cell","stopPropagation","srcset","getTarget","imgFailed","imgCompleted","updateNavStatus","getMaxSlideHeight","slideStart","slideRange","heights","maxHeight","attr2","base","navPrev","navCurrent","getLowerCaseNodeName","isAriaDisabled","disEnableElement","prevDisabled","nextDisabled","disablePrev","disableNext","getSliderWidth","getCenterGap","denominator","number","classOut","classIn","isOut","sliderMoved","strTrans","propertyName","targetIndex","indexGap","factor","passEventObject","targetIn","navIndex","targetIndexBase","setAutoplayTimer","setInterval","stopAutoplayTimer","updateAutoplayButton","action","hidden","keyIndex","keyCode","setFocus","focus","curElement","activeElement","isTouchEvent","changedTouches","srcElement","preventDefaultBehavior","preventDefault","returnValue","getMoveDirectionExpected","clientX","clientY","panUpdate","err","dist","percentageX","preventClick","indexMoved","moved","rough","displayIndex","encode","serializedParams","parts","isArray","isDate","toISOString","hashmarkIndex","Iterators","objectKeys","Properties","keys","isAxiosError","toJSON","description","fileName","lineNumber","columnNumber","stack","isStandardBrowserEnv","originURL","msie","urlParsingNode","resolveURL","search","hash","pathname","requestURL","parsed","isString","platform","arch","execPath","title","pid","browser","env","argv","binding","path","cwd","chdir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","propertyIsEnumerable","create","UNSCOPABLES","ArrayPrototype","Element","createError","reject","defaultConstructor","getOwnPropertySymbols","Symbol","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","deepMerge","axiosKeys","otherKeys","filter","validate$8","_a","multiple","re","map","emailStr","trim","every","params$8","default","email","validate","isNullOrUndefined","isEmptyArray","validate$o","allowFalse","valid","required","computesRequired","params$h","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","includes","$filter","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","proto","argument","transformData","isCancel","throwIfCancellationRequested","cancelToken","throwIfRequested","reason","_defineProperty","enumerable","writable","ownKeys","enumerableOnly","symbols","sym","_objectSpread2","getOwnPropertyDescriptors","IS_PURE","store","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","bitmap","toObject","IndexedObject","nativeAssign","assign","symbol","alphabet","chr","argumentsLength","originalArray","NATIVE_WEAK_MAP","objectHas","sharedKey","WeakMap","enforce","getterFor","TYPE","state","wmget","wmhas","wmset","metadata","STATE","inspectSource","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","wrappedWellKnownSymbolModule","NAME","Cancel","objectDefinePropertyModile","write","expires","domain","secure","cookie","isNumber","toGMTString","read","RegExp","decodeURIComponent","requireObjectCoercible","__assign","__awaiter","_arguments","generator","__generator","_","label","sent","trys","ops","verb","op","__spreadArrays","il","jl","isEqual","lhs","rhs","flags","isSpecified","isCallable","isLocator","__locatorRef","findIndex","arrayLike","predicate","toArray","find","idx","collection","_copyArray","values","createFlags","untouched","touched","dirty","pristine","invalid","validated","pending","changed","passed","failed","debounce","wait","token","cancelled","_i","later","interpolate","template","RULES","normalizeSchema","schema","param","RuleContainer","lazy","isLazy","isRequireRule","getRuleDefinition","ruleName","guardExtend","validator","DEFAULT_CONFIG","defaultMessage","skipOptional","bails","useConstraintAttrs","currentConfig","getConfig","normalizeRules","acc","_$$isNormalized","reduce","prev","curr","preserveArrayParams","buildParams","parsedRule","parseRule","provided","ruleSchema","definedParams","lastDefinedParam_1","isTarget","createLocator","cast","castFn","locator","crossTable","extractLocators","shouldBail","skipIfEmpty","field","errors","failedRules","regenerateMap","forceRequired","names","customMessages","_validate","msg","_b","isInitial","_c","shouldSkip","_d","_shouldSkip","_test","requireRules","isEmpty","isEmptyAndOptional","isRequired","normalizedValue","values_1","castValue","fillTargetValues","_field_","_value_","_rule_","_generateFieldError","ruleTargets","_getRuleTargets","_getUserTargets","userTargets","userMessage","_normalizeMessage","numTargets","ruleConfig","name_1","normalize","aggressive","eager","modes","EVENT_BUS","Dictionary","locale","dictionary","format","_e","_f","_g","_h","fields","messages","hasRule","isEvent","evt","Event","normalizeEventValue","input","files","_vModifiers","valueAsNumber","trimmedValue","isTextInput","vnode","elm","tag","findModel","nonStandardVNodeData","model","directives","findValue","findModelConfig","componentOptions","propsData","propsDataWithValue","domProps","extractChildren","findInputNode","candidate","node","Ctor","mergeVNodeListeners","handler","fns","invoker","addNativeNodeListener","addComponentNodeListener","listeners","addVNodeListener","getInputEventName","event_1","modifiers","isHTMLNode","resolveTextualRules","pattern","regex","maxlength","minlength","min_value","max_value","resolveRules","htmlTags","normalizeChildren","slotProps","$scopedSlots","$slots","shouldValidate","ctx","_ignoreImmediate","immediate","normalizedEvents","_needsValidation","initialized","createValidationCtx","reset","ariaInput","ariaMsg","onRenderUpdate","vm","initialValue","validateNow","triggerThreadSafeValidation","validateSilent","$once","computeModeSetting","compute","pendingPromise","_pendingValidation","applyResult","createCommonHandlers","$veeOnInput","syncValue","setFlags","onInput","$veeOnBlur","onBlur","onValidate","$veeHandler","$veeDebounce","$nextTick","_pendingReset","addListeners","_inputEventName","PROVIDER_COUNTER","fieldName","defaultValues","isActive","ValidationProvider","inject","$_veeObserver","createObserver","vid","slim","watch","deep","oldVal","computed","fieldDeps","_this","normalizedRules","deps","dep","depName","watchCrossFieldDep","_resolvedRules","some","computeClassObj","mounted","onLocaleChanged","_regenerateMap","errors_1","failedRules_1","$on","$off","registerField","resolved","beforeDestroy","unobserve","activated","deactivated","methods","flag","createLookup","setErrors","updateRenderingContextRefs","_loop_1","cls","providers","refs","reduced","extractId","providedId","observe","withHooks","_veeWatchers","$watch","FLAGS_STRATEGIES","OBSERVER_COUNTER","data$1","createObserverFlags","observers","provideSelf","ValidationObserver","provide","created","register","onChange","computeObserverState","unregister","prepareSlotProps","$listeners","subscriber","kind","provider","$delete","silent","results","all","ref","obs","handleSubmit","isValid","errorArr","observer","passes","vms","activeXDocument","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","close","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","iframe","JS","contentWindow","open","NullProtoObject","ActiveXObject","createIteratorConstructor","getPrototypeOf","setPrototypeOf","setToStringTag","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","VALUES","ENTRIES","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","isAbsoluteURL","combineURLs","baseURL","requestedURL","propertyKey","functionToString","CancelToken","executor","resolvePromise","cancel","random","replacement","feature","detection","POLYFILL","NATIVE","string","extendStatics","__proto__","__extends","__","__values","__read","ar","__spread","returnMethod","nativeDefineProperty","Attributes","emptyObject","isUndef","isDef","isTrue","isFalse","isPrimitive","_toString","isPlainObject","isRegExp","isValidArrayIndex","isFinite","isPromise","catch","toNumber","makeMap","expectsLowerCase","list","isBuiltInTag","isReservedAttribute","hasOwn","cached","cache","hit","camelizeRE","camelize","capitalize","hyphenateRE","hyphenate","polyfillBind","boundFn","_length","nativeBind","ret","_from","res","noop","no","identity","genStaticKeys","modules","staticKeys","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","getTime","keysA","keysB","looseIndexOf","once","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","_lifecycleHooks","unicodeRegExp","isReserved","charCodeAt","def","bailRE","parsePath","segments","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","weexPlatform","UA","isIE","isIE9","isEdge","isIOS","isFF","nativeWatch","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","_Set","hasSymbol","Reflect","Set","Dep","subs","addSub","sub","removeSub","depend","addDep","notify","update","targetStack","pushTarget","popTarget","VNode","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","raw","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","child","createEmptyVNode","createTextVNode","cloneVNode","cloned","arrayProto","arrayMethods","methodsToPatch","original","inserted","ob","__ob__","observeArray","arrayKeys","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","property","getter","setter","childOb","dependArray","newVal","del","strats","mergeData","toVal","fromVal","mergeDataOrFn","parentVal","childVal","instanceData","defaultData","mergeHook","dedupeHooks","hooks","mergeAssets","key$1","defaultStrat","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","def$$1","mergeOptions","_base","extends","mixins","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","_props","getType","isSameType","expectedTypes","handleError","cur","$parent","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","isUsingMicroTask","callbacks","flushCallbacks","copies","MutationObserver","textNode","characterData","_resolve","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","normalizeEvent","once$$1","createFnInvoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","old","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","altKey","checkProp","preserve","simpleNormalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","lastIndex","last","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","slots","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","renderSlot","fallback","bindObject","nodes","scopedSlotFn","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","tree","_renderProxy","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","installRenderHelpers","_o","_n","_s","_l","_t","_q","_m","_k","_v","_u","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","needNormalization","injections","scopedSlots","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","clone","componentVNodeHooks","init","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","updateChildComponent","insert","_isMounted","callHook","queueActivatedComponent","activateChildComponent","deactivateChildComponent","$destroy","hooksToMerge","createComponent","baseCtor","cid","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","nativeOn","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","is","pre","applyNS","registerDeepBindings","force","class","initRender","_vnode","parentVnode","_renderChildren","parentData","_parentListeners","currentRenderingInstance","renderMixin","Vue","_render","ensureCtor","comp","__esModule","toStringTag","factory","errorComp","owner","owners","loading","loadingComp","sync","timerLoading","timerTimeout","forceRender","renderCompleted","$forceUpdate","component","delay","getFirstComponentChild","_events","_hasHookEvent","updateComponentListeners","remove$1","_target","onceHandler","oldListeners","eventsMixin","hookRE","i$1","cbs","$emit","setActiveInstance","prevActiveInstance","initLifecycle","$children","$refs","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","_data","mountComponent","updateComponent","Watcher","before","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","propKeys","_propKeys","isInInactiveTree","direct","handlers","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","createEvent","timeStamp","flushSchedulerQueue","watcher","sort","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueWatcher","uid$2","expOrFn","isRenderWatcher","user","active","newDeps","depIds","newDepIds","expression","cleanupDeps","tmp","oldValue","evaluate","sharedPropertyDefinition","sourceKey","initState","initProps","initMethods","initData","initComputed","initWatch","propsOptions","isRoot","getData","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","stateMixin","dataDef","propsDef","$set","uid$3","initMixin","_init","_uid","initInternalComponent","_self","vnodeComponentOptions","_componentTag","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","components","modified","latest","sealed","sealedOptions","initUse","use","plugin","installedPlugins","_installedPlugins","install","initMixin$1","mixin","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","matches","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","current","cached$$1","patternTypes","KeepAlive","include","exclude","destroyed","ref$1","builtInComponents","initGlobalAPI","configDef","util","defineReactive","delete","observable","acceptValue","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","childNode","mergeClassData","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","svg","math","isHTMLTag","isSVG","isPreTag","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","query","selected","createElement$1","createElementNS","namespace","createComment","newNode","referenceNode","nextSibling","setTextContent","textContent","setStyleScope","nodeOps","registerRef","isRemoval","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","transition","activate","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","nodeType","oldElm","_leaveCb","patchable","i$2","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","arg","callHook$1","componentUpdated","callInsert","emptyModifiers","getRawDirName","rawName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","baseSetAttr","setAttributeNS","__ieph","blocker","stopImmediatePropagation","updateClass","oldData","transitionClass","_transitionClasses","_prevClass","index$1","expressionPos","expressionEndPos","klass","validDivisionCharRE","parseFilters","exp","filters","inSingle","inDouble","inTemplateString","inRegex","curly","square","paren","lastFilterIndex","pushFilter","wrapFilter","baseWarn","pluckModuleFunction","addProp","dynamic","rangeSetItem","plain","addAttr","dynamicAttrs","addRawAttr","attrsMap","attrsList","addDirective","isDynamicArg","prependModifierMarker","addHandler","important","middle","native","nativeEvents","newHandler","getRawBindingAttr","rawAttrsMap","getBindingAttr","getStatic","dynamicValue","getAndRemoveAttr","staticValue","removeFromMap","getAndRemoveAttrByRegex","genComponentModel","baseValueExpression","valueExpression","assignment","genAssignmentCode","parseModel","lastIndexOf","eof","isStringStart","parseString","parseBracket","inBracket","stringQuote","target$1","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","_warn","genSelect","genCheckboxModel","genRadioModel","genDefaultModel","valueBinding","trueValueBinding","falseValueBinding","selectedVal","needCompositionGuard","normalizeEvents","change","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","currentTarget","ownerDocument","updateDOMListeners","svgContainer","updateDOMProps","oldProps","childNodes","_value","strCur","shouldUpdateValue","checkVal","composing","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","parseStyleText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","staticStyle","bindingStyle","getStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","whitespaceRE","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","show","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","trigger","directive","_vOptions","setSelected","getValue","onCompositionStart","onCompositionEnd","prevOptions","curOptions","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","selectedIndex","initEvent","dispatchEvent","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","unbind","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","removed","c$1","updated","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","transform","WebkitTransform","transitionDuration","_moveCb","_hasMove","newPos","oldPos","dx","dy","top","platformComponents","defaultTagRE","regexEscapeRE","buildRegex","delimiters","parseText","tagRE","tokenValue","tokens","rawTokens","transformNode","classBinding","genData","klass$1","transformNode$1","styleBinding","genData$1","decoder","style$1","he","decode","isUnaryTag","canBeLeftOpenTag","isNonPhrasingTag","attribute","dynamicArgAttribute","ncname","qnameCapture","startTagOpen","startTagClose","endTag","doctype","comment","conditionalComment","isPlainTextElement","reCache","decodingMap","encodedAttr","encodedAttrWithNewLines","isIgnoreNewlineTag","shouldIgnoreFirstNewline","decodeAttr","shouldDecodeNewlines","parseHTML","lastTag","expectHTML","isUnaryTag$$1","canBeLeftOpenTag$$1","endTagLength","stackedTag","reStackedTag","rest$1","chars","parseEndTag","textEnd","commentEnd","shouldKeepComment","advance","conditionalEnd","doctypeMatch","endTagMatch","curIndex","startTagMatch","parseStartTag","handleStartTag","rest","unarySlash","unary","shouldDecodeNewlinesForHref","lowerCasedTag","lowerCasedTagName","warn$2","transforms","preTransforms","postTransforms","platformIsPreTag","platformMustUseProp","platformGetTagNamespace","onRE","dirRE","forAliasRE","forIteratorRE","stripParensRE","dynamicArgRE","argRE","bindRE","modifierRE","slotRE","lineBreakRE","whitespaceRE$1","decodeHTMLCached","emptySlotScopeToken","createASTElement","makeAttrsMap","root","currentParent","preserveWhitespace","whitespaceOption","whitespace","inPre","closeElement","trimEndingWhitespace","processed","processElement","if","elseif","else","addIfCondition","block","forbidden","processIfConditions","slotScope","slotTarget","lastNode","comments","outputSourceRange","start$1","guardIESVGBug","isForbiddenTag","processPre","processRawAttrs","processFor","processIf","processOnce","end$1","isTextTag","processKey","processRef","processSlotContent","processSlotOutlet","processComponent","processAttrs","checkInFor","parseFor","inMatch","for","alias","iteratorMatch","iterator1","iterator2","findPrevElement","ifConditions","slotTargetDynamic","slotBinding","getSlotName","slotBinding$1","dynamic$1","slotContainer","slotName","syncGen","isDynamic","hasBindings","parseModifiers","camel","argMatch","ieNSBug","ieNSPrefix","preTransformNode","typeBinding","ifCondition","ifConditionExtra","hasElse","elseIfCondition","branch0","cloneASTElement","branch1","branch2","model$1","modules$1","isStaticKey","isPlatformReservedTag","directives$1","baseOptions","genStaticKeysCached","genStaticKeys$1","optimize","markStatic$1","markStaticRoots","static","l$1","staticInFor","staticRoot","isDirectChildOfTemplateFor","fnExpRE","fnInvokeRE","simplePathRE","esc","tab","space","up","down","keyNames","genGuard","modifierCode","prevent","self","ctrl","alt","meta","genHandlers","staticHandlers","dynamicHandlers","handlerCode","genHandler","isMethodPath","isFunctionExpression","isFunctionInvocation","genModifierCode","keyModifier","genKeyFilter","genFilterCode","keyVal","keyName","wrapListeners","bind$1","wrapData","baseDirectives","cloak","CodegenState","dataGenFns","maybeComponent","onceId","generate","ast","genElement","staticProcessed","genStatic","onceProcessed","genOnce","forProcessed","genFor","ifProcessed","genIf","genSlot","genComponent","genData$2","genChildren","originalPreState","altGen","altEmpty","genIfConditions","conditions","genTernaryExp","altHelper","genDirectives","genProps","genScopedSlots","genInlineTemplate","needRuntime","hasRuntime","gen","inlineRenderFns","containsSlotChild","needsKey","generatedSlots","genScopedSlot","isLegacySyntax","reverseProxy","checkSkip","altGenElement","altGenNode","el$1","normalizationType$1","getNormalizationType","genNode","needsNormalization","genComment","genText","transformSpecialNewlines","bind$$1","componentName","staticProps","dynamicProps","createFunction","createCompileToFunctionFn","compile","compiled","fnGenErrors","createCompilerCreator","baseCompile","finalOptions","tips","tip","compileToFunctions","createCompiler","getShouldDecode","idToTemplate","mount","getOuterHTML","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","nativeObjectCreate","getOwnPropertyNamesExternal","getOwnPropertyDescriptorModule","shared","defineWellKnownSymbol","HIDDEN","SYMBOL","TO_PRIMITIVE","setInternalState","ObjectPrototype","$Symbol","$stringify","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","wrap","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","useSetter","useSimple","FORCED_JSON_STRINGIFY","replacer","$replacer","valueOf","NativePromise","speciesConstructor","promiseResolve","NON_GENERIC","real","onFinally","isFunction","thrower","ACCESSORS","argument0","argument1","PrototypeOfArrayIteratorPrototype","arrayIterator","TO_STRING_TAG_SUPPORT","settle","buildFullPath","parseHeaders","isURLSameOrigin","requestData","requestHeaders","auth","username","password","Authorization","btoa","fullPath","responseURL","responseHeaders","getAllResponseHeaders","responseData","responseType","responseText","statusText","onabort","ontimeout","timeoutErrorMessage","cookies","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","abort","send","flush","head","toggle","macrotask","WebKitMutationObserver","IS_NODE","queueMicrotaskDescriptor","queueMicrotask","task","createWellKnownSymbol","withoutSetter","nativeKeys","FAILS_ON_PRIMITIVES","arraySpeciesCreate","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","specificCreate","Memo","_hasWeakSet","WeakSet","_inner","memoize","unmemoize","PREFERRED_STRING","ignoreDuplicateOf","line","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","assignValue","SHARED","EXISTS","newPromiseCapability","promiseCapability","createInstance","defaultConfig","instance","axios","promises","spread","variable","NASHORN_BUG","1","aPossiblePrototype","CORRECT_SETTER","TAG","check","globalThis","createProperty","originalFunctionToString","States","FunctionToString","setupOnce","__sentry_original__","SyncPromise","_state","PENDING","_handlers","_setResult","RESOLVED","_reject","REJECTED","_executeHandlers","_attachHandler","cachedHandlers","onfulfilled","onrejected","resolvedCollection","finally","onfinally","isRejected","Scope","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_user","_tags","_extra","_context","addScopeListener","addEventProcessor","_notifyScopeListeners","_notifyEventProcessors","processors","hint","processor","final","setUser","setTags","tags","setTag","setExtras","extras","setExtra","extra","setFingerprint","fingerprint","_fingerprint","setLevel","level","_level","setTransaction","transaction","_transaction","_span","setContext","setSpan","span","getSpan","newScope","addBreadcrumb","breadcrumb","maxBreadcrumbs","mergedBreadcrumb","timestamp","clearBreadcrumbs","_applyFingerprint","applyToEvent","contexts","trace","getTraceContext","breadcrumbs","getGlobalEventProcessors","__SENTRY__","globalEventProcessors","addGlobalEventProcessor","API_VERSION","DEFAULT_BREADCRUMBS","MAX_BREADCRUMBS","Hub","client","_version","_stack","_invokeClient","getStackTop","isOlderThan","bindClient","setupIntegrations","pushScope","getStack","parentScope","getClient","popScope","withScope","getScope","captureException","exception","eventId","_lastEventId","finalHint","syntheticException","originalException","event_id","captureMessage","captureEvent","lastEventId","getOptions","beforeBreadcrumb","finalBreadcrumb","configureScope","oldHub","makeMain","getIntegration","integration","_oO","logger","startSpan","spanOrSpanContext","forceNoChild","_callExtensionMethod","traceHeaders","carrier","getMainCarrier","sentry","extensions","hub","registry","getHubFromCarrier","setHubOnCarrier","getCurrentHub","hasHubOnCarrier","getHubFromActiveDomain","activeDomain","registryHubTopStack","_Oo","DEFAULT_IGNORE_ERRORS","InboundFilters","_options","clientOptions","_mergeOptions","_shouldDropEvent","_isSentryError","_isIgnoredError","_isBlacklistedUrl","_getEventFilterUrl","_isWhitelistedUrl","ignoreInternal","ignoreErrors","_getPossibleEventMessages","blacklistUrls","whitelistUrls","oO","stacktrace","frames_1","frames","filename","frames_2","initAndBind","clientClass","debug","enable","setProtoOf","mixinProperties","_super","SentryError","_newTarget","DSN_REGEX","ERROR_MESSAGE","Dsn","_fromString","_fromComponents","withPassword","pass","lastPath","SENTRY_API_VERSION","API","dsn","_dsnObject","getDsn","getStoreEndpoint","_getBaseUrl","getStoreEndpointPath","getStoreEndpointWithUrlEncodedAuth","sentry_key","sentry_version","getRequestHeaders","clientName","clientVersion","header","getReportDialogEndpoint","dialogOptions","endpoint","encodedOptions","installedIntegrations","getIntegrationsToSetup","defaultIntegrations","userIntegrations","integrations","userIntegrationsNames_1","pickedIntegrationsNames_1","defaultIntegration","userIntegration","integrationsNames","alwaysLastToRun","setupIntegration","log","Status","BaseClient","backendClass","_integrations","_processing","_backend","_dsn","_getBackend","eventFromException","_processEvent","finalEvent","promisedEvent","eventFromMessage","_isClientProcessing","interval","getTransport","transportFlushed","ready","enabled","_isEnabled","ticked","_prepareEvent","environment","release","maxValueLength","normalizeDepth","prepared","_addIntegrations","sdk","_normalizeEvent","depth","sdkInfo","integrationsArray","beforeSend","sampleRate","isInternalException","__sentry__","sendEvent","beforeSendResult","_handleAsyncBeforeSend","processedEvent","fromHttpCode","Success","RateLimit","Invalid","Failed","Unknown","Severity","NoopTransport","Skipped","BaseBackend","_transport","_setupTransport","_exception","_hint","_message","supportsFetch","Headers","Request","Response","isNativeFetch","func","supportsNativeFetch","fetch","sandbox","supportsReferrerPolicy","referrerPolicy","supportsHistory","chrome","isChromePackagedApp","app","runtime","hasHistoryApi","history","pushState","replaceState","fromString","Debug","Info","Warning","Fatal","Critical","Log","UNKNOWN_FUNCTION","gecko","winjs","geckoEval","chromeEval","computeStackTrace","ex","popSize","framesToPop","computeStackTraceFromStacktraceProp","popFrames","computeStackTraceFromStackProp","extractMessage","isEval","submatch","lines","column","opera10Regex","opera11Regex","STACKTRACE_LIMIT","exceptionFromStacktrace","prepareFramesForEvent","eventFromPlainObject","rejection","__serialized__","eventFromStacktrace","localStack","firstFrameFunction","lastFrameFunction","frame","colno","function","in_app","lineno","reverse","eventFromUnknownInput","errorEvent","domException","eventFromString","objectException","synthetic","attachStacktrace","PromiseBuffer","_limit","_buffer","isReady","removedTask","drain","capturedSetTimeout","BaseTransport","FetchTransport","_disabledUntil","defaultOptions","XHRTransport","getResponseHeader","BrowserBackend","transportOptions","transport","handled","SDK_NAME","SDK_VERSION","BrowserClient","packages","showReportDialog","script","onLoad","callOnHub","ignoreOnError","shouldIgnoreOnError","ignoreNextOnError","__sentry_wrapped__","sentryWrapped","wrappedArguments","handleEvent","mechanism","lastHref","TryCatch","_ignoreOnError","_wrapTimeFunction","originalCallback","_wrapRAF","_wrapEventTarget","_wrapXHR","originalSend","xhr","xmlHttpRequestProps","wrapOptions","instrumented","instrument","instrumentConsole","instrumentDOM","instrumentXHR","instrumentFetch","instrumentHistory","instrumentError","instrumentUnhandledRejection","addInstrumentationHandler","triggerHandlers","e_1","e_1_1","return","originalConsoleLevel","originalFetch","commonHandlerData","fetchData","getFetchMethod","getFetchUrl","startTimestamp","endTimestamp","fetchArgs","xhrproto","originalOpen","__sentry_xhr__","__sentry_own_request__","status_code","oldOnPopState","onpopstate","historyReplacementFunction","originalHistoryFunction","domEventHandler","keypressEventHandler","innerOriginal","keypressTimeout","lastCapturedEvent","debounceDuration","debounceTimer","isContentEditable","_oldOnErrorHandler","_oldOnUnhandledRejectionHandler","onunhandledrejection","Breadcrumbs","dom","_consoleBreadcrumb","handlerData","category","_domBreadcrumb","_xhrBreadcrumb","addSentryBreadcrumb","_fetchBreadcrumb","filterUrl","_historyBreadcrumb","parsedLoc","parsedFrom","parsedTo","relative","serializedData","GlobalHandlers","_onErrorHandlerInstalled","_onUnhandledRejectionHandlerInstalled","stackTraceLimit","_installGlobalOnErrorHandler","_installGlobalOnUnhandledRejectionHandler","currentHub","hasIntegration","isFailedOwnDelivery","_eventFromIncompleteOnError","_enhanceEventWithInitialFrame","detail","_eventFromIncompleteRejection","ERROR_TYPES_RE","groups","DEFAULT_KEY","DEFAULT_LIMIT","LinkedErrors","_key","limit","_handler","linkedErrors","_walkErrorTree","UserAgent","window_1","SENTRY_RELEASE","originalModule","webpackPolyfill","normalizeArray","allowAboveRoot","basename","matchedSlash","xs","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","paths","fromParts","toParts","samePartsLength","outputParts","sep","delimiter","dirname","hasRoot","ext","extname","startDot","startPart","preDotState","CORRECT_PROTOTYPE_GETTER","addToUnscopables","defineIterator","ARRAY_ITERATOR","iterated","Arguments","_attachProps","_logErrors","_Vue","logErrors","attachProps","_formatComponentName","__file","oldOnError","lifecycleHook","isPopup","popupItem","elements","isServer","vNode","$isServer","composedPath","__vueClickOutside__","relativeURL","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","redefineAll","setSpecies","anInstance","checkCorrectnessOfIteration","microtask","hostReportErrors","newPromiseCapabilityModule","perform","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","newGenericPromiseCapability","DISPATCH_EVENT","UNHANDLED_REJECTION","REJECTION_HANDLED","FULFILLED","HANDLED","UNHANDLED","GLOBAL_CORE_JS_PROMISE","PromiseRejectionEvent","FakePromise","INCORRECT_ITERATION","isThenable","isReject","notified","reactions","ok","exited","reaction","fail","onHandleUnhandled","onUnhandled","IS_UNHANDLED","isUnhandled","unwrap","internalReject","internalResolve","onFulfilled","onRejected","capability","$promiseResolve","remaining","alreadyCalled","fill","wrapped","urlEncode","getWalkSource","CustomEvent","utf8Length","encodeURI","jsonSize","normalizeToSize","maxSize","serialized","serializeValue","normalizeValue","memo","Infinity","innerKey","extractExceptionKeysForMessage","maxLength","includedKeys","PromiseCapability","$$resolve","$$reject","PREFIX","Logger","_enabled","isError","wat","isInstanceOf","isErrorEvent","isDOMError","isDOMException","isElement","isSyntheticEvent","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","eject","dynamicRequire","mod","require","isNodeEnv","fallbackGlobalObject","getGlobalObject","uuid4","crypto","msCrypto","getRandomValues","Uint16Array","pad","parseUrl","fragment","getEventDescription","consoleSandbox","levels","originalConsole","wrappedLevels","addExceptionTypeValue","addExceptionMechanism","getLocationHref","htmlTreeAsString","elem","currentElem","MAX_TRAVERSE_HEIGHT","MAX_OUTPUT_LEN","out","separator","sepLength","nextStr","_htmlElementAsString","attrWhitelist","INITIAL_TIME","prevNow","performanceFallback","timeOrigin","crossPlatformPerformance","perfHooks","timing","navigationStart","timestampWithMs","defaultRetryAfter","parseRetryAfterHeader","headerDelay","headerDate","defaultFunctionName","getFunctionName","truncate","snipLine","newLine","ll","safeJoin","output","isMatchingPattern","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"],"mappings":"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","file":"js/chunk-vendors.js","sourcesContent":["var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","'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(utils.merge(config || {}, {\n method: method,\n url: url\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(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","'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","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\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","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var 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 anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\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 = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(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 result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'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\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';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","/* Web Font Loader v1.6.28 - (c) Adobe Systems, Google. License: Apache 2.0 */(function(){function aa(a,b,c){return a.call.apply(a.bind,arguments)}function ba(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function p(a,b,c){p=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf(\"native code\")?aa:ba;return p.apply(null,arguments)}var q=Date.now||function(){return+new Date};function ca(a,b){this.a=a;this.o=b||a;this.c=this.o.document}var da=!!window.FontFace;function t(a,b,c,d){b=a.c.createElement(b);if(c)for(var e in c)c.hasOwnProperty(e)&&(\"style\"==e?b.style.cssText=c[e]:b.setAttribute(e,c[e]));d&&b.appendChild(a.c.createTextNode(d));return b}function u(a,b,c){a=a.c.getElementsByTagName(b)[0];a||(a=document.documentElement);a.insertBefore(c,a.lastChild)}function v(a){a.parentNode&&a.parentNode.removeChild(a)}\nfunction w(a,b,c){b=b||[];c=c||[];for(var d=a.className.split(/\\s+/),e=0;e<b.length;e+=1){for(var f=!1,g=0;g<d.length;g+=1)if(b[e]===d[g]){f=!0;break}f||d.push(b[e])}b=[];for(e=0;e<d.length;e+=1){f=!1;for(g=0;g<c.length;g+=1)if(d[e]===c[g]){f=!0;break}f||b.push(d[e])}a.className=b.join(\" \").replace(/\\s+/g,\" \").replace(/^\\s+|\\s+$/,\"\")}function y(a,b){for(var c=a.className.split(/\\s+/),d=0,e=c.length;d<e;d++)if(c[d]==b)return!0;return!1}\nfunction ea(a){return a.o.location.hostname||a.a.location.hostname}function z(a,b,c){function d(){m&&e&&f&&(m(g),m=null)}b=t(a,\"link\",{rel:\"stylesheet\",href:b,media:\"all\"});var e=!1,f=!0,g=null,m=c||null;da?(b.onload=function(){e=!0;d()},b.onerror=function(){e=!0;g=Error(\"Stylesheet failed to load\");d()}):setTimeout(function(){e=!0;d()},0);u(a,\"head\",b)}\nfunction A(a,b,c,d){var e=a.c.getElementsByTagName(\"head\")[0];if(e){var f=t(a,\"script\",{src:b}),g=!1;f.onload=f.onreadystatechange=function(){g||this.readyState&&\"loaded\"!=this.readyState&&\"complete\"!=this.readyState||(g=!0,c&&c(null),f.onload=f.onreadystatechange=null,\"HEAD\"==f.parentNode.tagName&&e.removeChild(f))};e.appendChild(f);setTimeout(function(){g||(g=!0,c&&c(Error(\"Script load timeout\")))},d||5E3);return f}return null};function B(){this.a=0;this.c=null}function C(a){a.a++;return function(){a.a--;D(a)}}function E(a,b){a.c=b;D(a)}function D(a){0==a.a&&a.c&&(a.c(),a.c=null)};function F(a){this.a=a||\"-\"}F.prototype.c=function(a){for(var b=[],c=0;c<arguments.length;c++)b.push(arguments[c].replace(/[\\W_]+/g,\"\").toLowerCase());return b.join(this.a)};function G(a,b){this.c=a;this.f=4;this.a=\"n\";var c=(b||\"n4\").match(/^([nio])([1-9])$/i);c&&(this.a=c[1],this.f=parseInt(c[2],10))}function fa(a){return H(a)+\" \"+(a.f+\"00\")+\" 300px \"+I(a.c)}function I(a){var b=[];a=a.split(/,\\s*/);for(var c=0;c<a.length;c++){var d=a[c].replace(/['\"]/g,\"\");-1!=d.indexOf(\" \")||/^\\d/.test(d)?b.push(\"'\"+d+\"'\"):b.push(d)}return b.join(\",\")}function J(a){return a.a+a.f}function H(a){var b=\"normal\";\"o\"===a.a?b=\"oblique\":\"i\"===a.a&&(b=\"italic\");return b}\nfunction ga(a){var b=4,c=\"n\",d=null;a&&((d=a.match(/(normal|oblique|italic)/i))&&d[1]&&(c=d[1].substr(0,1).toLowerCase()),(d=a.match(/([1-9]00|normal|bold)/i))&&d[1]&&(/bold/i.test(d[1])?b=7:/[1-9]00/.test(d[1])&&(b=parseInt(d[1].substr(0,1),10))));return c+b};function ha(a,b){this.c=a;this.f=a.o.document.documentElement;this.h=b;this.a=new F(\"-\");this.j=!1!==b.events;this.g=!1!==b.classes}function ia(a){a.g&&w(a.f,[a.a.c(\"wf\",\"loading\")]);K(a,\"loading\")}function L(a){if(a.g){var b=y(a.f,a.a.c(\"wf\",\"active\")),c=[],d=[a.a.c(\"wf\",\"loading\")];b||c.push(a.a.c(\"wf\",\"inactive\"));w(a.f,c,d)}K(a,\"inactive\")}function K(a,b,c){if(a.j&&a.h[b])if(c)a.h[b](c.c,J(c));else a.h[b]()};function ja(){this.c={}}function ka(a,b,c){var d=[],e;for(e in b)if(b.hasOwnProperty(e)){var f=a.c[e];f&&d.push(f(b[e],c))}return d};function M(a,b){this.c=a;this.f=b;this.a=t(this.c,\"span\",{\"aria-hidden\":\"true\"},this.f)}function N(a){u(a.c,\"body\",a.a)}function O(a){return\"display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:\"+I(a.c)+\";\"+(\"font-style:\"+H(a)+\";font-weight:\"+(a.f+\"00\")+\";\")};function P(a,b,c,d,e,f){this.g=a;this.j=b;this.a=d;this.c=c;this.f=e||3E3;this.h=f||void 0}P.prototype.start=function(){var a=this.c.o.document,b=this,c=q(),d=new Promise(function(d,e){function f(){q()-c>=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?d():setTimeout(f,25)},function(){e()})}f()}),e=null,f=new Promise(function(a,d){e=setTimeout(d,b.f)});Promise.race([f,d]).then(function(){e&&(clearTimeout(e),e=null);b.g(b.a)},function(){b.j(b.a)})};function Q(a,b,c,d,e,f,g){this.v=a;this.B=b;this.c=c;this.a=d;this.s=g||\"BESbswy\";this.f={};this.w=e||3E3;this.u=f||null;this.m=this.j=this.h=this.g=null;this.g=new M(this.c,this.s);this.h=new M(this.c,this.s);this.j=new M(this.c,this.s);this.m=new M(this.c,this.s);a=new G(this.a.c+\",serif\",J(this.a));a=O(a);this.g.a.style.cssText=a;a=new G(this.a.c+\",sans-serif\",J(this.a));a=O(a);this.h.a.style.cssText=a;a=new G(\"serif\",J(this.a));a=O(a);this.j.a.style.cssText=a;a=new G(\"sans-serif\",J(this.a));a=\nO(a);this.m.a.style.cssText=a;N(this.g);N(this.h);N(this.j);N(this.m)}var R={D:\"serif\",C:\"sans-serif\"},S=null;function T(){if(null===S){var a=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent);S=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return S}Q.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f[\"sans-serif\"]=this.m.a.offsetWidth;this.A=q();U(this)};\nfunction la(a,b,c){for(var d in R)if(R.hasOwnProperty(d)&&b===a.f[R[d]]&&c===a.f[R[d]])return!0;return!1}function U(a){var b=a.g.a.offsetWidth,c=a.h.a.offsetWidth,d;(d=b===a.f.serif&&c===a.f[\"sans-serif\"])||(d=T()&&la(a,b,c));d?q()-a.A>=a.w?T()&&la(a,b,c)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):ma(a):V(a,a.v)}function ma(a){setTimeout(p(function(){U(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.m.a);b(this.a)},a),0)};function W(a,b,c){this.c=a;this.a=b;this.f=0;this.m=this.j=!1;this.s=c}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c(\"wf\",a.c,J(a).toString(),\"active\")],[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\"),b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\")]);K(b,\"fontactive\",a);this.m=!0;na(this)};\nW.prototype.h=function(a){var b=this.a;if(b.g){var c=y(b.f,b.a.c(\"wf\",a.c,J(a).toString(),\"active\")),d=[],e=[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\")];c||d.push(b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\"));w(b.f,d,e)}K(b,\"fontinactive\",a);na(this)};function na(a){0==--a.f&&a.j&&(a.m?(a=a.a,a.g&&w(a.f,[a.a.c(\"wf\",\"active\")],[a.a.c(\"wf\",\"loading\"),a.a.c(\"wf\",\"inactive\")]),K(a,\"active\")):L(a.a))};function oa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}oa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;pa(this,new ha(this.c,a),a)};\nfunction qa(a,b,c,d,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,m=d||null||{};if(0===c.length&&f)L(b.a);else{b.f+=c.length;f&&(b.j=f);var h,l=[];for(h=0;h<c.length;h++){var k=c[h],n=m[k.c],r=b.a,x=k;r.g&&w(r.f,[r.a.c(\"wf\",x.c,J(x).toString(),\"loading\")]);K(r,\"fontloading\",x);r=null;if(null===X)if(window.FontFace){var x=/Gecko.*Firefox\\/(\\d+)/.exec(window.navigator.userAgent),xa=/OS X.*Version\\/10\\..*Safari/.exec(window.navigator.userAgent)&&/Apple/.exec(window.navigator.vendor);\nX=x?42<parseInt(x[1],10):xa?!1:!0}else X=!1;X?r=new P(p(b.g,b),p(b.h,b),b.c,k,b.s,n):r=new Q(p(b.g,b),p(b.h,b),b.c,k,b.s,a,n);l.push(r)}for(h=0;h<l.length;h++)l[h].start()}},0)}function pa(a,b,c){var d=[],e=c.timeout;ia(b);var d=ka(a.a,c,a.c),f=new W(a.c,b,e);a.h=d.length;b=0;for(c=d.length;b<c;b++)d[b].load(function(b,d,c){qa(a,f,b,d,c)})};function ra(a,b){this.c=a;this.a=b}\nra.prototype.load=function(a){function b(){if(f[\"__mti_fntLst\"+d]){var c=f[\"__mti_fntLst\"+d](),e=[],h;if(c)for(var l=0;l<c.length;l++){var k=c[l].fontfamily;void 0!=c[l].fontStyle&&void 0!=c[l].fontWeight?(h=c[l].fontStyle+c[l].fontWeight,e.push(new G(k,h))):e.push(new G(k))}a(e)}else setTimeout(function(){b()},50)}var c=this,d=c.a.projectId,e=c.a.version;if(d){var f=c.c.o;A(this.c,(c.a.api||\"https://fast.fonts.net/jsapi\")+\"/\"+d+\".js\"+(e?\"?v=\"+e:\"\"),function(e){e?a([]):(f[\"__MonotypeConfiguration__\"+\nd]=function(){return c.a},b())}).id=\"__MonotypeAPIScript__\"+d}else a([])};function sa(a,b){this.c=a;this.a=b}sa.prototype.load=function(a){var b,c,d=this.a.urls||[],e=this.a.families||[],f=this.a.testStrings||{},g=new B;b=0;for(c=d.length;b<c;b++)z(this.c,d[b],C(g));var m=[];b=0;for(c=e.length;b<c;b++)if(d=e[b].split(\":\"),d[1])for(var h=d[1].split(\",\"),l=0;l<h.length;l+=1)m.push(new G(d[0],h[l]));else m.push(new G(d[0]));E(g,function(){a(m,f)})};function ta(a,b){a?this.c=a:this.c=ua;this.a=[];this.f=[];this.g=b||\"\"}var ua=\"https://fonts.googleapis.com/css\";function va(a,b){for(var c=b.length,d=0;d<c;d++){var e=b[d].split(\":\");3==e.length&&a.f.push(e.pop());var f=\"\";2==e.length&&\"\"!=e[1]&&(f=\":\");a.a.push(e.join(f))}}\nfunction wa(a){if(0==a.a.length)throw Error(\"No fonts to load!\");if(-1!=a.c.indexOf(\"kit=\"))return a.c;for(var b=a.a.length,c=[],d=0;d<b;d++)c.push(a.a[d].replace(/ /g,\"+\"));b=a.c+\"?family=\"+c.join(\"%7C\");0<a.f.length&&(b+=\"&subset=\"+a.f.join(\",\"));0<a.g.length&&(b+=\"&text=\"+encodeURIComponent(a.g));return b};function ya(a){this.f=a;this.a=[];this.c={}}\nvar za={latin:\"BESbswy\",\"latin-ext\":\"\\u00e7\\u00f6\\u00fc\\u011f\\u015f\",cyrillic:\"\\u0439\\u044f\\u0416\",greek:\"\\u03b1\\u03b2\\u03a3\",khmer:\"\\u1780\\u1781\\u1782\",Hanuman:\"\\u1780\\u1781\\u1782\"},Aa={thin:\"1\",extralight:\"2\",\"extra-light\":\"2\",ultralight:\"2\",\"ultra-light\":\"2\",light:\"3\",regular:\"4\",book:\"4\",medium:\"5\",\"semi-bold\":\"6\",semibold:\"6\",\"demi-bold\":\"6\",demibold:\"6\",bold:\"7\",\"extra-bold\":\"8\",extrabold:\"8\",\"ultra-bold\":\"8\",ultrabold:\"8\",black:\"9\",heavy:\"9\",l:\"3\",r:\"4\",b:\"7\"},Ba={i:\"i\",italic:\"i\",n:\"n\",normal:\"n\"},\nCa=/^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/;\nfunction Da(a){for(var b=a.f.length,c=0;c<b;c++){var d=a.f[c].split(\":\"),e=d[0].replace(/\\+/g,\" \"),f=[\"n4\"];if(2<=d.length){var g;var m=d[1];g=[];if(m)for(var m=m.split(\",\"),h=m.length,l=0;l<h;l++){var k;k=m[l];if(k.match(/^[\\w-]+$/)){var n=Ca.exec(k.toLowerCase());if(null==n)k=\"\";else{k=n[2];k=null==k||\"\"==k?\"n\":Ba[k];n=n[1];if(null==n||\"\"==n)n=\"4\";else var r=Aa[n],n=r?r:isNaN(n)?\"4\":n.substr(0,1);k=[k,n].join(\"\")}}else k=\"\";k&&g.push(k)}0<g.length&&(f=g);3==d.length&&(d=d[2],g=[],d=d?d.split(\",\"):\ng,0<d.length&&(d=za[d[0]])&&(a.c[e]=d))}a.c[e]||(d=za[e])&&(a.c[e]=d);for(d=0;d<f.length;d+=1)a.a.push(new G(e,f[d]))}};function Ea(a,b){this.c=a;this.a=b}var Fa={Arimo:!0,Cousine:!0,Tinos:!0};Ea.prototype.load=function(a){var b=new B,c=this.c,d=new ta(this.a.api,this.a.text),e=this.a.families;va(d,e);var f=new ya(e);Da(f);z(c,wa(d),C(b));E(b,function(){a(f.a,f.c,Fa)})};function Ga(a,b){this.c=a;this.a=b}Ga.prototype.load=function(a){var b=this.a.id,c=this.c.o;b?A(this.c,(this.a.api||\"https://use.typekit.net\")+\"/\"+b+\".js\",function(b){if(b)a([]);else if(c.Typekit&&c.Typekit.config&&c.Typekit.config.fn){b=c.Typekit.config.fn;for(var e=[],f=0;f<b.length;f+=2)for(var g=b[f],m=b[f+1],h=0;h<m.length;h++)e.push(new G(g,m[h]));try{c.Typekit.load({events:!1,classes:!1,async:!0})}catch(l){}a(e)}},2E3):a([])};function Ha(a,b){this.c=a;this.f=b;this.a=[]}Ha.prototype.load=function(a){var b=this.f.id,c=this.c.o,d=this;b?(c.__webfontfontdeckmodule__||(c.__webfontfontdeckmodule__={}),c.__webfontfontdeckmodule__[b]=function(b,c){for(var g=0,m=c.fonts.length;g<m;++g){var h=c.fonts[g];d.a.push(new G(h.name,ga(\"font-weight:\"+h.weight+\";font-style:\"+h.style)))}a(d.a)},A(this.c,(this.f.api||\"https://f.fontdeck.com/s/css/js/\")+ea(this.c)+\"/\"+b+\".js\",function(b){b&&a([])})):a([])};var Y=new oa(window);Y.a.c.custom=function(a,b){return new sa(b,a)};Y.a.c.fontdeck=function(a,b){return new Ha(b,a)};Y.a.c.monotype=function(a,b){return new ra(b,a)};Y.a.c.typekit=function(a,b){return new Ga(b,a)};Y.a.c.google=function(a,b){return new Ea(b,a)};var Z={load:p(Y.load,Y)};\"function\"===typeof define&&define.amd?define(function(){return Z}):\"undefined\"!==typeof module&&module.exports?module.exports=Z:(window.WebFont=Z,window.WebFontConfig&&Y.load(window.WebFontConfig));}());\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\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","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","'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\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","var win = window;\n\nexport var raf = win.requestAnimationFrame\n || win.webkitRequestAnimationFrame\n || win.mozRequestAnimationFrame\n || win.msRequestAnimationFrame\n || function(cb) { return setTimeout(cb, 16); };\n","var win = window;\n\nexport var caf = win.cancelAnimationFrame\n || win.mozCancelAnimationFrame\n || function(id){ clearTimeout(id); };\n","export function extend() {\n var obj, name, copy,\n target = arguments[0] || {},\n i = 1,\n length = arguments.length;\n\n for (; i < length; i++) {\n if ((obj = arguments[i]) !== null) {\n for (name in obj) {\n copy = obj[name];\n\n if (target === copy) {\n continue;\n } else if (copy !== undefined) {\n target[name] = copy;\n }\n }\n }\n }\n return target;\n}","export function checkStorageValue (value) {\n return ['true', 'false'].indexOf(value) >= 0 ? JSON.parse(value) : value;\n}","export function setLocalStorage(storage, key, value, access) {\n if (access) {\n try { storage.setItem(key, value); } catch (e) {}\n }\n return value;\n}","export function getSlideId() {\n var id = window.tnsId;\n window.tnsId = !id ? 1 : id + 1;\n \n return 'tns' + window.tnsId;\n}","export function getBody () {\n var doc = document,\n body = doc.body;\n\n if (!body) {\n body = doc.createElement('body');\n body.fake = true;\n }\n\n return body;\n}","export var docElement = document.documentElement;","import { docElement } from './docElement.js';\n\nexport function setFakeBody (body) {\n var docOverflow = '';\n if (body.fake) {\n docOverflow = docElement.style.overflow;\n //avoid crashing IE8, if background image is used\n body.style.background = '';\n //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible\n body.style.overflow = docElement.style.overflow = 'hidden';\n docElement.appendChild(body);\n }\n\n return docOverflow;\n}","import { docElement } from './docElement.js';\n\nexport function resetFakeBody (body, docOverflow) {\n if (body.fake) {\n body.remove();\n docElement.style.overflow = docOverflow;\n // Trigger layout so kinetic scrolling isn't disabled in iOS6+\n // eslint-disable-next-line\n docElement.offsetHeight;\n }\n}","// get css-calc \n// @return - false | calc | -webkit-calc | -moz-calc\n// @usage - var calc = getCalc(); \nimport { getBody } from './getBody.js';\nimport { setFakeBody } from './setFakeBody.js';\nimport { resetFakeBody } from './resetFakeBody.js';\n\nexport function calc() {\n var doc = document, \n body = getBody(),\n docOverflow = setFakeBody(body),\n div = doc.createElement('div'), \n result = false;\n\n body.appendChild(div);\n try {\n var str = '(10px * 10)',\n vals = ['calc' + str, '-moz-calc' + str, '-webkit-calc' + str],\n val;\n for (var i = 0; i < 3; i++) {\n val = vals[i];\n div.style.width = val;\n if (div.offsetWidth === 100) { \n result = val.replace(str, ''); \n break;\n }\n }\n } catch (e) {}\n \n body.fake ? resetFakeBody(body, docOverflow) : div.remove();\n\n return result;\n}","// get subpixel support value\n// @return - boolean\nimport { getBody } from './getBody.js';\nimport { setFakeBody } from './setFakeBody.js';\nimport { resetFakeBody } from './resetFakeBody.js';\n\nexport function percentageLayout() {\n // check subpixel layout supporting\n var doc = document,\n body = getBody(),\n docOverflow = setFakeBody(body),\n wrapper = doc.createElement('div'),\n outer = doc.createElement('div'),\n str = '',\n count = 70,\n perPage = 3,\n supported = false;\n\n wrapper.className = \"tns-t-subp2\";\n outer.className = \"tns-t-ct\";\n\n for (var i = 0; i < count; i++) {\n str += '<div></div>';\n }\n\n outer.innerHTML = str;\n wrapper.appendChild(outer);\n body.appendChild(wrapper);\n\n supported = Math.abs(wrapper.getBoundingClientRect().left - outer.children[count - perPage].getBoundingClientRect().left) < 2;\n\n body.fake ? resetFakeBody(body, docOverflow) : wrapper.remove();\n\n return supported;\n}","import { getBody } from './getBody.js';\nimport { setFakeBody } from './setFakeBody.js';\nimport { resetFakeBody } from './resetFakeBody.js';\n\nexport function mediaquerySupport () {\n var doc = document,\n body = getBody(),\n docOverflow = setFakeBody(body),\n div = doc.createElement('div'),\n style = doc.createElement('style'),\n rule = '@media all and (min-width:1px){.tns-mq-test{position:absolute}}',\n position;\n\n style.type = 'text/css';\n div.className = 'tns-mq-test';\n\n body.appendChild(style);\n body.appendChild(div);\n\n if (style.styleSheet) {\n style.styleSheet.cssText = rule;\n } else {\n style.appendChild(doc.createTextNode(rule));\n }\n\n position = window.getComputedStyle ? window.getComputedStyle(div).position : div.currentStyle['position'];\n\n body.fake ? resetFakeBody(body, docOverflow) : div.remove();\n\n return position === \"absolute\";\n}","// create and append style sheet\nexport function createStyleSheet (media) {\n // Create the <style> tag\n var style = document.createElement(\"style\");\n // style.setAttribute(\"type\", \"text/css\");\n\n // Add a media (and/or media query) here if you'd like!\n // style.setAttribute(\"media\", \"screen\")\n // style.setAttribute(\"media\", \"only screen and (max-width : 1024px)\")\n if (media) { style.setAttribute(\"media\", media); }\n\n // WebKit hack :(\n // style.appendChild(document.createTextNode(\"\"));\n\n // Add the <style> element to the page\n document.querySelector('head').appendChild(style);\n\n return style.sheet ? style.sheet : style.styleSheet;\n};","// cross browsers addRule method\nimport { raf } from './raf.js';\nexport function addCSSRule(sheet, selector, rules, index) {\n // return raf(function() {\n 'insertRule' in sheet ?\n sheet.insertRule(selector + '{' + rules + '}', index) :\n sheet.addRule(selector, rules, index);\n // });\n}","// cross browsers addRule method\nimport { raf } from './raf.js';\nexport function removeCSSRule(sheet, index) {\n // return raf(function() {\n 'deleteRule' in sheet ?\n sheet.deleteRule(index) :\n sheet.removeRule(index);\n // });\n}","export function getCssRulesLength(sheet) {\n var rule = ('insertRule' in sheet) ? sheet.cssRules : sheet.rules;\n return rule.length;\n}","export function toDegree (y, x) {\n return Math.atan2(y, x) * (180 / Math.PI);\n}","export function getTouchDirection(angle, range) {\n var direction = false,\n gap = Math.abs(90 - Math.abs(angle));\n \n if (gap >= 90 - range) {\n direction = 'horizontal';\n } else if (gap <= range) {\n direction = 'vertical';\n }\n\n return direction;\n}","// https://toddmotto.com/ditch-the-array-foreach-call-nodelist-hack/\nexport function forEach (arr, callback, scope) {\n for (var i = 0, l = arr.length; i < l; i++) {\n callback.call(scope, arr[i], i);\n }\n}","export var classListSupport = 'classList' in document.createElement('_');","import { classListSupport } from './classListSupport.js';\n\nvar hasClass = classListSupport ?\n function (el, str) { return el.classList.contains(str); } :\n function (el, str) { return el.className.indexOf(str) >= 0; };\n\nexport { classListSupport, hasClass };","import { classListSupport, hasClass } from './hasClass.js';\nvar addClass = classListSupport ?\n function (el, str) {\n if (!hasClass(el, str)) { el.classList.add(str); }\n } :\n function (el, str) {\n if (!hasClass(el, str)) { el.className += ' ' + str; }\n };\n\nexport { addClass };","import { classListSupport, hasClass } from './hasClass.js';\nvar removeClass = classListSupport ?\n function (el, str) {\n if (hasClass(el, str)) { el.classList.remove(str); }\n } :\n function (el, str) {\n if (hasClass(el, str)) { el.className = el.className.replace(str, ''); }\n };\n\nexport { removeClass };","export function hasAttr(el, attr) {\n return el.hasAttribute(attr);\n}","export function getAttr(el, attr) {\n return el.getAttribute(attr);\n}","export function isNodeList(el) {\n // Only NodeList has the \"item()\" function\n return typeof el.item !== \"undefined\"; \n}","import { isNodeList } from \"./isNodeList.js\";\n\nexport function setAttrs(els, attrs) {\n els = (isNodeList(els) || els instanceof Array) ? els : [els];\n if (Object.prototype.toString.call(attrs) !== '[object Object]') { return; }\n\n for (var i = els.length; i--;) {\n for(var key in attrs) {\n els[i].setAttribute(key, attrs[key]);\n }\n }\n}","import { isNodeList } from \"./isNodeList.js\";\n\nexport function removeAttrs(els, attrs) {\n els = (isNodeList(els) || els instanceof Array) ? els : [els];\n attrs = (attrs instanceof Array) ? attrs : [attrs];\n\n var attrLength = attrs.length;\n for (var i = els.length; i--;) {\n for (var j = attrLength; j--;) {\n els[i].removeAttribute(attrs[j]);\n }\n }\n}","export function arrayFromNodeList (nl) {\n var arr = [];\n for (var i = 0, l = nl.length; i < l; i++) {\n arr.push(nl[i]);\n }\n return arr;\n}","export function hideElement(el, forceHide) {\n if (el.style.display !== 'none') { el.style.display = 'none'; }\n}","export function showElement(el, forceHide) {\n if (el.style.display === 'none') { el.style.display = ''; }\n}","export function isVisible(el) {\n return window.getComputedStyle(el).display !== 'none';\n}","export function whichProperty(props){\n if (typeof props === 'string') {\n var arr = [props],\n Props = props.charAt(0).toUpperCase() + props.substr(1),\n prefixes = ['Webkit', 'Moz', 'ms', 'O'];\n \n prefixes.forEach(function(prefix) {\n if (prefix !== 'ms' || props === 'transform') {\n arr.push(prefix + Props);\n }\n });\n\n props = arr;\n }\n\n var el = document.createElement('fakeelement'),\n len = props.length;\n for(var i = 0; i < props.length; i++){\n var prop = props[i];\n if( el.style[prop] !== undefined ){ return prop; }\n }\n\n return false; // explicit for ie9-\n}\n","import { getBody } from './getBody.js';\nimport { setFakeBody } from './setFakeBody.js';\nimport { resetFakeBody } from './resetFakeBody.js';\n\nexport function has3DTransforms(tf){\n if (!tf) { return false; }\n if (!window.getComputedStyle) { return false; }\n \n var doc = document,\n body = getBody(),\n docOverflow = setFakeBody(body),\n el = doc.createElement('p'),\n has3d,\n cssTF = tf.length > 9 ? '-' + tf.slice(0, -9).toLowerCase() + '-' : '';\n\n cssTF += 'transform';\n\n // Add it to the body to get the computed style\n body.insertBefore(el, null);\n\n el.style[tf] = 'translate3d(1px,1px,1px)';\n has3d = window.getComputedStyle(el).getPropertyValue(cssTF);\n\n body.fake ? resetFakeBody(body, docOverflow) : el.remove();\n\n return (has3d !== undefined && has3d.length > 0 && has3d !== \"none\");\n}\n","// get transitionend, animationend based on transitionDuration\n// @propin: string\n// @propOut: string, first-letter uppercase\n// Usage: getEndProperty('WebkitTransitionDuration', 'Transition') => webkitTransitionEnd\nexport function getEndProperty(propIn, propOut) {\n var endProp = false;\n if (/^Webkit/.test(propIn)) {\n endProp = 'webkit' + propOut + 'End';\n } else if (/^O/.test(propIn)) {\n endProp = 'o' + propOut + 'End';\n } else if (propIn) {\n endProp = propOut.toLowerCase() + 'end';\n }\n return endProp;\n}","// Test via a getter in the options object to see if the passive property is accessed\nvar supportsPassive = false;\ntry {\n var opts = Object.defineProperty({}, 'passive', {\n get: function() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n} catch (e) {}\nexport var passiveOption = supportsPassive ? { passive: true } : false;","import { passiveOption } from './passiveOption.js';\n\nexport function addEvents(el, obj, preventScrolling) {\n for (var prop in obj) {\n var option = ['touchstart', 'touchmove'].indexOf(prop) >= 0 && !preventScrolling ? passiveOption : false;\n el.addEventListener(prop, obj[prop], option);\n }\n}","import { passiveOption } from './passiveOption.js';\n\nexport function removeEvents(el, obj) {\n for (var prop in obj) {\n var option = ['touchstart', 'touchmove'].indexOf(prop) >= 0 ? passiveOption : false;\n el.removeEventListener(prop, obj[prop], option);\n }\n}","export function Events() {\n return {\n topics: {},\n on: function (eventName, fn) {\n this.topics[eventName] = this.topics[eventName] || [];\n this.topics[eventName].push(fn);\n },\n off: function(eventName, fn) {\n if (this.topics[eventName]) {\n for (var i = 0; i < this.topics[eventName].length; i++) {\n if (this.topics[eventName][i] === fn) {\n this.topics[eventName].splice(i, 1);\n break;\n }\n }\n }\n },\n emit: function (eventName, data) {\n data.type = eventName;\n if (this.topics[eventName]) {\n this.topics[eventName].forEach(function(fn) {\n fn(data, eventName);\n });\n }\n }\n };\n};","export function jsTransform(element, attr, prefix, postfix, to, duration, callback) {\n var tick = Math.min(duration, 10),\n unit = (to.indexOf('%') >= 0) ? '%' : 'px',\n to = to.replace(unit, ''),\n from = Number(element.style[attr].replace(prefix, '').replace(postfix, '').replace(unit, '')),\n positionTick = (to - from) / duration * tick,\n running;\n\n setTimeout(moveElement, tick);\n function moveElement() {\n duration -= tick;\n from += positionTick;\n element.style[attr] = prefix + from + unit + postfix;\n if (duration > 0) { \n setTimeout(moveElement, tick); \n } else {\n callback();\n }\n }\n}","import './helpers/Object.keys';\nimport './helpers/childNode.remove';\nimport { raf } from './helpers/raf.js';\nimport { caf } from './helpers/caf.js';\nimport { extend } from './helpers/extend.js';\nimport { checkStorageValue } from './helpers/checkStorageValue.js';\nimport { setLocalStorage } from './helpers/setLocalStorage.js';\nimport { getSlideId } from './helpers/getSlideId.js';\nimport { calc } from './helpers/calc.js';\nimport { percentageLayout } from './helpers/percentageLayout.js';\nimport { mediaquerySupport } from './helpers/mediaquerySupport.js';\nimport { createStyleSheet } from './helpers/createStyleSheet.js';\nimport { addCSSRule } from './helpers/addCSSRule.js';\nimport { removeCSSRule } from './helpers/removeCSSRule.js';\nimport { getCssRulesLength } from './helpers/getCssRulesLength.js';\nimport { toDegree } from './helpers/toDegree.js';\nimport { getTouchDirection } from './helpers/getTouchDirection.js';\nimport { forEach } from './helpers/forEach.js';\nimport { hasClass } from './helpers/hasClass.js';\nimport { addClass } from './helpers/addClass.js';\nimport { removeClass } from './helpers/removeClass.js';\nimport { hasAttr } from './helpers/hasAttr.js';\nimport { getAttr } from './helpers/getAttr.js';\nimport { setAttrs } from './helpers/setAttrs.js';\nimport { removeAttrs } from './helpers/removeAttrs.js';\nimport { arrayFromNodeList } from './helpers/arrayFromNodeList.js';\nimport { hideElement } from './helpers/hideElement.js';\nimport { showElement } from './helpers/showElement.js';\nimport { isVisible } from './helpers/isVisible.js';\nimport { whichProperty } from './helpers/whichProperty.js';\nimport { has3DTransforms } from './helpers/has3DTransforms.js';\nimport { getEndProperty } from './helpers/getEndProperty.js';\nimport { addEvents } from './helpers/addEvents.js';\nimport { removeEvents } from './helpers/removeEvents.js';\nimport { Events } from './helpers/events.js';\nimport { jsTransform } from './helpers/jsTransform.js';\n\nexport var tns = function(options) {\n options = extend({\n container: '.slider',\n mode: 'carousel',\n axis: 'horizontal',\n items: 1,\n gutter: 0,\n edgePadding: 0,\n fixedWidth: false,\n autoWidth: false,\n viewportMax: false,\n slideBy: 1,\n center: false,\n controls: true,\n controlsPosition: 'top',\n controlsText: ['prev', 'next'],\n controlsContainer: false,\n prevButton: false,\n nextButton: false,\n nav: true,\n navPosition: 'top',\n navContainer: false,\n navAsThumbnails: false,\n arrowKeys: false,\n speed: 300,\n autoplay: false,\n autoplayPosition: 'top',\n autoplayTimeout: 5000,\n autoplayDirection: 'forward',\n autoplayText: ['start', 'stop'],\n autoplayHoverPause: false,\n autoplayButton: false,\n autoplayButtonOutput: true,\n autoplayResetOnVisibility: true,\n animateIn: 'tns-fadeIn',\n animateOut: 'tns-fadeOut',\n animateNormal: 'tns-normal',\n animateDelay: false,\n loop: true,\n rewind: false,\n autoHeight: false,\n responsive: false,\n lazyload: false,\n lazyloadSelector: '.tns-lazy-img',\n touch: true,\n mouseDrag: false,\n swipeAngle: 15,\n nested: false,\n preventActionWhenRunning: false,\n preventScrollOnTouch: false,\n freezable: true,\n onInit: false,\n useLocalStorage: true\n }, options || {});\n \n var doc = document,\n win = window,\n KEYS = {\n ENTER: 13,\n SPACE: 32,\n LEFT: 37,\n RIGHT: 39\n },\n tnsStorage = {},\n localStorageAccess = options.useLocalStorage;\n\n if (localStorageAccess) {\n // check browser version and local storage access\n var browserInfo = navigator.userAgent;\n var uid = new Date;\n\n try {\n tnsStorage = win.localStorage;\n if (tnsStorage) {\n tnsStorage.setItem(uid, uid);\n localStorageAccess = tnsStorage.getItem(uid) == uid;\n tnsStorage.removeItem(uid);\n } else {\n localStorageAccess = false;\n }\n if (!localStorageAccess) { tnsStorage = {}; }\n } catch(e) {\n localStorageAccess = false;\n }\n\n if (localStorageAccess) {\n // remove storage when browser version changes\n if (tnsStorage['tnsApp'] && tnsStorage['tnsApp'] !== browserInfo) {\n ['tC', 'tPL', 'tMQ', 'tTf', 't3D', 'tTDu', 'tTDe', 'tADu', 'tADe', 'tTE', 'tAE'].forEach(function(item) { tnsStorage.removeItem(item); });\n }\n // update browserInfo\n localStorage['tnsApp'] = browserInfo;\n }\n }\n\n var CALC = tnsStorage['tC'] ? checkStorageValue(tnsStorage['tC']) : setLocalStorage(tnsStorage, 'tC', calc(), localStorageAccess),\n PERCENTAGELAYOUT = tnsStorage['tPL'] ? checkStorageValue(tnsStorage['tPL']) : setLocalStorage(tnsStorage, 'tPL', percentageLayout(), localStorageAccess),\n CSSMQ = tnsStorage['tMQ'] ? checkStorageValue(tnsStorage['tMQ']) : setLocalStorage(tnsStorage, 'tMQ', mediaquerySupport(), localStorageAccess),\n TRANSFORM = tnsStorage['tTf'] ? checkStorageValue(tnsStorage['tTf']) : setLocalStorage(tnsStorage, 'tTf', whichProperty('transform'), localStorageAccess),\n HAS3DTRANSFORMS = tnsStorage['t3D'] ? checkStorageValue(tnsStorage['t3D']) : setLocalStorage(tnsStorage, 't3D', has3DTransforms(TRANSFORM), localStorageAccess),\n TRANSITIONDURATION = tnsStorage['tTDu'] ? checkStorageValue(tnsStorage['tTDu']) : setLocalStorage(tnsStorage, 'tTDu', whichProperty('transitionDuration'), localStorageAccess),\n TRANSITIONDELAY = tnsStorage['tTDe'] ? checkStorageValue(tnsStorage['tTDe']) : setLocalStorage(tnsStorage, 'tTDe', whichProperty('transitionDelay'), localStorageAccess),\n ANIMATIONDURATION = tnsStorage['tADu'] ? checkStorageValue(tnsStorage['tADu']) : setLocalStorage(tnsStorage, 'tADu', whichProperty('animationDuration'), localStorageAccess),\n ANIMATIONDELAY = tnsStorage['tADe'] ? checkStorageValue(tnsStorage['tADe']) : setLocalStorage(tnsStorage, 'tADe', whichProperty('animationDelay'), localStorageAccess),\n TRANSITIONEND = tnsStorage['tTE'] ? checkStorageValue(tnsStorage['tTE']) : setLocalStorage(tnsStorage, 'tTE', getEndProperty(TRANSITIONDURATION, 'Transition'), localStorageAccess),\n ANIMATIONEND = tnsStorage['tAE'] ? checkStorageValue(tnsStorage['tAE']) : setLocalStorage(tnsStorage, 'tAE', getEndProperty(ANIMATIONDURATION, 'Animation'), localStorageAccess);\n\n // get element nodes from selectors\n var supportConsoleWarn = win.console && typeof win.console.warn === \"function\",\n tnsList = ['container', 'controlsContainer', 'prevButton', 'nextButton', 'navContainer', 'autoplayButton'], \n optionsElements = {};\n \n tnsList.forEach(function(item) {\n if (typeof options[item] === 'string') {\n var str = options[item],\n el = doc.querySelector(str);\n optionsElements[item] = str;\n\n if (el && el.nodeName) {\n options[item] = el;\n } else {\n if (supportConsoleWarn) { console.warn('Can\\'t find', options[item]); }\n return;\n }\n }\n });\n\n // make sure at least 1 slide\n if (options.container.children.length < 1) {\n if (supportConsoleWarn) { console.warn('No slides found in', options.container); }\n return;\n }\n\n // update options\n var responsive = options.responsive,\n nested = options.nested,\n carousel = options.mode === 'carousel' ? true : false;\n\n if (responsive) {\n // apply responsive[0] to options and remove it\n if (0 in responsive) {\n options = extend(options, responsive[0]);\n delete responsive[0];\n }\n\n var responsiveTem = {};\n for (var key in responsive) {\n var val = responsive[key];\n // update responsive\n // from: 300: 2\n // to: \n // 300: { \n // items: 2 \n // } \n val = typeof val === 'number' ? {items: val} : val;\n responsiveTem[key] = val;\n }\n responsive = responsiveTem;\n responsiveTem = null;\n }\n\n // update options\n function updateOptions (obj) {\n for (var key in obj) {\n if (!carousel) {\n if (key === 'slideBy') { obj[key] = 'page'; }\n if (key === 'edgePadding') { obj[key] = false; }\n if (key === 'autoHeight') { obj[key] = false; }\n }\n\n // update responsive options\n if (key === 'responsive') { updateOptions(obj[key]); }\n }\n }\n if (!carousel) { updateOptions(options); }\n\n\n // === define and set variables ===\n if (!carousel) {\n options.axis = 'horizontal';\n options.slideBy = 'page';\n options.edgePadding = false;\n\n var animateIn = options.animateIn,\n animateOut = options.animateOut,\n animateDelay = options.animateDelay,\n animateNormal = options.animateNormal;\n }\n\n var horizontal = options.axis === 'horizontal' ? true : false,\n outerWrapper = doc.createElement('div'),\n innerWrapper = doc.createElement('div'),\n middleWrapper,\n container = options.container,\n containerParent = container.parentNode,\n containerHTML = container.outerHTML,\n slideItems = container.children,\n slideCount = slideItems.length,\n breakpointZone,\n windowWidth = getWindowWidth(),\n isOn = false;\n if (responsive) { setBreakpointZone(); }\n if (carousel) { container.className += ' tns-vpfix'; }\n\n // fixedWidth: viewport > rightBoundary > indexMax\n var autoWidth = options.autoWidth,\n fixedWidth = getOption('fixedWidth'),\n edgePadding = getOption('edgePadding'),\n gutter = getOption('gutter'),\n viewport = getViewportWidth(),\n center = getOption('center'),\n items = !autoWidth ? Math.floor(getOption('items')) : 1,\n slideBy = getOption('slideBy'),\n viewportMax = options.viewportMax || options.fixedWidthViewportWidth,\n arrowKeys = getOption('arrowKeys'),\n speed = getOption('speed'),\n rewind = options.rewind,\n loop = rewind ? false : options.loop,\n autoHeight = getOption('autoHeight'),\n controls = getOption('controls'),\n controlsText = getOption('controlsText'),\n nav = getOption('nav'),\n touch = getOption('touch'),\n mouseDrag = getOption('mouseDrag'),\n autoplay = getOption('autoplay'),\n autoplayTimeout = getOption('autoplayTimeout'),\n autoplayText = getOption('autoplayText'),\n autoplayHoverPause = getOption('autoplayHoverPause'),\n autoplayResetOnVisibility = getOption('autoplayResetOnVisibility'),\n sheet = createStyleSheet(),\n lazyload = options.lazyload,\n lazyloadSelector = options.lazyloadSelector,\n slidePositions, // collection of slide positions\n slideItemsOut = [],\n cloneCount = loop ? getCloneCountForLoop() : 0,\n slideCountNew = !carousel ? slideCount + cloneCount : slideCount + cloneCount * 2,\n hasRightDeadZone = (fixedWidth || autoWidth) && !loop ? true : false,\n rightBoundary = fixedWidth ? getRightBoundary() : null,\n updateIndexBeforeTransform = (!carousel || !loop) ? true : false,\n // transform\n transformAttr = horizontal ? 'left' : 'top',\n transformPrefix = '',\n transformPostfix = '',\n // index\n getIndexMax = (function () {\n if (fixedWidth) {\n return function() { return center && !loop ? slideCount - 1 : Math.ceil(- rightBoundary / (fixedWidth + gutter)); };\n } else if (autoWidth) {\n return function() {\n for (var i = slideCountNew; i--;) {\n if (slidePositions[i] >= - rightBoundary) { return i; }\n }\n };\n } else {\n return function() {\n if (center && carousel && !loop) {\n return slideCount - 1;\n } else {\n return loop || carousel ? Math.max(0, slideCountNew - Math.ceil(items)) : slideCountNew - 1;\n }\n };\n }\n })(),\n index = getStartIndex(getOption('startIndex')),\n indexCached = index,\n displayIndex = getCurrentSlide(),\n indexMin = 0,\n indexMax = !autoWidth ? getIndexMax() : null,\n // resize\n resizeTimer,\n preventActionWhenRunning = options.preventActionWhenRunning,\n swipeAngle = options.swipeAngle,\n moveDirectionExpected = swipeAngle ? '?' : true,\n running = false,\n onInit = options.onInit,\n events = new Events(),\n // id, class\n newContainerClasses = ' tns-slider tns-' + options.mode,\n slideId = container.id || getSlideId(),\n disable = getOption('disable'),\n disabled = false,\n freezable = options.freezable,\n freeze = freezable && !autoWidth ? getFreeze() : false,\n frozen = false,\n controlsEvents = {\n 'click': onControlsClick,\n 'keydown': onControlsKeydown\n },\n navEvents = {\n 'click': onNavClick,\n 'keydown': onNavKeydown\n },\n hoverEvents = {\n 'mouseover': mouseoverPause,\n 'mouseout': mouseoutRestart\n },\n visibilityEvent = {'visibilitychange': onVisibilityChange},\n docmentKeydownEvent = {'keydown': onDocumentKeydown},\n touchEvents = {\n 'touchstart': onPanStart,\n 'touchmove': onPanMove,\n 'touchend': onPanEnd,\n 'touchcancel': onPanEnd\n }, dragEvents = {\n 'mousedown': onPanStart,\n 'mousemove': onPanMove,\n 'mouseup': onPanEnd,\n 'mouseleave': onPanEnd\n },\n hasControls = hasOption('controls'),\n hasNav = hasOption('nav'),\n navAsThumbnails = autoWidth ? true : options.navAsThumbnails,\n hasAutoplay = hasOption('autoplay'),\n hasTouch = hasOption('touch'),\n hasMouseDrag = hasOption('mouseDrag'),\n slideActiveClass = 'tns-slide-active',\n imgCompleteClass = 'tns-complete',\n imgEvents = {\n 'load': onImgLoaded,\n 'error': onImgFailed\n },\n imgsComplete,\n liveregionCurrent,\n preventScroll = options.preventScrollOnTouch === 'force' ? true : false;\n\n // controls\n if (hasControls) {\n var controlsContainer = options.controlsContainer,\n controlsContainerHTML = options.controlsContainer ? options.controlsContainer.outerHTML : '',\n prevButton = options.prevButton,\n nextButton = options.nextButton,\n prevButtonHTML = options.prevButton ? options.prevButton.outerHTML : '',\n nextButtonHTML = options.nextButton ? options.nextButton.outerHTML : '',\n prevIsButton,\n nextIsButton;\n }\n\n // nav\n if (hasNav) {\n var navContainer = options.navContainer,\n navContainerHTML = options.navContainer ? options.navContainer.outerHTML : '',\n navItems,\n pages = autoWidth ? slideCount : getPages(),\n pagesCached = 0,\n navClicked = -1,\n navCurrentIndex = getCurrentNavIndex(),\n navCurrentIndexCached = navCurrentIndex,\n navActiveClass = 'tns-nav-active',\n navStr = 'Carousel Page ',\n navStrCurrent = ' (Current Slide)';\n }\n\n // autoplay\n if (hasAutoplay) {\n var autoplayDirection = options.autoplayDirection === 'forward' ? 1 : -1,\n autoplayButton = options.autoplayButton,\n autoplayButtonHTML = options.autoplayButton ? options.autoplayButton.outerHTML : '',\n autoplayHtmlStrings = ['<span class=\\'tns-visually-hidden\\'>', ' animation</span>'],\n autoplayTimer,\n animating,\n autoplayHoverPaused,\n autoplayUserPaused,\n autoplayVisibilityPaused;\n }\n\n if (hasTouch || hasMouseDrag) {\n var initPosition = {},\n lastPosition = {},\n translateInit,\n disX,\n disY,\n panStart = false,\n rafIndex,\n getDist = horizontal ? \n function(a, b) { return a.x - b.x; } :\n function(a, b) { return a.y - b.y; };\n }\n \n // disable slider when slidecount <= items\n if (!autoWidth) { resetVariblesWhenDisable(disable || freeze); }\n\n if (TRANSFORM) {\n transformAttr = TRANSFORM;\n transformPrefix = 'translate';\n\n if (HAS3DTRANSFORMS) {\n transformPrefix += horizontal ? '3d(' : '3d(0px, ';\n transformPostfix = horizontal ? ', 0px, 0px)' : ', 0px)';\n } else {\n transformPrefix += horizontal ? 'X(' : 'Y(';\n transformPostfix = ')';\n }\n\n }\n\n if (carousel) { container.className = container.className.replace('tns-vpfix', ''); }\n initStructure();\n initSheet();\n initSliderTransform();\n\n // === COMMON FUNCTIONS === //\n function resetVariblesWhenDisable (condition) {\n if (condition) {\n controls = nav = touch = mouseDrag = arrowKeys = autoplay = autoplayHoverPause = autoplayResetOnVisibility = false;\n }\n }\n\n function getCurrentSlide () {\n var tem = carousel ? index - cloneCount : index;\n while (tem < 0) { tem += slideCount; }\n return tem%slideCount + 1;\n }\n\n function getStartIndex (ind) {\n ind = ind ? Math.max(0, Math.min(loop ? slideCount - 1 : slideCount - items, ind)) : 0;\n return carousel ? ind + cloneCount : ind;\n }\n\n function getAbsIndex (i) {\n if (i == null) { i = index; }\n\n if (carousel) { i -= cloneCount; }\n while (i < 0) { i += slideCount; }\n\n return Math.floor(i%slideCount);\n }\n\n function getCurrentNavIndex () {\n var absIndex = getAbsIndex(),\n result;\n\n result = navAsThumbnails ? absIndex : \n fixedWidth || autoWidth ? Math.ceil((absIndex + 1) * pages / slideCount - 1) : \n Math.floor(absIndex / items);\n\n // set active nav to the last one when reaches the right edge\n if (!loop && carousel && index === indexMax) { result = pages - 1; }\n\n return result;\n }\n\n function getItemsMax () {\n // fixedWidth or autoWidth while viewportMax is not available\n if (autoWidth || (fixedWidth && !viewportMax)) {\n return slideCount - 1;\n // most cases\n } else {\n var str = fixedWidth ? 'fixedWidth' : 'items',\n arr = [];\n\n if (fixedWidth || options[str] < slideCount) { arr.push(options[str]); }\n\n if (responsive) {\n for (var bp in responsive) {\n var tem = responsive[bp][str];\n if (tem && (fixedWidth || tem < slideCount)) { arr.push(tem); }\n }\n }\n\n if (!arr.length) { arr.push(0); }\n\n return Math.ceil(fixedWidth ? viewportMax / Math.min.apply(null, arr) : Math.max.apply(null, arr));\n }\n }\n\n function getCloneCountForLoop () {\n var itemsMax = getItemsMax(),\n result = carousel ? Math.ceil((itemsMax * 5 - slideCount)/2) : (itemsMax * 4 - slideCount);\n result = Math.max(itemsMax, result);\n\n return hasOption('edgePadding') ? result + 1 : result;\n }\n\n function getWindowWidth () {\n return win.innerWidth || doc.documentElement.clientWidth || doc.body.clientWidth;\n }\n\n function getInsertPosition (pos) {\n return pos === 'top' ? 'afterbegin' : 'beforeend';\n }\n\n function getClientWidth (el) {\n var div = doc.createElement('div'), rect, width;\n el.appendChild(div);\n rect = div.getBoundingClientRect();\n width = rect.right - rect.left;\n div.remove();\n return width || getClientWidth(el.parentNode);\n }\n\n function getViewportWidth () {\n var gap = edgePadding ? edgePadding * 2 - gutter : 0;\n return getClientWidth(containerParent) - gap;\n }\n\n function hasOption (item) {\n if (options[item]) {\n return true;\n } else {\n if (responsive) {\n for (var bp in responsive) {\n if (responsive[bp][item]) { return true; }\n }\n }\n return false;\n }\n }\n\n // get option:\n // fixed width: viewport, fixedWidth, gutter => items\n // others: window width => all variables\n // all: items => slideBy\n function getOption (item, ww) {\n if (ww == null) { ww = windowWidth; }\n\n if (item === 'items' && fixedWidth) {\n return Math.floor((viewport + gutter) / (fixedWidth + gutter)) || 1;\n\n } else {\n var result = options[item];\n\n if (responsive) {\n for (var bp in responsive) {\n // bp: convert string to number\n if (ww >= parseInt(bp)) {\n if (item in responsive[bp]) { result = responsive[bp][item]; }\n }\n }\n }\n\n if (item === 'slideBy' && result === 'page') { result = getOption('items'); }\n if (!carousel && (item === 'slideBy' || item === 'items')) { result = Math.floor(result); }\n\n return result;\n }\n }\n\n function getSlideMarginLeft (i) {\n return CALC ? \n CALC + '(' + i * 100 + '% / ' + slideCountNew + ')' : \n i * 100 / slideCountNew + '%';\n }\n\n function getInnerWrapperStyles (edgePaddingTem, gutterTem, fixedWidthTem, speedTem, autoHeightBP) {\n var str = '';\n\n if (edgePaddingTem !== undefined) {\n var gap = edgePaddingTem;\n if (gutterTem) { gap -= gutterTem; }\n str = horizontal ?\n 'margin: 0 ' + gap + 'px 0 ' + edgePaddingTem + 'px;' :\n 'margin: ' + edgePaddingTem + 'px 0 ' + gap + 'px 0;';\n } else if (gutterTem && !fixedWidthTem) {\n var gutterTemUnit = '-' + gutterTem + 'px',\n dir = horizontal ? gutterTemUnit + ' 0 0' : '0 ' + gutterTemUnit + ' 0';\n str = 'margin: 0 ' + dir + ';'\n }\n\n if (!carousel && autoHeightBP && TRANSITIONDURATION && speedTem) { str += getTransitionDurationStyle(speedTem); }\n return str;\n }\n\n function getContainerWidth (fixedWidthTem, gutterTem, itemsTem) {\n if (fixedWidthTem) {\n return (fixedWidthTem + gutterTem) * slideCountNew + 'px';\n } else {\n return CALC ?\n CALC + '(' + slideCountNew * 100 + '% / ' + itemsTem + ')' :\n slideCountNew * 100 / itemsTem + '%';\n }\n }\n\n function getSlideWidthStyle (fixedWidthTem, gutterTem, itemsTem) {\n var width;\n\n if (fixedWidthTem) {\n width = (fixedWidthTem + gutterTem) + 'px';\n } else {\n if (!carousel) { itemsTem = Math.floor(itemsTem); }\n var dividend = carousel ? slideCountNew : itemsTem;\n width = CALC ? \n CALC + '(100% / ' + dividend + ')' : \n 100 / dividend + '%';\n }\n\n width = 'width:' + width;\n\n // inner slider: overwrite outer slider styles\n return nested !== 'inner' ? width + ';' : width + ' !important;';\n }\n\n function getSlideGutterStyle (gutterTem) {\n var str = '';\n\n // gutter maybe interger || 0\n // so can't use 'if (gutter)'\n if (gutterTem !== false) {\n var prop = horizontal ? 'padding-' : 'margin-',\n dir = horizontal ? 'right' : 'bottom';\n str = prop + dir + ': ' + gutterTem + 'px;';\n }\n\n return str;\n }\n\n function getCSSPrefix (name, num) {\n var prefix = name.substring(0, name.length - num).toLowerCase();\n if (prefix) { prefix = '-' + prefix + '-'; }\n\n return prefix;\n }\n\n function getTransitionDurationStyle (speed) {\n return getCSSPrefix(TRANSITIONDURATION, 18) + 'transition-duration:' + speed / 1000 + 's;';\n }\n\n function getAnimationDurationStyle (speed) {\n return getCSSPrefix(ANIMATIONDURATION, 17) + 'animation-duration:' + speed / 1000 + 's;';\n }\n\n function initStructure () {\n var classOuter = 'tns-outer',\n classInner = 'tns-inner',\n hasGutter = hasOption('gutter');\n\n outerWrapper.className = classOuter;\n innerWrapper.className = classInner;\n outerWrapper.id = slideId + '-ow';\n innerWrapper.id = slideId + '-iw';\n\n // set container properties\n if (container.id === '') { container.id = slideId; }\n newContainerClasses += PERCENTAGELAYOUT || autoWidth ? ' tns-subpixel' : ' tns-no-subpixel';\n newContainerClasses += CALC ? ' tns-calc' : ' tns-no-calc';\n if (autoWidth) { newContainerClasses += ' tns-autowidth'; }\n newContainerClasses += ' tns-' + options.axis;\n container.className += newContainerClasses;\n\n // add constrain layer for carousel\n if (carousel) {\n middleWrapper = doc.createElement('div');\n middleWrapper.id = slideId + '-mw';\n middleWrapper.className = 'tns-ovh';\n\n outerWrapper.appendChild(middleWrapper);\n middleWrapper.appendChild(innerWrapper);\n } else {\n outerWrapper.appendChild(innerWrapper);\n }\n\n if (autoHeight) {\n var wp = middleWrapper ? middleWrapper : innerWrapper;\n wp.className += ' tns-ah';\n }\n\n containerParent.insertBefore(outerWrapper, container);\n innerWrapper.appendChild(container);\n\n // add id, class, aria attributes \n // before clone slides\n forEach(slideItems, function(item, i) {\n addClass(item, 'tns-item');\n if (!item.id) { item.id = slideId + '-item' + i; }\n if (!carousel && animateNormal) { addClass(item, animateNormal); }\n setAttrs(item, {\n 'aria-hidden': 'true',\n 'tabindex': '-1'\n });\n });\n\n // ## clone slides\n // carousel: n + slides + n\n // gallery: slides + n\n if (cloneCount) {\n var fragmentBefore = doc.createDocumentFragment(), \n fragmentAfter = doc.createDocumentFragment();\n\n for (var j = cloneCount; j--;) {\n var num = j%slideCount,\n cloneFirst = slideItems[num].cloneNode(true);\n removeAttrs(cloneFirst, 'id');\n fragmentAfter.insertBefore(cloneFirst, fragmentAfter.firstChild);\n\n if (carousel) {\n var cloneLast = slideItems[slideCount - 1 - num].cloneNode(true);\n removeAttrs(cloneLast, 'id');\n fragmentBefore.appendChild(cloneLast);\n }\n }\n\n container.insertBefore(fragmentBefore, container.firstChild);\n container.appendChild(fragmentAfter);\n slideItems = container.children;\n }\n\n }\n\n function initSliderTransform () {\n // ## images loaded/failed\n if (hasOption('autoHeight') || autoWidth || !horizontal) {\n var imgs = container.querySelectorAll('img');\n\n // add complete class if all images are loaded/failed\n forEach(imgs, function(img) {\n var src = img.src;\n \n if (src && src.indexOf('data:image') < 0) {\n addEvents(img, imgEvents);\n img.src = '';\n img.src = src;\n addClass(img, 'loading');\n } else if (!lazyload) {\n imgLoaded(img);\n }\n });\n\n // All imgs are completed\n raf(function(){ imgsLoadedCheck(arrayFromNodeList(imgs), function() { imgsComplete = true; }); });\n\n // Check imgs in window only for auto height\n if (!autoWidth && horizontal) { imgs = getImageArray(index, Math.min(index + items - 1, slideCountNew - 1)); }\n\n lazyload ? initSliderTransformStyleCheck() : raf(function(){ imgsLoadedCheck(arrayFromNodeList(imgs), initSliderTransformStyleCheck); });\n\n } else {\n // set container transform property\n if (carousel) { doContainerTransformSilent(); }\n\n // update slider tools and events\n initTools();\n initEvents();\n }\n }\n\n function initSliderTransformStyleCheck () {\n if (autoWidth) {\n // check styles application\n var num = loop ? index : slideCount - 1;\n (function stylesApplicationCheck() {\n slideItems[num - 1].getBoundingClientRect().right.toFixed(2) === slideItems[num].getBoundingClientRect().left.toFixed(2) ?\n initSliderTransformCore() :\n setTimeout(function(){ stylesApplicationCheck() }, 16);\n })();\n } else {\n initSliderTransformCore();\n }\n }\n\n\n function initSliderTransformCore () {\n // run Fn()s which are rely on image loading\n if (!horizontal || autoWidth) {\n setSlidePositions();\n\n if (autoWidth) {\n rightBoundary = getRightBoundary();\n if (freezable) { freeze = getFreeze(); }\n indexMax = getIndexMax(); // <= slidePositions, rightBoundary <=\n resetVariblesWhenDisable(disable || freeze);\n } else {\n updateContentWrapperHeight();\n }\n }\n\n // set container transform property\n if (carousel) { doContainerTransformSilent(); }\n\n // update slider tools and events\n initTools();\n initEvents();\n }\n\n function initSheet () {\n // gallery:\n // set animation classes and left value for gallery slider\n if (!carousel) { \n for (var i = index, l = index + Math.min(slideCount, items); i < l; i++) {\n var item = slideItems[i];\n item.style.left = (i - index) * 100 / items + '%';\n addClass(item, animateIn);\n removeClass(item, animateNormal);\n }\n }\n\n // #### LAYOUT\n\n // ## INLINE-BLOCK VS FLOAT\n\n // ## PercentageLayout:\n // slides: inline-block\n // remove blank space between slides by set font-size: 0\n\n // ## Non PercentageLayout:\n // slides: float\n // margin-right: -100%\n // margin-left: ~\n\n // Resource: https://docs.google.com/spreadsheets/d/147up245wwTXeQYve3BRSAD4oVcvQmuGsFteJOeA5xNQ/edit?usp=sharing\n if (horizontal) {\n if (PERCENTAGELAYOUT || autoWidth) {\n addCSSRule(sheet, '#' + slideId + ' > .tns-item', 'font-size:' + win.getComputedStyle(slideItems[0]).fontSize + ';', getCssRulesLength(sheet));\n addCSSRule(sheet, '#' + slideId, 'font-size:0;', getCssRulesLength(sheet));\n } else if (carousel) {\n forEach(slideItems, function (slide, i) {\n slide.style.marginLeft = getSlideMarginLeft(i);\n });\n }\n }\n\n\n // ## BASIC STYLES\n if (CSSMQ) {\n // middle wrapper style\n if (TRANSITIONDURATION) {\n var str = middleWrapper && options.autoHeight ? getTransitionDurationStyle(options.speed) : '';\n addCSSRule(sheet, '#' + slideId + '-mw', str, getCssRulesLength(sheet));\n }\n\n // inner wrapper styles\n str = getInnerWrapperStyles(options.edgePadding, options.gutter, options.fixedWidth, options.speed, options.autoHeight);\n addCSSRule(sheet, '#' + slideId + '-iw', str, getCssRulesLength(sheet));\n\n // container styles\n if (carousel) {\n str = horizontal && !autoWidth ? 'width:' + getContainerWidth(options.fixedWidth, options.gutter, options.items) + ';' : '';\n if (TRANSITIONDURATION) { str += getTransitionDurationStyle(speed); }\n addCSSRule(sheet, '#' + slideId, str, getCssRulesLength(sheet));\n }\n\n // slide styles\n str = horizontal && !autoWidth ? getSlideWidthStyle(options.fixedWidth, options.gutter, options.items) : '';\n if (options.gutter) { str += getSlideGutterStyle(options.gutter); }\n // set gallery items transition-duration\n if (!carousel) {\n if (TRANSITIONDURATION) { str += getTransitionDurationStyle(speed); }\n if (ANIMATIONDURATION) { str += getAnimationDurationStyle(speed); }\n }\n if (str) { addCSSRule(sheet, '#' + slideId + ' > .tns-item', str, getCssRulesLength(sheet)); }\n\n // non CSS mediaqueries: IE8\n // ## update inner wrapper, container, slides if needed\n // set inline styles for inner wrapper & container\n // insert stylesheet (one line) for slides only (since slides are many)\n } else {\n // middle wrapper styles\n update_carousel_transition_duration();\n\n // inner wrapper styles\n innerWrapper.style.cssText = getInnerWrapperStyles(edgePadding, gutter, fixedWidth, autoHeight);\n\n // container styles\n if (carousel && horizontal && !autoWidth) {\n container.style.width = getContainerWidth(fixedWidth, gutter, items);\n }\n\n // slide styles\n var str = horizontal && !autoWidth ? getSlideWidthStyle(fixedWidth, gutter, items) : '';\n if (gutter) { str += getSlideGutterStyle(gutter); }\n\n // append to the last line\n if (str) { addCSSRule(sheet, '#' + slideId + ' > .tns-item', str, getCssRulesLength(sheet)); }\n }\n\n // ## MEDIAQUERIES\n if (responsive && CSSMQ) {\n for (var bp in responsive) {\n // bp: convert string to number\n bp = parseInt(bp);\n\n var opts = responsive[bp],\n str = '',\n middleWrapperStr = '',\n innerWrapperStr = '',\n containerStr = '',\n slideStr = '',\n itemsBP = !autoWidth ? getOption('items', bp) : null,\n fixedWidthBP = getOption('fixedWidth', bp),\n speedBP = getOption('speed', bp),\n edgePaddingBP = getOption('edgePadding', bp),\n autoHeightBP = getOption('autoHeight', bp),\n gutterBP = getOption('gutter', bp);\n\n // middle wrapper string\n if (TRANSITIONDURATION && middleWrapper && getOption('autoHeight', bp) && 'speed' in opts) {\n middleWrapperStr = '#' + slideId + '-mw{' + getTransitionDurationStyle(speedBP) + '}';\n }\n\n // inner wrapper string\n if ('edgePadding' in opts || 'gutter' in opts) {\n innerWrapperStr = '#' + slideId + '-iw{' + getInnerWrapperStyles(edgePaddingBP, gutterBP, fixedWidthBP, speedBP, autoHeightBP) + '}';\n }\n\n // container string\n if (carousel && horizontal && !autoWidth && ('fixedWidth' in opts || 'items' in opts || (fixedWidth && 'gutter' in opts))) {\n containerStr = 'width:' + getContainerWidth(fixedWidthBP, gutterBP, itemsBP) + ';';\n }\n if (TRANSITIONDURATION && 'speed' in opts) {\n containerStr += getTransitionDurationStyle(speedBP);\n }\n if (containerStr) {\n containerStr = '#' + slideId + '{' + containerStr + '}';\n }\n\n // slide string\n if ('fixedWidth' in opts || (fixedWidth && 'gutter' in opts) || !carousel && 'items' in opts) {\n slideStr += getSlideWidthStyle(fixedWidthBP, gutterBP, itemsBP);\n }\n if ('gutter' in opts) {\n slideStr += getSlideGutterStyle(gutterBP);\n }\n // set gallery items transition-duration\n if (!carousel && 'speed' in opts) {\n if (TRANSITIONDURATION) { slideStr += getTransitionDurationStyle(speedBP); }\n if (ANIMATIONDURATION) { slideStr += getAnimationDurationStyle(speedBP); }\n }\n if (slideStr) { slideStr = '#' + slideId + ' > .tns-item{' + slideStr + '}'; }\n\n // add up\n str = middleWrapperStr + innerWrapperStr + containerStr + slideStr;\n\n if (str) {\n sheet.insertRule('@media (min-width: ' + bp / 16 + 'em) {' + str + '}', sheet.cssRules.length);\n }\n }\n }\n }\n\n function initTools () {\n // == slides ==\n updateSlideStatus();\n\n // == live region ==\n outerWrapper.insertAdjacentHTML('afterbegin', '<div class=\"tns-liveregion tns-visually-hidden\" aria-live=\"polite\" aria-atomic=\"true\">slide <span class=\"current\">' + getLiveRegionStr() + '</span> of ' + slideCount + '</div>');\n liveregionCurrent = outerWrapper.querySelector('.tns-liveregion .current');\n\n // == autoplayInit ==\n if (hasAutoplay) {\n var txt = autoplay ? 'stop' : 'start';\n if (autoplayButton) {\n setAttrs(autoplayButton, {'data-action': txt});\n } else if (options.autoplayButtonOutput) {\n outerWrapper.insertAdjacentHTML(getInsertPosition(options.autoplayPosition), '<button data-action=\"' + txt + '\">' + autoplayHtmlStrings[0] + txt + autoplayHtmlStrings[1] + autoplayText[0] + '</button>');\n autoplayButton = outerWrapper.querySelector('[data-action]');\n }\n\n // add event\n if (autoplayButton) {\n addEvents(autoplayButton, {'click': toggleAutoplay});\n }\n\n if (autoplay) {\n startAutoplay();\n if (autoplayHoverPause) { addEvents(container, hoverEvents); }\n if (autoplayResetOnVisibility) { addEvents(container, visibilityEvent); }\n }\n }\n \n // == navInit ==\n if (hasNav) {\n var initIndex = !carousel ? 0 : cloneCount;\n // customized nav\n // will not hide the navs in case they're thumbnails\n if (navContainer) {\n setAttrs(navContainer, {'aria-label': 'Carousel Pagination'});\n navItems = navContainer.children;\n forEach(navItems, function(item, i) {\n setAttrs(item, {\n 'data-nav': i,\n 'tabindex': '-1',\n 'aria-label': navStr + (i + 1),\n 'aria-controls': slideId,\n });\n });\n\n // generated nav \n } else {\n var navHtml = '',\n hiddenStr = navAsThumbnails ? '' : 'style=\"display:none\"';\n for (var i = 0; i < slideCount; i++) {\n // hide nav items by default\n navHtml += '<button data-nav=\"' + i +'\" tabindex=\"-1\" aria-controls=\"' + slideId + '\" ' + hiddenStr + ' aria-label=\"' + navStr + (i + 1) +'\"></button>';\n }\n navHtml = '<div class=\"tns-nav\" aria-label=\"Carousel Pagination\">' + navHtml + '</div>';\n outerWrapper.insertAdjacentHTML(getInsertPosition(options.navPosition), navHtml);\n\n navContainer = outerWrapper.querySelector('.tns-nav');\n navItems = navContainer.children;\n }\n\n updateNavVisibility();\n\n // add transition\n if (TRANSITIONDURATION) {\n var prefix = TRANSITIONDURATION.substring(0, TRANSITIONDURATION.length - 18).toLowerCase(),\n str = 'transition: all ' + speed / 1000 + 's';\n\n if (prefix) {\n str = '-' + prefix + '-' + str;\n }\n\n addCSSRule(sheet, '[aria-controls^=' + slideId + '-item]', str, getCssRulesLength(sheet));\n }\n\n setAttrs(navItems[navCurrentIndex], {'aria-label': navStr + (navCurrentIndex + 1) + navStrCurrent});\n removeAttrs(navItems[navCurrentIndex], 'tabindex');\n addClass(navItems[navCurrentIndex], navActiveClass);\n\n // add events\n addEvents(navContainer, navEvents);\n }\n\n\n\n // == controlsInit ==\n if (hasControls) {\n if (!controlsContainer && (!prevButton || !nextButton)) {\n outerWrapper.insertAdjacentHTML(getInsertPosition(options.controlsPosition), '<div class=\"tns-controls\" aria-label=\"Carousel Navigation\" tabindex=\"0\"><button data-controls=\"prev\" tabindex=\"-1\" aria-controls=\"' + slideId +'\">' + controlsText[0] + '</button><button data-controls=\"next\" tabindex=\"-1\" aria-controls=\"' + slideId +'\">' + controlsText[1] + '</button></div>');\n\n controlsContainer = outerWrapper.querySelector('.tns-controls');\n }\n\n if (!prevButton || !nextButton) {\n prevButton = controlsContainer.children[0];\n nextButton = controlsContainer.children[1];\n }\n\n if (options.controlsContainer) {\n setAttrs(controlsContainer, {\n 'aria-label': 'Carousel Navigation',\n 'tabindex': '0'\n });\n }\n\n if (options.controlsContainer || (options.prevButton && options.nextButton)) {\n setAttrs([prevButton, nextButton], {\n 'aria-controls': slideId,\n 'tabindex': '-1',\n });\n }\n \n if (options.controlsContainer || (options.prevButton && options.nextButton)) {\n setAttrs(prevButton, {'data-controls' : 'prev'});\n setAttrs(nextButton, {'data-controls' : 'next'});\n }\n\n prevIsButton = isButton(prevButton);\n nextIsButton = isButton(nextButton);\n\n updateControlsStatus();\n\n // add events\n if (controlsContainer) {\n addEvents(controlsContainer, controlsEvents);\n } else {\n addEvents(prevButton, controlsEvents);\n addEvents(nextButton, controlsEvents);\n }\n }\n\n // hide tools if needed\n disableUI();\n }\n\n function initEvents () {\n // add events\n if (carousel && TRANSITIONEND) {\n var eve = {};\n eve[TRANSITIONEND] = onTransitionEnd;\n addEvents(container, eve);\n }\n\n if (touch) { addEvents(container, touchEvents, options.preventScrollOnTouch); }\n if (mouseDrag) { addEvents(container, dragEvents); }\n if (arrowKeys) { addEvents(doc, docmentKeydownEvent); }\n\n if (nested === 'inner') {\n events.on('outerResized', function () {\n resizeTasks();\n events.emit('innerLoaded', info());\n });\n } else if (responsive || fixedWidth || autoWidth || autoHeight || !horizontal) {\n addEvents(win, {'resize': onResize});\n }\n\n if (autoHeight) {\n if (nested === 'outer') {\n events.on('innerLoaded', doAutoHeight);\n } else if (!disable) { doAutoHeight(); }\n }\n\n doLazyLoad();\n if (disable) { disableSlider(); } else if (freeze) { freezeSlider(); }\n\n events.on('indexChanged', additionalUpdates);\n if (nested === 'inner') { events.emit('innerLoaded', info()); }\n if (typeof onInit === 'function') { onInit(info()); }\n isOn = true;\n }\n\n function destroy () {\n // sheet\n sheet.disabled = true;\n if (sheet.ownerNode) { sheet.ownerNode.remove(); }\n\n // remove win event listeners\n removeEvents(win, {'resize': onResize});\n\n // arrowKeys, controls, nav\n if (arrowKeys) { removeEvents(doc, docmentKeydownEvent); }\n if (controlsContainer) { removeEvents(controlsContainer, controlsEvents); }\n if (navContainer) { removeEvents(navContainer, navEvents); }\n\n // autoplay\n removeEvents(container, hoverEvents);\n removeEvents(container, visibilityEvent);\n if (autoplayButton) { removeEvents(autoplayButton, {'click': toggleAutoplay}); }\n if (autoplay) { clearInterval(autoplayTimer); }\n\n // container\n if (carousel && TRANSITIONEND) {\n var eve = {};\n eve[TRANSITIONEND] = onTransitionEnd;\n removeEvents(container, eve);\n }\n if (touch) { removeEvents(container, touchEvents); }\n if (mouseDrag) { removeEvents(container, dragEvents); }\n\n // cache Object values in options && reset HTML\n var htmlList = [containerHTML, controlsContainerHTML, prevButtonHTML, nextButtonHTML, navContainerHTML, autoplayButtonHTML];\n\n tnsList.forEach(function(item, i) {\n var el = item === 'container' ? outerWrapper : options[item];\n\n if (typeof el === 'object') {\n var prevEl = el.previousElementSibling ? el.previousElementSibling : false,\n parentEl = el.parentNode;\n el.outerHTML = htmlList[i];\n options[item] = prevEl ? prevEl.nextElementSibling : parentEl.firstElementChild;\n }\n });\n\n\n // reset variables\n tnsList = animateIn = animateOut = animateDelay = animateNormal = horizontal = outerWrapper = innerWrapper = container = containerParent = containerHTML = slideItems = slideCount = breakpointZone = windowWidth = autoWidth = fixedWidth = edgePadding = gutter = viewport = items = slideBy = viewportMax = arrowKeys = speed = rewind = loop = autoHeight = sheet = lazyload = slidePositions = slideItemsOut = cloneCount = slideCountNew = hasRightDeadZone = rightBoundary = updateIndexBeforeTransform = transformAttr = transformPrefix = transformPostfix = getIndexMax = index = indexCached = indexMin = indexMax = resizeTimer = swipeAngle = moveDirectionExpected = running = onInit = events = newContainerClasses = slideId = disable = disabled = freezable = freeze = frozen = controlsEvents = navEvents = hoverEvents = visibilityEvent = docmentKeydownEvent = touchEvents = dragEvents = hasControls = hasNav = navAsThumbnails = hasAutoplay = hasTouch = hasMouseDrag = slideActiveClass = imgCompleteClass = imgEvents = imgsComplete = controls = controlsText = controlsContainer = controlsContainerHTML = prevButton = nextButton = prevIsButton = nextIsButton = nav = navContainer = navContainerHTML = navItems = pages = pagesCached = navClicked = navCurrentIndex = navCurrentIndexCached = navActiveClass = navStr = navStrCurrent = autoplay = autoplayTimeout = autoplayDirection = autoplayText = autoplayHoverPause = autoplayButton = autoplayButtonHTML = autoplayResetOnVisibility = autoplayHtmlStrings = autoplayTimer = animating = autoplayHoverPaused = autoplayUserPaused = autoplayVisibilityPaused = initPosition = lastPosition = translateInit = disX = disY = panStart = rafIndex = getDist = touch = mouseDrag = null;\n // check variables\n // [animateIn, animateOut, animateDelay, animateNormal, horizontal, outerWrapper, innerWrapper, container, containerParent, containerHTML, slideItems, slideCount, breakpointZone, windowWidth, autoWidth, fixedWidth, edgePadding, gutter, viewport, items, slideBy, viewportMax, arrowKeys, speed, rewind, loop, autoHeight, sheet, lazyload, slidePositions, slideItemsOut, cloneCount, slideCountNew, hasRightDeadZone, rightBoundary, updateIndexBeforeTransform, transformAttr, transformPrefix, transformPostfix, getIndexMax, index, indexCached, indexMin, indexMax, resizeTimer, swipeAngle, moveDirectionExpected, running, onInit, events, newContainerClasses, slideId, disable, disabled, freezable, freeze, frozen, controlsEvents, navEvents, hoverEvents, visibilityEvent, docmentKeydownEvent, touchEvents, dragEvents, hasControls, hasNav, navAsThumbnails, hasAutoplay, hasTouch, hasMouseDrag, slideActiveClass, imgCompleteClass, imgEvents, imgsComplete, controls, controlsText, controlsContainer, controlsContainerHTML, prevButton, nextButton, prevIsButton, nextIsButton, nav, navContainer, navContainerHTML, navItems, pages, pagesCached, navClicked, navCurrentIndex, navCurrentIndexCached, navActiveClass, navStr, navStrCurrent, autoplay, autoplayTimeout, autoplayDirection, autoplayText, autoplayHoverPause, autoplayButton, autoplayButtonHTML, autoplayResetOnVisibility, autoplayHtmlStrings, autoplayTimer, animating, autoplayHoverPaused, autoplayUserPaused, autoplayVisibilityPaused, initPosition, lastPosition, translateInit, disX, disY, panStart, rafIndex, getDist, touch, mouseDrag ].forEach(function(item) { if (item !== null) { console.log(item); } });\n\n for (var a in this) {\n if (a !== 'rebuild') { this[a] = null; }\n }\n isOn = false;\n }\n\n// === ON RESIZE ===\n // responsive || fixedWidth || autoWidth || !horizontal\n function onResize (e) {\n raf(function(){ resizeTasks(getEvent(e)); });\n }\n\n function resizeTasks (e) {\n if (!isOn) { return; }\n if (nested === 'outer') { events.emit('outerResized', info(e)); }\n windowWidth = getWindowWidth();\n var bpChanged,\n breakpointZoneTem = breakpointZone,\n needContainerTransform = false;\n\n if (responsive) {\n setBreakpointZone();\n bpChanged = breakpointZoneTem !== breakpointZone;\n // if (hasRightDeadZone) { needContainerTransform = true; } // *?\n if (bpChanged) { events.emit('newBreakpointStart', info(e)); }\n }\n\n var indChanged,\n itemsChanged,\n itemsTem = items,\n disableTem = disable,\n freezeTem = freeze,\n arrowKeysTem = arrowKeys,\n controlsTem = controls,\n navTem = nav,\n touchTem = touch,\n mouseDragTem = mouseDrag,\n autoplayTem = autoplay,\n autoplayHoverPauseTem = autoplayHoverPause,\n autoplayResetOnVisibilityTem = autoplayResetOnVisibility,\n indexTem = index;\n\n if (bpChanged) {\n var fixedWidthTem = fixedWidth,\n autoHeightTem = autoHeight,\n controlsTextTem = controlsText,\n centerTem = center,\n autoplayTextTem = autoplayText;\n\n if (!CSSMQ) {\n var gutterTem = gutter,\n edgePaddingTem = edgePadding;\n }\n }\n\n // get option:\n // fixed width: viewport, fixedWidth, gutter => items\n // others: window width => all variables\n // all: items => slideBy\n arrowKeys = getOption('arrowKeys');\n controls = getOption('controls');\n nav = getOption('nav');\n touch = getOption('touch');\n center = getOption('center');\n mouseDrag = getOption('mouseDrag');\n autoplay = getOption('autoplay');\n autoplayHoverPause = getOption('autoplayHoverPause');\n autoplayResetOnVisibility = getOption('autoplayResetOnVisibility');\n\n if (bpChanged) {\n disable = getOption('disable');\n fixedWidth = getOption('fixedWidth');\n speed = getOption('speed');\n autoHeight = getOption('autoHeight');\n controlsText = getOption('controlsText');\n autoplayText = getOption('autoplayText');\n autoplayTimeout = getOption('autoplayTimeout');\n\n if (!CSSMQ) {\n edgePadding = getOption('edgePadding');\n gutter = getOption('gutter');\n }\n }\n // update options\n resetVariblesWhenDisable(disable);\n\n viewport = getViewportWidth(); // <= edgePadding, gutter\n if ((!horizontal || autoWidth) && !disable) {\n setSlidePositions();\n if (!horizontal) {\n updateContentWrapperHeight(); // <= setSlidePositions\n needContainerTransform = true;\n }\n }\n if (fixedWidth || autoWidth) {\n rightBoundary = getRightBoundary(); // autoWidth: <= viewport, slidePositions, gutter\n // fixedWidth: <= viewport, fixedWidth, gutter\n indexMax = getIndexMax(); // autoWidth: <= rightBoundary, slidePositions\n // fixedWidth: <= rightBoundary, fixedWidth, gutter\n }\n\n if (bpChanged || fixedWidth) {\n items = getOption('items');\n slideBy = getOption('slideBy');\n itemsChanged = items !== itemsTem;\n\n if (itemsChanged) {\n if (!fixedWidth && !autoWidth) { indexMax = getIndexMax(); } // <= items\n // check index before transform in case\n // slider reach the right edge then items become bigger\n updateIndex();\n }\n }\n \n if (bpChanged) {\n if (disable !== disableTem) {\n if (disable) {\n disableSlider();\n } else {\n enableSlider(); // <= slidePositions, rightBoundary, indexMax\n }\n }\n }\n\n if (freezable && (bpChanged || fixedWidth || autoWidth)) {\n freeze = getFreeze(); // <= autoWidth: slidePositions, gutter, viewport, rightBoundary\n // <= fixedWidth: fixedWidth, gutter, rightBoundary\n // <= others: items\n\n if (freeze !== freezeTem) {\n if (freeze) {\n doContainerTransform(getContainerTransformValue(getStartIndex(0)));\n freezeSlider();\n } else {\n unfreezeSlider();\n needContainerTransform = true;\n }\n }\n }\n\n resetVariblesWhenDisable(disable || freeze); // controls, nav, touch, mouseDrag, arrowKeys, autoplay, autoplayHoverPause, autoplayResetOnVisibility\n if (!autoplay) { autoplayHoverPause = autoplayResetOnVisibility = false; }\n\n if (arrowKeys !== arrowKeysTem) {\n arrowKeys ?\n addEvents(doc, docmentKeydownEvent) :\n removeEvents(doc, docmentKeydownEvent);\n }\n if (controls !== controlsTem) {\n if (controls) {\n if (controlsContainer) {\n showElement(controlsContainer);\n } else {\n if (prevButton) { showElement(prevButton); }\n if (nextButton) { showElement(nextButton); }\n }\n } else {\n if (controlsContainer) {\n hideElement(controlsContainer);\n } else {\n if (prevButton) { hideElement(prevButton); }\n if (nextButton) { hideElement(nextButton); }\n }\n }\n }\n if (nav !== navTem) {\n nav ?\n showElement(navContainer) :\n hideElement(navContainer);\n }\n if (touch !== touchTem) {\n touch ?\n addEvents(container, touchEvents, options.preventScrollOnTouch) :\n removeEvents(container, touchEvents);\n }\n if (mouseDrag !== mouseDragTem) {\n mouseDrag ?\n addEvents(container, dragEvents) :\n removeEvents(container, dragEvents);\n }\n if (autoplay !== autoplayTem) {\n if (autoplay) {\n if (autoplayButton) { showElement(autoplayButton); }\n if (!animating && !autoplayUserPaused) { startAutoplay(); }\n } else {\n if (autoplayButton) { hideElement(autoplayButton); }\n if (animating) { stopAutoplay(); }\n }\n }\n if (autoplayHoverPause !== autoplayHoverPauseTem) {\n autoplayHoverPause ?\n addEvents(container, hoverEvents) :\n removeEvents(container, hoverEvents);\n }\n if (autoplayResetOnVisibility !== autoplayResetOnVisibilityTem) {\n autoplayResetOnVisibility ?\n addEvents(doc, visibilityEvent) :\n removeEvents(doc, visibilityEvent);\n }\n\n if (bpChanged) {\n if (fixedWidth !== fixedWidthTem || center !== centerTem) { needContainerTransform = true; }\n\n if (autoHeight !== autoHeightTem) {\n if (!autoHeight) { innerWrapper.style.height = ''; }\n }\n\n if (controls && controlsText !== controlsTextTem) {\n prevButton.innerHTML = controlsText[0];\n nextButton.innerHTML = controlsText[1];\n }\n\n if (autoplayButton && autoplayText !== autoplayTextTem) {\n var i = autoplay ? 1 : 0,\n html = autoplayButton.innerHTML,\n len = html.length - autoplayTextTem[i].length;\n if (html.substring(len) === autoplayTextTem[i]) {\n autoplayButton.innerHTML = html.substring(0, len) + autoplayText[i];\n }\n }\n } else {\n if (center && (fixedWidth || autoWidth)) { needContainerTransform = true; }\n }\n\n if (itemsChanged || fixedWidth && !autoWidth) {\n pages = getPages();\n updateNavVisibility();\n }\n\n indChanged = index !== indexTem;\n if (indChanged) { \n events.emit('indexChanged', info());\n needContainerTransform = true;\n } else if (itemsChanged) {\n if (!indChanged) { additionalUpdates(); }\n } else if (fixedWidth || autoWidth) {\n doLazyLoad(); \n updateSlideStatus();\n updateLiveRegion();\n }\n\n if (itemsChanged && !carousel) { updateGallerySlidePositions(); }\n\n if (!disable && !freeze) {\n // non-meduaqueries: IE8\n if (bpChanged && !CSSMQ) {\n // middle wrapper styles\n if (autoHeight !== autoheightTem || speed !== speedTem) {\n update_carousel_transition_duration();\n }\n\n // inner wrapper styles\n if (edgePadding !== edgePaddingTem || gutter !== gutterTem) {\n innerWrapper.style.cssText = getInnerWrapperStyles(edgePadding, gutter, fixedWidth, speed, autoHeight);\n }\n\n if (horizontal) {\n // container styles\n if (carousel) {\n container.style.width = getContainerWidth(fixedWidth, gutter, items);\n }\n\n // slide styles\n var str = getSlideWidthStyle(fixedWidth, gutter, items) + \n getSlideGutterStyle(gutter);\n\n // remove the last line and\n // add new styles\n removeCSSRule(sheet, getCssRulesLength(sheet) - 1);\n addCSSRule(sheet, '#' + slideId + ' > .tns-item', str, getCssRulesLength(sheet));\n }\n }\n\n // auto height\n if (autoHeight) { doAutoHeight(); }\n\n if (needContainerTransform) {\n doContainerTransformSilent();\n indexCached = index;\n }\n }\n\n if (bpChanged) { events.emit('newBreakpointEnd', info(e)); }\n }\n\n\n\n\n\n // === INITIALIZATION FUNCTIONS === //\n function getFreeze () {\n if (!fixedWidth && !autoWidth) {\n var a = center ? items - (items - 1) / 2 : items;\n return slideCount <= a;\n }\n\n var width = fixedWidth ? (fixedWidth + gutter) * slideCount : slidePositions[slideCount],\n vp = edgePadding ? viewport + edgePadding * 2 : viewport + gutter;\n\n if (center) {\n vp -= fixedWidth ? (viewport - fixedWidth) / 2 : (viewport - (slidePositions[index + 1] - slidePositions[index] - gutter)) / 2;\n }\n\n return width <= vp;\n }\n\n function setBreakpointZone () {\n breakpointZone = 0;\n for (var bp in responsive) {\n bp = parseInt(bp); // convert string to number\n if (windowWidth >= bp) { breakpointZone = bp; }\n }\n }\n\n // (slideBy, indexMin, indexMax) => index\n var updateIndex = (function () {\n return loop ? \n carousel ?\n // loop + carousel\n function () {\n var leftEdge = indexMin,\n rightEdge = indexMax;\n\n leftEdge += slideBy;\n rightEdge -= slideBy;\n\n // adjust edges when has edge paddings\n // or fixed-width slider with extra space on the right side\n if (edgePadding) {\n leftEdge += 1;\n rightEdge -= 1;\n } else if (fixedWidth) {\n if ((viewport + gutter)%(fixedWidth + gutter)) { rightEdge -= 1; }\n }\n\n if (cloneCount) {\n if (index > rightEdge) {\n index -= slideCount;\n } else if (index < leftEdge) {\n index += slideCount;\n }\n }\n } :\n // loop + gallery\n function() {\n if (index > indexMax) {\n while (index >= indexMin + slideCount) { index -= slideCount; }\n } else if (index < indexMin) {\n while (index <= indexMax - slideCount) { index += slideCount; }\n }\n } :\n // non-loop\n function() {\n index = Math.max(indexMin, Math.min(indexMax, index));\n };\n })();\n\n function disableUI () {\n if (!autoplay && autoplayButton) { hideElement(autoplayButton); }\n if (!nav && navContainer) { hideElement(navContainer); }\n if (!controls) {\n if (controlsContainer) {\n hideElement(controlsContainer);\n } else {\n if (prevButton) { hideElement(prevButton); }\n if (nextButton) { hideElement(nextButton); }\n }\n }\n }\n\n function enableUI () {\n if (autoplay && autoplayButton) { showElement(autoplayButton); }\n if (nav && navContainer) { showElement(navContainer); }\n if (controls) {\n if (controlsContainer) {\n showElement(controlsContainer);\n } else {\n if (prevButton) { showElement(prevButton); }\n if (nextButton) { showElement(nextButton); }\n }\n }\n }\n\n function freezeSlider () {\n if (frozen) { return; }\n\n // remove edge padding from inner wrapper\n if (edgePadding) { innerWrapper.style.margin = '0px'; }\n\n // add class tns-transparent to cloned slides\n if (cloneCount) {\n var str = 'tns-transparent';\n for (var i = cloneCount; i--;) {\n if (carousel) { addClass(slideItems[i], str); }\n addClass(slideItems[slideCountNew - i - 1], str);\n }\n }\n\n // update tools\n disableUI();\n\n frozen = true;\n }\n\n function unfreezeSlider () {\n if (!frozen) { return; }\n\n // restore edge padding for inner wrapper\n // for mordern browsers\n if (edgePadding && CSSMQ) { innerWrapper.style.margin = ''; }\n\n // remove class tns-transparent to cloned slides\n if (cloneCount) {\n var str = 'tns-transparent';\n for (var i = cloneCount; i--;) {\n if (carousel) { removeClass(slideItems[i], str); }\n removeClass(slideItems[slideCountNew - i - 1], str);\n }\n }\n\n // update tools\n enableUI();\n\n frozen = false;\n }\n\n function disableSlider () {\n if (disabled) { return; }\n\n sheet.disabled = true;\n container.className = container.className.replace(newContainerClasses.substring(1), '');\n removeAttrs(container, ['style']);\n if (loop) {\n for (var j = cloneCount; j--;) {\n if (carousel) { hideElement(slideItems[j]); }\n hideElement(slideItems[slideCountNew - j - 1]);\n }\n }\n\n // vertical slider\n if (!horizontal || !carousel) { removeAttrs(innerWrapper, ['style']); }\n\n // gallery\n if (!carousel) { \n for (var i = index, l = index + slideCount; i < l; i++) {\n var item = slideItems[i];\n removeAttrs(item, ['style']);\n removeClass(item, animateIn);\n removeClass(item, animateNormal);\n }\n }\n\n // update tools\n disableUI();\n\n disabled = true;\n }\n\n function enableSlider () {\n if (!disabled) { return; }\n\n sheet.disabled = false;\n container.className += newContainerClasses;\n doContainerTransformSilent();\n\n if (loop) {\n for (var j = cloneCount; j--;) {\n if (carousel) { showElement(slideItems[j]); }\n showElement(slideItems[slideCountNew - j - 1]);\n }\n }\n\n // gallery\n if (!carousel) { \n for (var i = index, l = index + slideCount; i < l; i++) {\n var item = slideItems[i],\n classN = i < index + items ? animateIn : animateNormal;\n item.style.left = (i - index) * 100 / items + '%';\n addClass(item, classN);\n }\n }\n\n // update tools\n enableUI();\n\n disabled = false;\n }\n\n function updateLiveRegion () {\n var str = getLiveRegionStr();\n if (liveregionCurrent.innerHTML !== str) { liveregionCurrent.innerHTML = str; }\n }\n\n function getLiveRegionStr () {\n var arr = getVisibleSlideRange(),\n start = arr[0] + 1,\n end = arr[1] + 1;\n return start === end ? start + '' : start + ' to ' + end; \n }\n\n function getVisibleSlideRange (val) {\n if (val == null) { val = getContainerTransformValue(); }\n var start = index, end, rangestart, rangeend;\n\n // get range start, range end for autoWidth and fixedWidth\n if (center || edgePadding) {\n if (autoWidth || fixedWidth) {\n rangestart = - (parseFloat(val) + edgePadding);\n rangeend = rangestart + viewport + edgePadding * 2;\n }\n } else {\n if (autoWidth) {\n rangestart = slidePositions[index];\n rangeend = rangestart + viewport;\n }\n }\n\n // get start, end\n // - check auto width\n if (autoWidth) {\n slidePositions.forEach(function(point, i) {\n if (i < slideCountNew) {\n if ((center || edgePadding) && point <= rangestart + 0.5) { start = i; }\n if (rangeend - point >= 0.5) { end = i; }\n }\n });\n\n // - check percentage width, fixed width\n } else {\n\n if (fixedWidth) {\n var cell = fixedWidth + gutter;\n if (center || edgePadding) {\n start = Math.floor(rangestart/cell);\n end = Math.ceil(rangeend/cell - 1);\n } else {\n end = start + Math.ceil(viewport/cell) - 1;\n }\n\n } else {\n if (center || edgePadding) {\n var a = items - 1;\n if (center) {\n start -= a / 2;\n end = index + a / 2;\n } else {\n end = index + a;\n }\n\n if (edgePadding) {\n var b = edgePadding * items / viewport;\n start -= b;\n end += b;\n }\n\n start = Math.floor(start);\n end = Math.ceil(end);\n } else {\n end = start + items - 1;\n }\n }\n\n start = Math.max(start, 0);\n end = Math.min(end, slideCountNew - 1);\n }\n\n return [start, end];\n }\n\n function doLazyLoad () {\n if (lazyload && !disable) {\n getImageArray.apply(null, getVisibleSlideRange()).forEach(function (img) {\n if (!hasClass(img, imgCompleteClass)) {\n // stop propagation transitionend event to container\n var eve = {};\n eve[TRANSITIONEND] = function (e) { e.stopPropagation(); };\n addEvents(img, eve);\n\n addEvents(img, imgEvents);\n\n // update src\n img.src = getAttr(img, 'data-src');\n\n // update srcset\n var srcset = getAttr(img, 'data-srcset');\n if (srcset) { img.srcset = srcset; }\n\n addClass(img, 'loading');\n }\n });\n }\n }\n\n function onImgLoaded (e) {\n imgLoaded(getTarget(e));\n }\n\n function onImgFailed (e) {\n imgFailed(getTarget(e));\n }\n\n function imgLoaded (img) {\n addClass(img, 'loaded');\n imgCompleted(img);\n }\n\n function imgFailed (img) {\n addClass(img, 'failed');\n imgCompleted(img);\n }\n\n function imgCompleted (img) {\n addClass(img, 'tns-complete');\n removeClass(img, 'loading');\n removeEvents(img, imgEvents);\n }\n\n function getImageArray (start, end) {\n var imgs = [];\n while (start <= end) {\n forEach(slideItems[start].querySelectorAll('img'), function (img) { imgs.push(img); });\n start++;\n }\n\n return imgs;\n }\n\n // check if all visible images are loaded\n // and update container height if it's done\n function doAutoHeight () {\n var imgs = getImageArray.apply(null, getVisibleSlideRange());\n raf(function(){ imgsLoadedCheck(imgs, updateInnerWrapperHeight); });\n }\n\n function imgsLoadedCheck (imgs, cb) {\n // directly execute callback function if all images are complete\n if (imgsComplete) { return cb(); }\n\n // check selected image classes otherwise\n imgs.forEach(function (img, index) {\n if (hasClass(img, imgCompleteClass)) { imgs.splice(index, 1); }\n });\n\n // execute callback function if selected images are all complete\n if (!imgs.length) { return cb(); }\n\n // otherwise execute this functiona again\n raf(function(){ imgsLoadedCheck(imgs, cb); });\n } \n\n function additionalUpdates () {\n doLazyLoad(); \n updateSlideStatus();\n updateLiveRegion();\n updateControlsStatus();\n updateNavStatus();\n }\n\n\n function update_carousel_transition_duration () {\n if (carousel && autoHeight) {\n middleWrapper.style[TRANSITIONDURATION] = speed / 1000 + 's';\n }\n }\n\n function getMaxSlideHeight (slideStart, slideRange) {\n var heights = [];\n for (var i = slideStart, l = Math.min(slideStart + slideRange, slideCountNew); i < l; i++) {\n heights.push(slideItems[i].offsetHeight);\n }\n\n return Math.max.apply(null, heights);\n }\n\n // update inner wrapper height\n // 1. get the max-height of the visible slides\n // 2. set transitionDuration to speed\n // 3. update inner wrapper height to max-height\n // 4. set transitionDuration to 0s after transition done\n function updateInnerWrapperHeight () {\n var maxHeight = autoHeight ? getMaxSlideHeight(index, items) : getMaxSlideHeight(cloneCount, slideCount),\n wp = middleWrapper ? middleWrapper : innerWrapper;\n\n if (wp.style.height !== maxHeight) { wp.style.height = maxHeight + 'px'; }\n }\n\n // get the distance from the top edge of the first slide to each slide\n // (init) => slidePositions\n function setSlidePositions () {\n slidePositions = [0];\n var attr = horizontal ? 'left' : 'top',\n attr2 = horizontal ? 'right' : 'bottom',\n base = slideItems[0].getBoundingClientRect()[attr];\n\n forEach(slideItems, function(item, i) {\n // skip the first slide\n if (i) { slidePositions.push(item.getBoundingClientRect()[attr] - base); }\n // add the end edge\n if (i === slideCountNew - 1) { slidePositions.push(item.getBoundingClientRect()[attr2] - base); }\n });\n }\n\n // update slide\n function updateSlideStatus () {\n var range = getVisibleSlideRange(),\n start = range[0],\n end = range[1];\n\n forEach(slideItems, function(item, i) {\n // show slides\n if (i >= start && i <= end) {\n if (hasAttr(item, 'aria-hidden')) {\n removeAttrs(item, ['aria-hidden', 'tabindex']);\n addClass(item, slideActiveClass);\n }\n // hide slides\n } else {\n if (!hasAttr(item, 'aria-hidden')) {\n setAttrs(item, {\n 'aria-hidden': 'true',\n 'tabindex': '-1'\n });\n removeClass(item, slideActiveClass);\n }\n }\n });\n }\n\n // gallery: update slide position\n function updateGallerySlidePositions () {\n var l = index + Math.min(slideCount, items);\n for (var i = slideCountNew; i--;) {\n var item = slideItems[i];\n\n if (i >= index && i < l) {\n // add transitions to visible slides when adjusting their positions\n addClass(item, 'tns-moving');\n\n item.style.left = (i - index) * 100 / items + '%';\n addClass(item, animateIn);\n removeClass(item, animateNormal);\n } else if (item.style.left) {\n item.style.left = '';\n addClass(item, animateNormal);\n removeClass(item, animateIn);\n }\n\n // remove outlet animation\n removeClass(item, animateOut);\n }\n\n // removing '.tns-moving'\n setTimeout(function() {\n forEach(slideItems, function(el) {\n removeClass(el, 'tns-moving');\n });\n }, 300);\n }\n\n // set tabindex on Nav\n function updateNavStatus () {\n // get current nav\n if (nav) {\n navCurrentIndex = navClicked >= 0 ? navClicked : getCurrentNavIndex();\n navClicked = -1;\n\n if (navCurrentIndex !== navCurrentIndexCached) {\n var navPrev = navItems[navCurrentIndexCached],\n navCurrent = navItems[navCurrentIndex];\n\n setAttrs(navPrev, {\n 'tabindex': '-1',\n 'aria-label': navStr + (navCurrentIndexCached + 1)\n });\n removeClass(navPrev, navActiveClass);\n \n setAttrs(navCurrent, {'aria-label': navStr + (navCurrentIndex + 1) + navStrCurrent});\n removeAttrs(navCurrent, 'tabindex');\n addClass(navCurrent, navActiveClass);\n\n navCurrentIndexCached = navCurrentIndex;\n }\n }\n }\n\n function getLowerCaseNodeName (el) {\n return el.nodeName.toLowerCase();\n }\n\n function isButton (el) {\n return getLowerCaseNodeName(el) === 'button';\n }\n\n function isAriaDisabled (el) {\n return el.getAttribute('aria-disabled') === 'true';\n }\n\n function disEnableElement (isButton, el, val) {\n if (isButton) {\n el.disabled = val;\n } else {\n el.setAttribute('aria-disabled', val.toString());\n }\n }\n\n // set 'disabled' to true on controls when reach the edges\n function updateControlsStatus () {\n if (!controls || rewind || loop) { return; }\n\n var prevDisabled = (prevIsButton) ? prevButton.disabled : isAriaDisabled(prevButton),\n nextDisabled = (nextIsButton) ? nextButton.disabled : isAriaDisabled(nextButton),\n disablePrev = (index <= indexMin) ? true : false,\n disableNext = (!rewind && index >= indexMax) ? true : false;\n\n if (disablePrev && !prevDisabled) {\n disEnableElement(prevIsButton, prevButton, true);\n }\n if (!disablePrev && prevDisabled) {\n disEnableElement(prevIsButton, prevButton, false);\n }\n if (disableNext && !nextDisabled) {\n disEnableElement(nextIsButton, nextButton, true);\n }\n if (!disableNext && nextDisabled) {\n disEnableElement(nextIsButton, nextButton, false);\n }\n }\n\n // set duration\n function resetDuration (el, str) {\n if (TRANSITIONDURATION) { el.style[TRANSITIONDURATION] = str; }\n }\n\n function getSliderWidth () {\n return fixedWidth ? (fixedWidth + gutter) * slideCountNew : slidePositions[slideCountNew];\n }\n\n function getCenterGap (num) {\n if (num == null) { num = index; }\n\n var gap = edgePadding ? gutter : 0;\n return autoWidth ? ((viewport - gap) - (slidePositions[num + 1] - slidePositions[num] - gutter))/2 :\n fixedWidth ? (viewport - fixedWidth) / 2 :\n (items - 1) / 2;\n }\n\n function getRightBoundary () {\n var gap = edgePadding ? gutter : 0,\n result = (viewport + gap) - getSliderWidth();\n\n if (center && !loop) {\n result = fixedWidth ? - (fixedWidth + gutter) * (slideCountNew - 1) - getCenterGap() :\n getCenterGap(slideCountNew - 1) - slidePositions[slideCountNew - 1];\n }\n if (result > 0) { result = 0; }\n\n return result;\n }\n\n function getContainerTransformValue (num) {\n if (num == null) { num = index; }\n\n var val;\n if (horizontal && !autoWidth) {\n if (fixedWidth) {\n val = - (fixedWidth + gutter) * num;\n if (center) { val += getCenterGap(); }\n } else {\n var denominator = TRANSFORM ? slideCountNew : items;\n if (center) { num -= getCenterGap(); }\n val = - num * 100 / denominator;\n }\n } else {\n val = - slidePositions[num];\n if (center && autoWidth) {\n val += getCenterGap();\n }\n }\n\n if (hasRightDeadZone) { val = Math.max(val, rightBoundary); }\n\n val += (horizontal && !autoWidth && !fixedWidth) ? '%' : 'px';\n\n return val;\n }\n\n function doContainerTransformSilent (val) {\n resetDuration(container, '0s');\n doContainerTransform(val);\n }\n\n function doContainerTransform (val) {\n if (val == null) { val = getContainerTransformValue(); }\n container.style[transformAttr] = transformPrefix + val + transformPostfix;\n }\n\n function animateSlide (number, classOut, classIn, isOut) {\n var l = number + items;\n if (!loop) { l = Math.min(l, slideCountNew); }\n\n for (var i = number; i < l; i++) {\n var item = slideItems[i];\n\n // set item positions\n if (!isOut) { item.style.left = (i - index) * 100 / items + '%'; }\n\n if (animateDelay && TRANSITIONDELAY) {\n item.style[TRANSITIONDELAY] = item.style[ANIMATIONDELAY] = animateDelay * (i - number) / 1000 + 's';\n }\n removeClass(item, classOut);\n addClass(item, classIn);\n \n if (isOut) { slideItemsOut.push(item); }\n }\n }\n\n // make transfer after click/drag:\n // 1. change 'transform' property for mordern browsers\n // 2. change 'left' property for legacy browsers\n var transformCore = (function () {\n return carousel ?\n function () {\n resetDuration(container, '');\n if (TRANSITIONDURATION || !speed) {\n // for morden browsers with non-zero duration or \n // zero duration for all browsers\n doContainerTransform();\n // run fallback function manually \n // when duration is 0 / container is hidden\n if (!speed || !isVisible(container)) { onTransitionEnd(); }\n\n } else {\n // for old browser with non-zero duration\n jsTransform(container, transformAttr, transformPrefix, transformPostfix, getContainerTransformValue(), speed, onTransitionEnd);\n }\n\n if (!horizontal) { updateContentWrapperHeight(); }\n } :\n function () {\n slideItemsOut = [];\n\n var eve = {};\n eve[TRANSITIONEND] = eve[ANIMATIONEND] = onTransitionEnd;\n removeEvents(slideItems[indexCached], eve);\n addEvents(slideItems[index], eve);\n\n animateSlide(indexCached, animateIn, animateOut, true);\n animateSlide(index, animateNormal, animateIn);\n\n // run fallback function manually \n // when transition or animation not supported / duration is 0\n if (!TRANSITIONEND || !ANIMATIONEND || !speed || !isVisible(container)) { onTransitionEnd(); }\n };\n })();\n\n function render (e, sliderMoved) {\n if (updateIndexBeforeTransform) { updateIndex(); }\n\n // render when slider was moved (touch or drag) even though index may not change\n if (index !== indexCached || sliderMoved) {\n // events\n events.emit('indexChanged', info());\n events.emit('transitionStart', info());\n if (autoHeight) { doAutoHeight(); }\n\n // pause autoplay when click or keydown from user\n if (animating && e && ['click', 'keydown'].indexOf(e.type) >= 0) { stopAutoplay(); }\n\n running = true;\n transformCore();\n }\n }\n\n /*\n * Transfer prefixed properties to the same format\n * CSS: -Webkit-Transform => webkittransform\n * JS: WebkitTransform => webkittransform\n * @param {string} str - property\n *\n */\n function strTrans (str) {\n return str.toLowerCase().replace(/-/g, '');\n }\n\n // AFTER TRANSFORM\n // Things need to be done after a transfer:\n // 1. check index\n // 2. add classes to visible slide\n // 3. disable controls buttons when reach the first/last slide in non-loop slider\n // 4. update nav status\n // 5. lazyload images\n // 6. update container height\n function onTransitionEnd (event) {\n // check running on gallery mode\n // make sure trantionend/animationend events run only once\n if (carousel || running) {\n events.emit('transitionEnd', info(event));\n\n if (!carousel && slideItemsOut.length > 0) {\n for (var i = 0; i < slideItemsOut.length; i++) {\n var item = slideItemsOut[i];\n // set item positions\n item.style.left = '';\n\n if (ANIMATIONDELAY && TRANSITIONDELAY) { \n item.style[ANIMATIONDELAY] = '';\n item.style[TRANSITIONDELAY] = '';\n }\n removeClass(item, animateOut);\n addClass(item, animateNormal);\n }\n }\n\n /* update slides, nav, controls after checking ...\n * => legacy browsers who don't support 'event' \n * have to check event first, otherwise event.target will cause an error \n * => or 'gallery' mode: \n * + event target is slide item\n * => or 'carousel' mode: \n * + event target is container, \n * + event.property is the same with transform attribute\n */\n if (!event || \n !carousel && event.target.parentNode === container || \n event.target === container && strTrans(event.propertyName) === strTrans(transformAttr)) {\n\n if (!updateIndexBeforeTransform) { \n var indexTem = index;\n updateIndex();\n if (index !== indexTem) { \n events.emit('indexChanged', info());\n\n doContainerTransformSilent();\n }\n } \n\n if (nested === 'inner') { events.emit('innerLoaded', info()); }\n running = false;\n indexCached = index;\n }\n }\n\n }\n\n // # ACTIONS\n function goTo (targetIndex, e) {\n if (freeze) { return; }\n\n // prev slideBy\n if (targetIndex === 'prev') {\n onControlsClick(e, -1);\n\n // next slideBy\n } else if (targetIndex === 'next') {\n onControlsClick(e, 1);\n\n // go to exact slide\n } else {\n if (running) {\n if (preventActionWhenRunning) { return; } else { onTransitionEnd(); }\n }\n\n var absIndex = getAbsIndex(), \n indexGap = 0;\n\n if (targetIndex === 'first') {\n indexGap = - absIndex;\n } else if (targetIndex === 'last') {\n indexGap = carousel ? slideCount - items - absIndex : slideCount - 1 - absIndex;\n } else {\n if (typeof targetIndex !== 'number') { targetIndex = parseInt(targetIndex); }\n\n if (!isNaN(targetIndex)) {\n // from directly called goTo function\n if (!e) { targetIndex = Math.max(0, Math.min(slideCount - 1, targetIndex)); }\n\n indexGap = targetIndex - absIndex;\n }\n }\n\n // gallery: make sure new page won't overlap with current page\n if (!carousel && indexGap && Math.abs(indexGap) < items) {\n var factor = indexGap > 0 ? 1 : -1;\n indexGap += (index + indexGap - slideCount) >= indexMin ? slideCount * factor : slideCount * 2 * factor * -1;\n }\n\n index += indexGap;\n\n // make sure index is in range\n if (carousel && loop) {\n if (index < indexMin) { index += slideCount; }\n if (index > indexMax) { index -= slideCount; }\n }\n\n // if index is changed, start rendering\n if (getAbsIndex(index) !== getAbsIndex(indexCached)) {\n render(e);\n }\n\n }\n }\n\n // on controls click\n function onControlsClick (e, dir) {\n if (running) {\n if (preventActionWhenRunning) { return; } else { onTransitionEnd(); }\n }\n var passEventObject;\n\n if (!dir) {\n e = getEvent(e);\n var target = getTarget(e);\n\n while (target !== controlsContainer && [prevButton, nextButton].indexOf(target) < 0) { target = target.parentNode; }\n\n var targetIn = [prevButton, nextButton].indexOf(target);\n if (targetIn >= 0) {\n passEventObject = true;\n dir = targetIn === 0 ? -1 : 1;\n }\n }\n\n if (rewind) {\n if (index === indexMin && dir === -1) {\n goTo('last', e);\n return;\n } else if (index === indexMax && dir === 1) {\n goTo('first', e);\n return;\n }\n }\n\n if (dir) {\n index += slideBy * dir;\n if (autoWidth) { index = Math.floor(index); }\n // pass e when click control buttons or keydown\n render((passEventObject || (e && e.type === 'keydown')) ? e : null);\n }\n }\n\n // on nav click\n function onNavClick (e) {\n if (running) {\n if (preventActionWhenRunning) { return; } else { onTransitionEnd(); }\n }\n \n e = getEvent(e);\n var target = getTarget(e), navIndex;\n\n // find the clicked nav item\n while (target !== navContainer && !hasAttr(target, 'data-nav')) { target = target.parentNode; }\n if (hasAttr(target, 'data-nav')) {\n var navIndex = navClicked = Number(getAttr(target, 'data-nav')),\n targetIndexBase = fixedWidth || autoWidth ? navIndex * slideCount / pages : navIndex * items,\n targetIndex = navAsThumbnails ? navIndex : Math.min(Math.ceil(targetIndexBase), slideCount - 1);\n goTo(targetIndex, e);\n\n if (navCurrentIndex === navIndex) {\n if (animating) { stopAutoplay(); }\n navClicked = -1; // reset navClicked\n }\n }\n }\n\n // autoplay functions\n function setAutoplayTimer () {\n autoplayTimer = setInterval(function () {\n onControlsClick(null, autoplayDirection);\n }, autoplayTimeout);\n\n animating = true;\n }\n\n function stopAutoplayTimer () {\n clearInterval(autoplayTimer);\n animating = false;\n }\n\n function updateAutoplayButton (action, txt) {\n setAttrs(autoplayButton, {'data-action': action});\n autoplayButton.innerHTML = autoplayHtmlStrings[0] + action + autoplayHtmlStrings[1] + txt;\n }\n\n function startAutoplay () {\n setAutoplayTimer();\n if (autoplayButton) { updateAutoplayButton('stop', autoplayText[1]); }\n }\n\n function stopAutoplay () {\n stopAutoplayTimer();\n if (autoplayButton) { updateAutoplayButton('start', autoplayText[0]); }\n }\n\n // programaitcally play/pause the slider\n function play () {\n if (autoplay && !animating) {\n startAutoplay();\n autoplayUserPaused = false;\n }\n }\n function pause () {\n if (animating) {\n stopAutoplay();\n autoplayUserPaused = true;\n }\n }\n\n function toggleAutoplay () {\n if (animating) {\n stopAutoplay();\n autoplayUserPaused = true;\n } else {\n startAutoplay();\n autoplayUserPaused = false;\n }\n }\n\n function onVisibilityChange () {\n if (doc.hidden) {\n if (animating) {\n stopAutoplayTimer();\n autoplayVisibilityPaused = true;\n }\n } else if (autoplayVisibilityPaused) {\n setAutoplayTimer();\n autoplayVisibilityPaused = false;\n }\n }\n\n function mouseoverPause () {\n if (animating) { \n stopAutoplayTimer();\n autoplayHoverPaused = true;\n }\n }\n\n function mouseoutRestart () {\n if (autoplayHoverPaused) { \n setAutoplayTimer();\n autoplayHoverPaused = false;\n }\n }\n\n // keydown events on document \n function onDocumentKeydown (e) {\n e = getEvent(e);\n var keyIndex = [KEYS.LEFT, KEYS.RIGHT].indexOf(e.keyCode);\n\n if (keyIndex >= 0) {\n onControlsClick(e, keyIndex === 0 ? -1 : 1);\n }\n }\n\n // on key control\n function onControlsKeydown (e) {\n e = getEvent(e);\n var keyIndex = [KEYS.LEFT, KEYS.RIGHT].indexOf(e.keyCode);\n\n if (keyIndex >= 0) {\n if (keyIndex === 0) {\n if (!prevButton.disabled) { onControlsClick(e, -1); }\n } else if (!nextButton.disabled) {\n onControlsClick(e, 1);\n }\n }\n }\n\n // set focus\n function setFocus (el) {\n el.focus();\n }\n\n // on key nav\n function onNavKeydown (e) {\n e = getEvent(e);\n var curElement = doc.activeElement;\n if (!hasAttr(curElement, 'data-nav')) { return; }\n\n // var code = e.keyCode,\n var keyIndex = [KEYS.LEFT, KEYS.RIGHT, KEYS.ENTER, KEYS.SPACE].indexOf(e.keyCode),\n navIndex = Number(getAttr(curElement, 'data-nav'));\n\n if (keyIndex >= 0) {\n if (keyIndex === 0) {\n if (navIndex > 0) { setFocus(navItems[navIndex - 1]); }\n } else if (keyIndex === 1) {\n if (navIndex < pages - 1) { setFocus(navItems[navIndex + 1]); }\n } else {\n navClicked = navIndex;\n goTo(navIndex, e);\n }\n }\n }\n\n function getEvent (e) {\n e = e || win.event;\n return isTouchEvent(e) ? e.changedTouches[0] : e;\n }\n function getTarget (e) {\n return e.target || win.event.srcElement;\n }\n\n function isTouchEvent (e) {\n return e.type.indexOf('touch') >= 0;\n }\n\n function preventDefaultBehavior (e) {\n e.preventDefault ? e.preventDefault() : e.returnValue = false;\n }\n\n function getMoveDirectionExpected () {\n return getTouchDirection(toDegree(lastPosition.y - initPosition.y, lastPosition.x - initPosition.x), swipeAngle) === options.axis;\n }\n\n function onPanStart (e) {\n if (running) {\n if (preventActionWhenRunning) { return; } else { onTransitionEnd(); }\n }\n\n if (autoplay && animating) { stopAutoplayTimer(); }\n \n panStart = true;\n if (rafIndex) {\n caf(rafIndex);\n rafIndex = null;\n }\n\n var $ = getEvent(e);\n events.emit(isTouchEvent(e) ? 'touchStart' : 'dragStart', info(e));\n\n if (!isTouchEvent(e) && ['img', 'a'].indexOf(getLowerCaseNodeName(getTarget(e))) >= 0) {\n preventDefaultBehavior(e);\n }\n\n lastPosition.x = initPosition.x = $.clientX;\n lastPosition.y = initPosition.y = $.clientY;\n if (carousel) {\n translateInit = parseFloat(container.style[transformAttr].replace(transformPrefix, ''));\n resetDuration(container, '0s');\n }\n }\n\n function onPanMove (e) {\n if (panStart) {\n var $ = getEvent(e);\n lastPosition.x = $.clientX;\n lastPosition.y = $.clientY;\n\n if (carousel) {\n if (!rafIndex) { rafIndex = raf(function(){ panUpdate(e); }); }\n } else {\n if (moveDirectionExpected === '?') { moveDirectionExpected = getMoveDirectionExpected(); }\n if (moveDirectionExpected) { preventScroll = true; }\n }\n\n if (preventScroll) { e.preventDefault(); }\n }\n }\n\n function panUpdate (e) {\n if (!moveDirectionExpected) {\n panStart = false;\n return;\n }\n caf(rafIndex);\n if (panStart) { rafIndex = raf(function(){ panUpdate(e); }); }\n\n if (moveDirectionExpected === '?') { moveDirectionExpected = getMoveDirectionExpected(); }\n if (moveDirectionExpected) {\n if (!preventScroll && isTouchEvent(e)) { preventScroll = true; }\n\n try {\n if (e.type) { events.emit(isTouchEvent(e) ? 'touchMove' : 'dragMove', info(e)); }\n } catch(err) {}\n\n var x = translateInit,\n dist = getDist(lastPosition, initPosition);\n if (!horizontal || fixedWidth || autoWidth) {\n x += dist;\n x += 'px';\n } else {\n var percentageX = TRANSFORM ? dist * items * 100 / ((viewport + gutter) * slideCountNew): dist * 100 / (viewport + gutter);\n x += percentageX;\n x += '%';\n }\n\n container.style[transformAttr] = transformPrefix + x + transformPostfix;\n }\n }\n\n function onPanEnd (e) {\n if (panStart) {\n if (rafIndex) {\n caf(rafIndex);\n rafIndex = null;\n }\n if (carousel) { resetDuration(container, ''); }\n panStart = false;\n\n var $ = getEvent(e);\n lastPosition.x = $.clientX;\n lastPosition.y = $.clientY;\n var dist = getDist(lastPosition, initPosition);\n\n if (Math.abs(dist)) {\n // drag vs click\n if (!isTouchEvent(e)) {\n // prevent \"click\"\n var target = getTarget(e);\n addEvents(target, {'click': function preventClick (e) {\n preventDefaultBehavior(e);\n removeEvents(target, {'click': preventClick});\n }}); \n }\n\n if (carousel) {\n rafIndex = raf(function() {\n if (horizontal && !autoWidth) {\n var indexMoved = - dist * items / (viewport + gutter);\n indexMoved = dist > 0 ? Math.floor(indexMoved) : Math.ceil(indexMoved);\n index += indexMoved;\n } else {\n var moved = - (translateInit + dist);\n if (moved <= 0) {\n index = indexMin;\n } else if (moved >= slidePositions[slideCountNew - 1]) {\n index = indexMax;\n } else {\n var i = 0;\n while (i < slideCountNew && moved >= slidePositions[i]) {\n index = i;\n if (moved > slidePositions[i] && dist < 0) { index += 1; }\n i++;\n }\n }\n }\n\n render(e, dist);\n events.emit(isTouchEvent(e) ? 'touchEnd' : 'dragEnd', info(e));\n });\n } else {\n if (moveDirectionExpected) {\n onControlsClick(e, dist > 0 ? -1 : 1);\n }\n }\n }\n }\n\n // reset\n if (options.preventScrollOnTouch === 'auto') { preventScroll = false; }\n if (swipeAngle) { moveDirectionExpected = '?'; } \n if (autoplay && !animating) { setAutoplayTimer(); }\n }\n\n // === RESIZE FUNCTIONS === //\n // (slidePositions, index, items) => vertical_conentWrapper.height\n function updateContentWrapperHeight () {\n var wp = middleWrapper ? middleWrapper : innerWrapper;\n wp.style.height = slidePositions[index + items] - slidePositions[index] + 'px';\n }\n\n function getPages () {\n var rough = fixedWidth ? (fixedWidth + gutter) * slideCount / viewport : slideCount / items;\n return Math.min(Math.ceil(rough), slideCount);\n }\n\n /*\n * 1. update visible nav items list\n * 2. add \"hidden\" attributes to previous visible nav items\n * 3. remove \"hidden\" attrubutes to new visible nav items\n */\n function updateNavVisibility () {\n if (!nav || navAsThumbnails) { return; }\n\n if (pages !== pagesCached) {\n var min = pagesCached,\n max = pages,\n fn = showElement;\n\n if (pagesCached > pages) {\n min = pages;\n max = pagesCached;\n fn = hideElement;\n }\n\n while (min < max) {\n fn(navItems[min]);\n min++;\n }\n\n // cache pages\n pagesCached = pages;\n }\n }\n\n function info (e) {\n return {\n container: container,\n slideItems: slideItems,\n navContainer: navContainer,\n navItems: navItems,\n controlsContainer: controlsContainer,\n hasControls: hasControls,\n prevButton: prevButton,\n nextButton: nextButton,\n items: items,\n slideBy: slideBy,\n cloneCount: cloneCount,\n slideCount: slideCount,\n slideCountNew: slideCountNew,\n index: index,\n indexCached: indexCached,\n displayIndex: getCurrentSlide(),\n navCurrentIndex: navCurrentIndex,\n navCurrentIndexCached: navCurrentIndexCached,\n pages: pages,\n pagesCached: pagesCached,\n sheet: sheet,\n isOn: isOn,\n event: e || {},\n };\n }\n\n return {\n version: '2.9.2',\n getInfo: info,\n events: events,\n goTo: goTo,\n play: play,\n pause: pause,\n isOn: isOn,\n updateSliderHeight: updateInnerWrapperHeight,\n refresh: initSliderTransform,\n destroy: destroy,\n rebuild: function() {\n return tns(extend(options, optionsElements));\n }\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\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","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var 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.github.io/ecma262/#sec-object.defineproperties\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","'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() {\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 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","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","// ChildNode.remove\nif(!(\"remove\" in Element.prototype)){\n Element.prototype.remove = function(){\n if(this.parentNode) {\n this.parentNode.removeChild(this);\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 (!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","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","'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', 'params', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\n var defaultToConfig2Keys = [\n 'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',\n 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath'\n ];\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\n if (utils.isObject(config2[prop])) {\n config[prop] = utils.deepMerge(config1[prop], config2[prop]);\n } else if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (utils.isObject(config1[prop])) {\n config[prop] = utils.deepMerge(config1[prop]);\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys);\n\n var otherKeys = Object\n .keys(config2)\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\n if (typeof config2[prop] !== 'undefined') {\n config[prop] = config2[prop];\n } else if (typeof config1[prop] !== 'undefined') {\n config[prop] = config1[prop];\n }\n });\n\n return config;\n};\n","/**\n * vee-validate v3.3.0\n * (c) 2020 Abdelrahman Awad\n * @license MIT\n */\n/**\r\n * Some Alpha Regex helpers.\r\n * https://github.com/chriso/validator.js/blob/master/src/lib/alpha.js\r\n */\r\n/* eslint-disable no-misleading-character-class */\r\nvar alpha = {\r\n en: /^[A-Z]*$/i,\r\n cs: /^[A-ZÃČĎÉĚÃŇÓŘŠŤÚŮÃŽ]*$/i,\r\n da: /^[A-ZÆØÅ]*$/i,\r\n de: /^[A-ZÄÖÜß]*$/i,\r\n es: /^[A-ZÃÉÃÑÓÚÜ]*$/i,\r\n fa: /^[ءآأؤإئابةتثجØخدذرزسشصضطظعغÙقكلمنهوىيًٌÙÙŽÙÙّْٰپژگچکی]*$/,\r\n fr: /^[A-ZÀÂÆÇÉÈÊËÃÎÔŒÙÛÜŸ]*$/i,\r\n it: /^[A-Z\\xC0-\\xFF]*$/i,\r\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ]*$/i,\r\n nl: /^[A-ZÉËÃÓÖÜ]*$/i,\r\n hu: /^[A-ZÃÉÃÓÖÅÚÜŰ]*$/i,\r\n pl: /^[A-ZĄĆĘŚÅŃÓŻŹ]*$/i,\r\n pt: /^[A-ZÃÃÀÂÇÉÊÃÕÓÔÚÜ]*$/i,\r\n ru: /^[Ð-ЯÐ]*$/i,\r\n sk: /^[A-ZÃÄČĎÉÃĹĽŇÓŔŠŤÚÃŽ]*$/i,\r\n sr: /^[A-ZČĆŽŠÄ]*$/i,\r\n sv: /^[A-ZÅÄÖ]*$/i,\r\n tr: /^[A-ZÇĞİıÖŞÜ]*$/i,\r\n uk: /^[Ð-ЩЬЮЯЄІЇÒ]*$/i,\r\n ar: /^[ءآأؤإئابةتثجØخدذرزسشصضطظعغÙقكلمنهوىيًٌÙÙŽÙÙّْٰ]*$/,\r\n az: /^[A-ZÇÆĞİıÖŞÜ]*$/i\r\n};\r\nvar alphaSpaces = {\r\n en: /^[A-Z\\s]*$/i,\r\n cs: /^[A-ZÃČĎÉĚÃŇÓŘŠŤÚŮÃŽ\\s]*$/i,\r\n da: /^[A-ZÆØÅ\\s]*$/i,\r\n de: /^[A-ZÄÖÜß\\s]*$/i,\r\n es: /^[A-ZÃÉÃÑÓÚÜ\\s]*$/i,\r\n fa: /^[ءآأؤإئابةتثجØخدذرزسشصضطظعغÙقكلمنهوىيًٌÙÙŽÙÙّْٰپژگچکی]*$/,\r\n fr: /^[A-ZÀÂÆÇÉÈÊËÃÎÔŒÙÛÜŸ\\s]*$/i,\r\n it: /^[A-Z\\xC0-\\xFF\\s]*$/i,\r\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ\\s]*$/i,\r\n nl: /^[A-ZÉËÃÓÖÜ\\s]*$/i,\r\n hu: /^[A-ZÃÉÃÓÖÅÚÜŰ\\s]*$/i,\r\n pl: /^[A-ZĄĆĘŚÅŃÓŻŹ\\s]*$/i,\r\n pt: /^[A-ZÃÃÀÂÇÉÊÃÕÓÔÚÜ\\s]*$/i,\r\n ru: /^[Ð-ЯÐ\\s]*$/i,\r\n sk: /^[A-ZÃÄČĎÉÃĹĽŇÓŔŠŤÚÃŽ\\s]*$/i,\r\n sr: /^[A-ZČĆŽŠÄ\\s]*$/i,\r\n sv: /^[A-ZÅÄÖ\\s]*$/i,\r\n tr: /^[A-ZÇĞİıÖŞÜ\\s]*$/i,\r\n uk: /^[Ð-ЩЬЮЯЄІЇÒ\\s]*$/i,\r\n ar: /^[ءآأؤإئابةتثجØخدذرزسشصضطظعغÙقكلمنهوىيًٌÙÙŽÙÙّْٰ\\s]*$/,\r\n az: /^[A-ZÇÆĞİıÖŞÜ\\s]*$/i\r\n};\r\nvar alphanumeric = {\r\n en: /^[0-9A-Z]*$/i,\r\n cs: /^[0-9A-ZÃČĎÉĚÃŇÓŘŠŤÚŮÃŽ]*$/i,\r\n da: /^[0-9A-ZÆØÅ]$/i,\r\n de: /^[0-9A-ZÄÖÜß]*$/i,\r\n es: /^[0-9A-ZÃÉÃÑÓÚÜ]*$/i,\r\n fa: /^[ءآأؤإئابةتثجØخدذرزسشصضطظعغÙقكلمنهوىيًٌÙÙŽÙÙّْٰپژگچکی]*$/,\r\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÃÎÔŒÙÛÜŸ]*$/i,\r\n it: /^[0-9A-Z\\xC0-\\xFF]*$/i,\r\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ]*$/i,\r\n hu: /^[0-9A-ZÃÉÃÓÖÅÚÜŰ]*$/i,\r\n nl: /^[0-9A-ZÉËÃÓÖÜ]*$/i,\r\n pl: /^[0-9A-ZĄĆĘŚÅŃÓŻŹ]*$/i,\r\n pt: /^[0-9A-ZÃÃÀÂÇÉÊÃÕÓÔÚÜ]*$/i,\r\n ru: /^[0-9Ð-ЯÐ]*$/i,\r\n sk: /^[0-9A-ZÃÄČĎÉÃĹĽŇÓŔŠŤÚÃŽ]*$/i,\r\n sr: /^[0-9A-ZČĆŽŠÄ]*$/i,\r\n sv: /^[0-9A-ZÅÄÖ]*$/i,\r\n tr: /^[0-9A-ZÇĞİıÖŞÜ]*$/i,\r\n uk: /^[0-9Ð-ЩЬЮЯЄІЇÒ]*$/i,\r\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجØخدذرزسشصضطظعغÙقكلمنهوىيًٌÙÙŽÙÙّْٰ]*$/,\r\n az: /^[0-9A-ZÇÆĞİıÖŞÜ]*$/i\r\n};\r\nvar alphaDash = {\r\n en: /^[0-9A-Z_-]*$/i,\r\n cs: /^[0-9A-ZÃČĎÉĚÃŇÓŘŠŤÚŮÃŽ_-]*$/i,\r\n da: /^[0-9A-ZÆØÅ_-]*$/i,\r\n de: /^[0-9A-ZÄÖÜß_-]*$/i,\r\n es: /^[0-9A-ZÃÉÃÑÓÚÜ_-]*$/i,\r\n fa: /^[ءآأؤإئابةتثجØخدذرزسشصضطظعغÙقكلمنهوىيًٌÙÙŽÙÙّْٰپژگچکی]*$/,\r\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÃÎÔŒÙÛÜŸ_-]*$/i,\r\n it: /^[0-9A-Z\\xC0-\\xFF_-]*$/i,\r\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ_-]*$/i,\r\n nl: /^[0-9A-ZÉËÃÓÖÜ_-]*$/i,\r\n hu: /^[0-9A-ZÃÉÃÓÖÅÚÜŰ_-]*$/i,\r\n pl: /^[0-9A-ZĄĆĘŚÅŃÓŻŹ_-]*$/i,\r\n pt: /^[0-9A-ZÃÃÀÂÇÉÊÃÕÓÔÚÜ_-]*$/i,\r\n ru: /^[0-9Ð-ЯÐ_-]*$/i,\r\n sk: /^[0-9A-ZÃÄČĎÉÃĹĽŇÓŔŠŤÚÃŽ_-]*$/i,\r\n sr: /^[0-9A-ZČĆŽŠÄ_-]*$/i,\r\n sv: /^[0-9A-ZÅÄÖ_-]*$/i,\r\n tr: /^[0-9A-ZÇĞİıÖŞÜ_-]*$/i,\r\n uk: /^[0-9Ð-ЩЬЮЯЄІЇÒ_-]*$/i,\r\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجØخدذرزسشصضطظعغÙقكلمنهوىيًٌÙÙŽÙÙّْٰ_-]*$/,\r\n az: /^[0-9A-ZÇÆĞİıÖŞÜ_-]*$/i\r\n};\n\nvar validate = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alpha).some(function (loc) { return alpha[loc].test(value); });\r\n }\r\n return (alpha[locale] || alpha.en).test(value);\r\n};\r\nvar params = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha$1 = {\r\n validate: validate,\r\n params: params\r\n};\n\nvar validate$1 = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$1(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphaDash).some(function (loc) { return alphaDash[loc].test(value); });\r\n }\r\n return (alphaDash[locale] || alphaDash.en).test(value);\r\n};\r\nvar params$1 = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_dash = {\r\n validate: validate$1,\r\n params: params$1\r\n};\n\nvar validate$2 = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$2(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphanumeric).some(function (loc) { return alphanumeric[loc].test(value); });\r\n }\r\n return (alphanumeric[locale] || alphanumeric.en).test(value);\r\n};\r\nvar params$2 = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_num = {\r\n validate: validate$2,\r\n params: params$2\r\n};\n\nvar validate$3 = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$3(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphaSpaces).some(function (loc) { return alphaSpaces[loc].test(value); });\r\n }\r\n return (alphaSpaces[locale] || alphaSpaces.en).test(value);\r\n};\r\nvar params$3 = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_spaces = {\r\n validate: validate$3,\r\n params: params$3\r\n};\n\nvar validate$4 = function (value, _a) {\r\n var _b = _a === void 0 ? {} : _a, min = _b.min, max = _b.max;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return !!validate$4(val, { min: min, max: max }); });\r\n }\r\n return Number(min) <= value && Number(max) >= value;\r\n};\r\nvar params$4 = [\r\n {\r\n name: 'min'\r\n },\r\n {\r\n name: 'max'\r\n }\r\n];\r\nvar between = {\r\n validate: validate$4,\r\n params: params$4\r\n};\n\nvar validate$5 = function (value, _a) {\r\n var target = _a.target;\r\n return String(value) === String(target);\r\n};\r\nvar params$5 = [\r\n {\r\n name: 'target',\r\n isTarget: true\r\n }\r\n];\r\nvar confirmed = {\r\n validate: validate$5,\r\n params: params$5\r\n};\n\nvar validate$6 = function (value, _a) {\r\n var length = _a.length;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$6(val, { length: length }); });\r\n }\r\n var strVal = String(value);\r\n return /^[0-9]*$/.test(strVal) && strVal.length === length;\r\n};\r\nvar params$6 = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar digits = {\r\n validate: validate$6,\r\n params: params$6\r\n};\n\nvar validateImage = function (file, width, height) {\r\n var URL = window.URL || window.webkitURL;\r\n return new Promise(function (resolve) {\r\n var image = new Image();\r\n image.onerror = function () { return resolve(false); };\r\n image.onload = function () { return resolve(image.width === width && image.height === height); };\r\n image.src = URL.createObjectURL(file);\r\n });\r\n};\r\nvar validate$7 = function (files, _a) {\r\n var width = _a.width, height = _a.height;\r\n var list = [];\r\n files = Array.isArray(files) ? files : [files];\r\n for (var i = 0; i < files.length; i++) {\r\n // if file is not an image, reject.\r\n if (!/\\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(files[i].name)) {\r\n return Promise.resolve(false);\r\n }\r\n list.push(files[i]);\r\n }\r\n return Promise.all(list.map(function (file) { return validateImage(file, width, height); })).then(function (values) {\r\n return values.every(function (v) { return v; });\r\n });\r\n};\r\nvar params$7 = [\r\n {\r\n name: 'width',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n },\r\n {\r\n name: 'height',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar dimensions = {\r\n validate: validate$7,\r\n params: params$7\r\n};\n\nvar validate$8 = function (value, _a) {\r\n var multiple = (_a === void 0 ? {} : _a).multiple;\r\n // eslint-disable-next-line\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n if (multiple && !Array.isArray(value)) {\r\n value = String(value)\r\n .split(',')\r\n .map(function (emailStr) { return emailStr.trim(); });\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return re.test(String(val)); });\r\n }\r\n return re.test(String(value));\r\n};\r\nvar params$8 = [\r\n {\r\n name: 'multiple',\r\n default: false\r\n }\r\n];\r\nvar email = {\r\n validate: validate$8,\r\n params: params$8\r\n};\n\nfunction isNullOrUndefined(value) {\r\n return value === null || value === undefined;\r\n}\r\nfunction isEmptyArray(arr) {\r\n return Array.isArray(arr) && arr.length === 0;\r\n}\r\nfunction isCallable(fn) {\r\n return typeof fn === 'function';\r\n}\n\nfunction includes(collection, item) {\r\n return collection.indexOf(item) !== -1;\r\n}\r\n/**\r\n * Converts an array-like object to array, provides a simple polyfill for Array.from\r\n */\r\nfunction toArray(arrayLike) {\r\n if (isCallable(Array.from)) {\r\n return Array.from(arrayLike);\r\n }\r\n /* istanbul ignore next */\r\n return _copyArray(arrayLike);\r\n}\r\n/* istanbul ignore next */\r\nfunction _copyArray(arrayLike) {\r\n var array = [];\r\n var length = arrayLike.length;\r\n for (var i = 0; i < length; i++) {\r\n array.push(arrayLike[i]);\r\n }\r\n return array;\r\n}\n\nvar validate$9 = function (value, options) {\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$9(val, options); });\r\n }\r\n return toArray(options).some(function (item) {\r\n // eslint-disable-next-line\r\n return item == value;\r\n });\r\n};\r\nvar oneOf = {\r\n validate: validate$9\r\n};\n\nvar validate$a = function (value, args) {\r\n return !validate$9(value, args);\r\n};\r\nvar excluded = {\r\n validate: validate$a\r\n};\n\nvar validate$b = function (files, extensions) {\r\n var regex = new RegExp(\".(\" + extensions.join('|') + \")$\", 'i');\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.name); });\r\n }\r\n return regex.test(files.name);\r\n};\r\nvar ext = {\r\n validate: validate$b\r\n};\n\nvar validate$c = function (files) {\r\n var regex = /\\.(jpg|svg|jpeg|png|bmp|gif)$/i;\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.name); });\r\n }\r\n return regex.test(files.name);\r\n};\r\nvar image = {\r\n validate: validate$c\r\n};\n\nvar validate$d = function (value) {\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return /^-?[0-9]+$/.test(String(val)); });\r\n }\r\n return /^-?[0-9]+$/.test(String(value));\r\n};\r\nvar integer = {\r\n validate: validate$d\r\n};\n\nvar validate$e = function (value, _a) {\r\n var other = _a.other;\r\n return value === other;\r\n};\r\nvar params$9 = [\r\n {\r\n name: 'other'\r\n }\r\n];\r\nvar is = {\r\n validate: validate$e,\r\n params: params$9\r\n};\n\nvar validate$f = function (value, _a) {\r\n var other = _a.other;\r\n return value !== other;\r\n};\r\nvar params$a = [\r\n {\r\n name: 'other'\r\n }\r\n];\r\nvar is_not = {\r\n validate: validate$f,\r\n params: params$a\r\n};\n\nvar validate$g = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return false;\r\n }\r\n if (typeof value === 'number') {\r\n value = String(value);\r\n }\r\n if (!value.length) {\r\n value = toArray(value);\r\n }\r\n return value.length === length;\r\n};\r\nvar params$b = [\r\n {\r\n name: 'length',\r\n cast: function (value) { return Number(value); }\r\n }\r\n];\r\nvar length = {\r\n validate: validate$g,\r\n params: params$b\r\n};\n\nvar validate$h = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return length >= 0;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$h(val, { length: length }); });\r\n }\r\n return String(value).length <= length;\r\n};\r\nvar params$c = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar max = {\r\n validate: validate$h,\r\n params: params$c\r\n};\n\nvar validate$i = function (value, _a) {\r\n var max = _a.max;\r\n if (isNullOrUndefined(value) || value === '') {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.length > 0 && value.every(function (val) { return validate$i(val, { max: max }); });\r\n }\r\n return Number(value) <= max;\r\n};\r\nvar params$d = [\r\n {\r\n name: 'max',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar max_value = {\r\n validate: validate$i,\r\n params: params$d\r\n};\n\nvar validate$j = function (files, mimes) {\r\n var regex = new RegExp(mimes.join('|').replace('*', '.+') + \"$\", 'i');\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.type); });\r\n }\r\n return regex.test(files.type);\r\n};\r\nvar mimes = {\r\n validate: validate$j\r\n};\n\nvar validate$k = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$k(val, { length: length }); });\r\n }\r\n return String(value).length >= length;\r\n};\r\nvar params$e = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar min = {\r\n validate: validate$k,\r\n params: params$e\r\n};\n\nvar validate$l = function (value, _a) {\r\n var min = _a.min;\r\n if (isNullOrUndefined(value) || value === '') {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.length > 0 && value.every(function (val) { return validate$l(val, { min: min }); });\r\n }\r\n return Number(value) >= min;\r\n};\r\nvar params$f = [\r\n {\r\n name: 'min',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar min_value = {\r\n validate: validate$l,\r\n params: params$f\r\n};\n\nvar ar = /^[٠١٢٣٤٥٦٧٨٩]+$/;\r\nvar en = /^[0-9]+$/;\r\nvar validate$m = function (value) {\r\n var testValue = function (val) {\r\n var strValue = String(val);\r\n return en.test(strValue) || ar.test(strValue);\r\n };\r\n if (Array.isArray(value)) {\r\n return value.every(testValue);\r\n }\r\n return testValue(value);\r\n};\r\nvar numeric = {\r\n validate: validate$m\r\n};\n\nvar validate$n = function (value, _a) {\r\n var regex = _a.regex;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$n(val, { regex: regex }); });\r\n }\r\n return regex.test(String(value));\r\n};\r\nvar params$g = [\r\n {\r\n name: 'regex',\r\n cast: function (value) {\r\n if (typeof value === 'string') {\r\n return new RegExp(value);\r\n }\r\n return value;\r\n }\r\n }\r\n];\r\nvar regex = {\r\n validate: validate$n,\r\n params: params$g\r\n};\n\nvar validate$o = function (value, _a) {\r\n var allowFalse = (_a === void 0 ? { allowFalse: true } : _a).allowFalse;\r\n var result = {\r\n valid: false,\r\n required: true\r\n };\r\n if (isNullOrUndefined(value) || isEmptyArray(value)) {\r\n return result;\r\n }\r\n // incase a field considers `false` as an empty value like checkboxes.\r\n if (value === false && !allowFalse) {\r\n return result;\r\n }\r\n result.valid = !!String(value).trim().length;\r\n return result;\r\n};\r\nvar computesRequired = true;\r\nvar params$h = [\r\n {\r\n name: 'allowFalse',\r\n default: true\r\n }\r\n];\r\nvar required = {\r\n validate: validate$o,\r\n params: params$h,\r\n computesRequired: computesRequired\r\n};\n\nvar testEmpty = function (value) {\r\n return isEmptyArray(value) || includes([false, null, undefined], value) || !String(value).trim().length;\r\n};\r\nvar validate$p = function (value, _a) {\r\n var target = _a.target, values = _a.values;\r\n var required;\r\n if (values && values.length) {\r\n if (!Array.isArray(values) && typeof values === 'string') {\r\n values = [values];\r\n }\r\n // eslint-disable-next-line\r\n required = values.some(function (val) { return val == String(target).trim(); });\r\n }\r\n else {\r\n required = !testEmpty(target);\r\n }\r\n if (!required) {\r\n return {\r\n valid: true,\r\n required: required\r\n };\r\n }\r\n return {\r\n valid: !testEmpty(value),\r\n required: required\r\n };\r\n};\r\nvar params$i = [\r\n {\r\n name: 'target',\r\n isTarget: true\r\n },\r\n {\r\n name: 'values'\r\n }\r\n];\r\nvar computesRequired$1 = true;\r\nvar required_if = {\r\n validate: validate$p,\r\n params: params$i,\r\n computesRequired: computesRequired$1\r\n};\n\nvar validate$q = function (files, _a) {\r\n var size = _a.size;\r\n if (isNaN(size)) {\r\n return false;\r\n }\r\n var nSize = size * 1024;\r\n if (!Array.isArray(files)) {\r\n return files.size <= nSize;\r\n }\r\n for (var i = 0; i < files.length; i++) {\r\n if (files[i].size > nSize) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\nvar params$j = [\r\n {\r\n name: 'size',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar size = {\r\n validate: validate$q,\r\n params: params$j\r\n};\n\nexport { alpha$1 as alpha, alpha_dash, alpha_num, alpha_spaces, between, confirmed, digits, dimensions, email, excluded, ext, image, integer, is, is_not, length, max, max_value, mimes, min, min_value, numeric, oneOf, regex, required, required_if, size };\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\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","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.4',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\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","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar 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\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(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 no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\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} : nativeAssign;\n","// Object.keys\nif (!Object.keys) {\n Object.keys = function(object) {\n var keys = [];\n for (var name in object) {\n if (Object.prototype.hasOwnProperty.call(object, name)) {\n keys.push(name);\n }\n }\n return keys;\n };\n}","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","exports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\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 $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModile = require('../internals/object-define-property');\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperty: objectDefinePropertyModile.f\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","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","/**\n * vee-validate v3.3.0\n * (c) 2020 Abdelrahman Awad\n * @license MIT\n */\nimport Vue from 'vue';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\n\nfunction isNaN(value) {\r\n // NaN is the one value that does not equal itself.\r\n // eslint-disable-next-line\r\n return value !== value;\r\n}\r\nfunction isNullOrUndefined(value) {\r\n return value === null || value === undefined;\r\n}\r\nfunction isEmptyArray(arr) {\r\n return Array.isArray(arr) && arr.length === 0;\r\n}\r\nvar isObject = function (obj) {\r\n return obj !== null && obj && typeof obj === 'object' && !Array.isArray(obj);\r\n};\r\n/**\r\n * Shallow object comparison.\r\n */\r\nfunction isEqual(lhs, rhs) {\r\n if (lhs instanceof RegExp && rhs instanceof RegExp) {\r\n return isEqual(lhs.source, rhs.source) && isEqual(lhs.flags, rhs.flags);\r\n }\r\n if (Array.isArray(lhs) && Array.isArray(rhs)) {\r\n if (lhs.length !== rhs.length)\r\n return false;\r\n for (var i = 0; i < lhs.length; i++) {\r\n if (!isEqual(lhs[i], rhs[i])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n // if both are objects, compare each key recursively.\r\n if (isObject(lhs) && isObject(rhs)) {\r\n return (Object.keys(lhs).every(function (key) {\r\n return isEqual(lhs[key], rhs[key]);\r\n }) &&\r\n Object.keys(rhs).every(function (key) {\r\n return isEqual(lhs[key], rhs[key]);\r\n }));\r\n }\r\n if (isNaN(lhs) && isNaN(rhs)) {\r\n return true;\r\n }\r\n return lhs === rhs;\r\n}\r\n// Checks if a given value is not an empty string or null or undefined.\r\nfunction isSpecified(val) {\r\n if (val === '') {\r\n return false;\r\n }\r\n return !isNullOrUndefined(val);\r\n}\r\nfunction isCallable(fn) {\r\n return typeof fn === 'function';\r\n}\r\nfunction isLocator(value) {\r\n return isCallable(value) && !!value.__locatorRef;\r\n}\n\nfunction findIndex(arrayLike, predicate) {\r\n var array = Array.isArray(arrayLike) ? arrayLike : toArray(arrayLike);\r\n if (isCallable(array.findIndex)) {\r\n return array.findIndex(predicate);\r\n }\r\n /* istanbul ignore next */\r\n for (var i = 0; i < array.length; i++) {\r\n if (predicate(array[i], i)) {\r\n return i;\r\n }\r\n }\r\n /* istanbul ignore next */\r\n return -1;\r\n}\r\n/**\r\n * finds the first element that satisfies the predicate callback, polyfills array.find\r\n */\r\nfunction find(arrayLike, predicate) {\r\n var array = Array.isArray(arrayLike) ? arrayLike : toArray(arrayLike);\r\n var idx = findIndex(array, predicate);\r\n return idx === -1 ? undefined : array[idx];\r\n}\r\nfunction includes(collection, item) {\r\n return collection.indexOf(item) !== -1;\r\n}\r\n/**\r\n * Converts an array-like object to array, provides a simple polyfill for Array.from\r\n */\r\nfunction toArray(arrayLike) {\r\n if (isCallable(Array.from)) {\r\n return Array.from(arrayLike);\r\n }\r\n /* istanbul ignore next */\r\n return _copyArray(arrayLike);\r\n}\r\n/* istanbul ignore next */\r\nfunction _copyArray(arrayLike) {\r\n var array = [];\r\n var length = arrayLike.length;\r\n for (var i = 0; i < length; i++) {\r\n array.push(arrayLike[i]);\r\n }\r\n return array;\r\n}\r\nfunction values(obj) {\r\n if (isCallable(Object.values)) {\r\n return Object.values(obj);\r\n }\r\n // fallback to keys()\r\n /* istanbul ignore next */\r\n return Object.keys(obj).map(function (k) { return obj[k]; });\r\n}\r\nfunction merge(target, source) {\r\n Object.keys(source).forEach(function (key) {\r\n if (isObject(source[key])) {\r\n if (!target[key]) {\r\n target[key] = {};\r\n }\r\n merge(target[key], source[key]);\r\n return;\r\n }\r\n target[key] = source[key];\r\n });\r\n return target;\r\n}\n\nfunction createFlags() {\r\n return {\r\n untouched: true,\r\n touched: false,\r\n dirty: false,\r\n pristine: true,\r\n valid: false,\r\n invalid: false,\r\n validated: false,\r\n pending: false,\r\n required: false,\r\n changed: false,\r\n passed: false,\r\n failed: false\r\n };\r\n}\n\nfunction identity(x) {\r\n return x;\r\n}\r\nfunction debounce(fn, wait, token) {\r\n if (wait === void 0) { wait = 0; }\r\n if (token === void 0) { token = { cancelled: false }; }\r\n if (wait === 0) {\r\n return fn;\r\n }\r\n var timeout;\r\n return function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var later = function () {\r\n timeout = undefined;\r\n // check if the fn call was cancelled.\r\n if (!token.cancelled)\r\n fn.apply(void 0, args);\r\n };\r\n // because we might want to use Node.js setTimout for SSR.\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n };\r\n}\n\n/**\r\n * Emits a warning to the console\r\n */\r\nfunction warn(message) {\r\n console.warn(\"[vee-validate] \" + message);\r\n}\r\n/**\r\n * Replaces placeholder values in a string with their actual values\r\n */\r\nfunction interpolate(template, values) {\r\n return template.replace(/{([^}]+)}/g, function (_, p) {\r\n return p in values ? values[p] : \"{\" + p + \"}\";\r\n });\r\n}\n\nvar RULES = {};\r\nfunction normalizeSchema(schema) {\r\n var _a;\r\n if ((_a = schema.params) === null || _a === void 0 ? void 0 : _a.length) {\r\n schema.params = schema.params.map(function (param) {\r\n if (typeof param === 'string') {\r\n return { name: param };\r\n }\r\n return param;\r\n });\r\n }\r\n return schema;\r\n}\r\nvar RuleContainer = /** @class */ (function () {\r\n function RuleContainer() {\r\n }\r\n RuleContainer.extend = function (name, schema) {\r\n // if rule already exists, overwrite it.\r\n var rule = normalizeSchema(schema);\r\n if (RULES[name]) {\r\n RULES[name] = merge(RULES[name], schema);\r\n return;\r\n }\r\n RULES[name] = __assign({ lazy: false, computesRequired: false }, rule);\r\n };\r\n RuleContainer.isLazy = function (name) {\r\n var _a;\r\n return !!((_a = RULES[name]) === null || _a === void 0 ? void 0 : _a.lazy);\r\n };\r\n RuleContainer.isRequireRule = function (name) {\r\n var _a;\r\n return !!((_a = RULES[name]) === null || _a === void 0 ? void 0 : _a.computesRequired);\r\n };\r\n RuleContainer.getRuleDefinition = function (ruleName) {\r\n return RULES[ruleName];\r\n };\r\n return RuleContainer;\r\n}());\r\n/**\r\n * Adds a custom validator to the list of validation rules.\r\n */\r\nfunction extend(name, schema) {\r\n // makes sure new rules are properly formatted.\r\n guardExtend(name, schema);\r\n // Full schema object.\r\n if (typeof schema === 'object') {\r\n RuleContainer.extend(name, schema);\r\n return;\r\n }\r\n RuleContainer.extend(name, {\r\n validate: schema\r\n });\r\n}\r\n/**\r\n * Guards from extension violations.\r\n */\r\nfunction guardExtend(name, validator) {\r\n if (isCallable(validator)) {\r\n return;\r\n }\r\n if (isCallable(validator.validate)) {\r\n return;\r\n }\r\n if (RuleContainer.getRuleDefinition(name)) {\r\n return;\r\n }\r\n throw new Error(\"Extension Error: The validator '\" + name + \"' must be a function or have a 'validate' method.\");\r\n}\n\nvar DEFAULT_CONFIG = {\r\n defaultMessage: \"{_field_} is not valid.\",\r\n skipOptional: true,\r\n classes: {\r\n touched: 'touched',\r\n untouched: 'untouched',\r\n valid: 'valid',\r\n invalid: 'invalid',\r\n pristine: 'pristine',\r\n dirty: 'dirty' // control has been interacted with\r\n },\r\n bails: true,\r\n mode: 'aggressive',\r\n useConstraintAttrs: true\r\n};\r\nvar currentConfig = __assign({}, DEFAULT_CONFIG);\r\nvar getConfig = function () { return currentConfig; };\r\nvar setConfig = function (newConf) {\r\n currentConfig = __assign(__assign({}, currentConfig), newConf);\r\n};\r\nvar configure = function (cfg) {\r\n setConfig(cfg);\r\n};\n\n/**\r\n * Normalizes the given rules expression.\r\n */\r\nfunction normalizeRules(rules) {\r\n // if falsy value return an empty object.\r\n var acc = {};\r\n Object.defineProperty(acc, '_$$isNormalized', {\r\n value: true,\r\n writable: false,\r\n enumerable: false,\r\n configurable: false\r\n });\r\n if (!rules) {\r\n return acc;\r\n }\r\n // Object is already normalized, skip.\r\n if (isObject(rules) && rules._$$isNormalized) {\r\n return rules;\r\n }\r\n if (isObject(rules)) {\r\n return Object.keys(rules).reduce(function (prev, curr) {\r\n var params = [];\r\n var preserveArrayParams = false;\r\n if (rules[curr] === true) {\r\n params = [];\r\n }\r\n else if (Array.isArray(rules[curr])) {\r\n params = rules[curr];\r\n preserveArrayParams = true;\r\n }\r\n else if (isObject(rules[curr])) {\r\n params = rules[curr];\r\n }\r\n else {\r\n params = [rules[curr]];\r\n }\r\n if (rules[curr] !== false) {\r\n prev[curr] = buildParams(curr, params, preserveArrayParams);\r\n }\r\n return prev;\r\n }, acc);\r\n }\r\n /* istanbul ignore if */\r\n if (typeof rules !== 'string') {\r\n warn('rules must be either a string or an object.');\r\n return acc;\r\n }\r\n return rules.split('|').reduce(function (prev, rule) {\r\n var parsedRule = parseRule(rule);\r\n if (!parsedRule.name) {\r\n return prev;\r\n }\r\n prev[parsedRule.name] = buildParams(parsedRule.name, parsedRule.params);\r\n return prev;\r\n }, acc);\r\n}\r\nfunction buildParams(ruleName, provided, preserveArrayParams) {\r\n if (preserveArrayParams === void 0) { preserveArrayParams = false; }\r\n var ruleSchema = RuleContainer.getRuleDefinition(ruleName);\r\n if (!ruleSchema) {\r\n return provided;\r\n }\r\n var params = {};\r\n if (!ruleSchema.params && !Array.isArray(provided)) {\r\n throw new Error('You provided an object params to a rule that has no defined schema.');\r\n }\r\n // Rule probably uses an array for their args, keep it as is.\r\n if (Array.isArray(provided) && !ruleSchema.params) {\r\n return provided;\r\n }\r\n var definedParams;\r\n // collect the params schema.\r\n if (!ruleSchema.params || (ruleSchema.params.length < provided.length && Array.isArray(provided))) {\r\n var lastDefinedParam_1;\r\n // collect any additional parameters in the last item.\r\n definedParams = provided.map(function (_, idx) {\r\n var _a;\r\n var param = (_a = ruleSchema.params) === null || _a === void 0 ? void 0 : _a[idx];\r\n lastDefinedParam_1 = param || lastDefinedParam_1;\r\n if (!param) {\r\n param = lastDefinedParam_1;\r\n }\r\n return param;\r\n });\r\n }\r\n else {\r\n definedParams = ruleSchema.params;\r\n }\r\n // Match the provided array length with a temporary schema.\r\n for (var i = 0; i < definedParams.length; i++) {\r\n var options = definedParams[i];\r\n var value = options.default;\r\n // if the provided is an array, map element value.\r\n if (Array.isArray(provided) && !preserveArrayParams) {\r\n if (i in provided) {\r\n value = provided[i];\r\n }\r\n }\r\n else {\r\n // If the param exists in the provided object.\r\n if (options.name in provided) {\r\n value = provided[options.name];\r\n // if the provided is the first param value.\r\n }\r\n else if (definedParams.length === 1) {\r\n value = provided;\r\n }\r\n }\r\n // if the param is a target, resolve the target value.\r\n if (options.isTarget) {\r\n value = createLocator(value, options.cast);\r\n }\r\n // A target param using interpolation\r\n if (typeof value === 'string' && value[0] === '@') {\r\n value = createLocator(value.slice(1), options.cast);\r\n }\r\n // If there is a transformer defined.\r\n if (!isLocator(value) && options.cast) {\r\n value = options.cast(value);\r\n }\r\n // already been set, probably multiple values.\r\n if (params[options.name]) {\r\n params[options.name] = Array.isArray(params[options.name]) ? params[options.name] : [params[options.name]];\r\n params[options.name].push(value);\r\n }\r\n else {\r\n // set the value.\r\n params[options.name] = value;\r\n }\r\n }\r\n return params;\r\n}\r\n/**\r\n * Parses a rule string expression.\r\n */\r\nvar parseRule = function (rule) {\r\n var params = [];\r\n var name = rule.split(':')[0];\r\n if (includes(rule, ':')) {\r\n params = rule\r\n .split(':')\r\n .slice(1)\r\n .join(':')\r\n .split(',');\r\n }\r\n return { name: name, params: params };\r\n};\r\nfunction createLocator(value, castFn) {\r\n var locator = function (crossTable) {\r\n var val = crossTable[value];\r\n return castFn ? castFn(val) : val;\r\n };\r\n locator.__locatorRef = value;\r\n return locator;\r\n}\r\nfunction extractLocators(params) {\r\n if (Array.isArray(params)) {\r\n return params.filter(isLocator);\r\n }\r\n return Object.keys(params)\r\n .filter(function (key) { return isLocator(params[key]); })\r\n .map(function (key) { return params[key]; });\r\n}\n\n/**\r\n * Validates a value against the rules.\r\n */\r\nfunction validate(value, rules, options) {\r\n if (options === void 0) { options = {}; }\r\n return __awaiter(this, void 0, void 0, function () {\r\n var shouldBail, skipIfEmpty, field, result, errors, failedRules, regenerateMap;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n shouldBail = options === null || options === void 0 ? void 0 : options.bails;\r\n skipIfEmpty = options === null || options === void 0 ? void 0 : options.skipIfEmpty;\r\n field = {\r\n name: (options === null || options === void 0 ? void 0 : options.name) || '{field}',\r\n rules: normalizeRules(rules),\r\n bails: shouldBail !== null && shouldBail !== void 0 ? shouldBail : true,\r\n skipIfEmpty: skipIfEmpty !== null && skipIfEmpty !== void 0 ? skipIfEmpty : true,\r\n forceRequired: false,\r\n crossTable: (options === null || options === void 0 ? void 0 : options.values) || {},\r\n names: (options === null || options === void 0 ? void 0 : options.names) || {},\r\n customMessages: (options === null || options === void 0 ? void 0 : options.customMessages) || {}\r\n };\r\n return [4 /*yield*/, _validate(field, value, options)];\r\n case 1:\r\n result = _a.sent();\r\n errors = [];\r\n failedRules = {};\r\n regenerateMap = {};\r\n result.errors.forEach(function (e) {\r\n var msg = e.msg();\r\n errors.push(msg);\r\n failedRules[e.rule] = msg;\r\n regenerateMap[e.rule] = e.msg;\r\n });\r\n return [2 /*return*/, {\r\n valid: result.valid,\r\n errors: errors,\r\n failedRules: failedRules,\r\n regenerateMap: regenerateMap\r\n }];\r\n }\r\n });\r\n });\r\n}\r\n/**\r\n * Starts the validation process.\r\n */\r\nfunction _validate(field, value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).isInitial, isInitial = _b === void 0 ? false : _b;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _c, shouldSkip, errors, rules, length, i, rule, result;\r\n return __generator(this, function (_d) {\r\n switch (_d.label) {\r\n case 0: return [4 /*yield*/, _shouldSkip(field, value)];\r\n case 1:\r\n _c = _d.sent(), shouldSkip = _c.shouldSkip, errors = _c.errors;\r\n if (shouldSkip) {\r\n return [2 /*return*/, {\r\n valid: !errors.length,\r\n errors: errors\r\n }];\r\n }\r\n rules = Object.keys(field.rules).filter(function (rule) { return !RuleContainer.isRequireRule(rule); });\r\n length = rules.length;\r\n i = 0;\r\n _d.label = 2;\r\n case 2:\r\n if (!(i < length)) return [3 /*break*/, 5];\r\n if (isInitial && RuleContainer.isLazy(rules[i])) {\r\n return [3 /*break*/, 4];\r\n }\r\n rule = rules[i];\r\n return [4 /*yield*/, _test(field, value, {\r\n name: rule,\r\n params: field.rules[rule]\r\n })];\r\n case 3:\r\n result = _d.sent();\r\n if (!result.valid && result.error) {\r\n errors.push(result.error);\r\n if (field.bails) {\r\n return [2 /*return*/, {\r\n valid: false,\r\n errors: errors\r\n }];\r\n }\r\n }\r\n _d.label = 4;\r\n case 4:\r\n i++;\r\n return [3 /*break*/, 2];\r\n case 5: return [2 /*return*/, {\r\n valid: !errors.length,\r\n errors: errors\r\n }];\r\n }\r\n });\r\n });\r\n}\r\nfunction _shouldSkip(field, value) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var requireRules, length, errors, isEmpty, isEmptyAndOptional, isRequired, i, rule, result;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n requireRules = Object.keys(field.rules).filter(RuleContainer.isRequireRule);\r\n length = requireRules.length;\r\n errors = [];\r\n isEmpty = isNullOrUndefined(value) || value === '' || isEmptyArray(value);\r\n isEmptyAndOptional = isEmpty && field.skipIfEmpty;\r\n isRequired = false;\r\n i = 0;\r\n _a.label = 1;\r\n case 1:\r\n if (!(i < length)) return [3 /*break*/, 4];\r\n rule = requireRules[i];\r\n return [4 /*yield*/, _test(field, value, {\r\n name: rule,\r\n params: field.rules[rule]\r\n })];\r\n case 2:\r\n result = _a.sent();\r\n if (!isObject(result)) {\r\n throw new Error('Require rules has to return an object (see docs)');\r\n }\r\n if (result.required) {\r\n isRequired = true;\r\n }\r\n if (!result.valid && result.error) {\r\n errors.push(result.error);\r\n // Exit early as the field is required and failed validation.\r\n if (field.bails) {\r\n return [2 /*return*/, {\r\n shouldSkip: true,\r\n errors: errors\r\n }];\r\n }\r\n }\r\n _a.label = 3;\r\n case 3:\r\n i++;\r\n return [3 /*break*/, 1];\r\n case 4:\r\n if (isEmpty && !isRequired && !field.skipIfEmpty) {\r\n return [2 /*return*/, {\r\n shouldSkip: false,\r\n errors: errors\r\n }];\r\n }\r\n // field is configured to run through the pipeline regardless\r\n if (!field.bails && !isEmptyAndOptional) {\r\n return [2 /*return*/, {\r\n shouldSkip: false,\r\n errors: errors\r\n }];\r\n }\r\n // skip if the field is not required and has an empty value.\r\n return [2 /*return*/, {\r\n shouldSkip: !isRequired && isEmpty,\r\n errors: errors\r\n }];\r\n }\r\n });\r\n });\r\n}\r\n/**\r\n * Tests a single input value against a rule.\r\n */\r\nfunction _test(field, value, rule) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var ruleSchema, normalizedValue, params, result, values_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n ruleSchema = RuleContainer.getRuleDefinition(rule.name);\r\n if (!ruleSchema || !ruleSchema.validate) {\r\n throw new Error(\"No such validator '\" + rule.name + \"' exists.\");\r\n }\r\n normalizedValue = ruleSchema.castValue ? ruleSchema.castValue(value) : value;\r\n params = fillTargetValues(rule.params, field.crossTable);\r\n return [4 /*yield*/, ruleSchema.validate(normalizedValue, params)];\r\n case 1:\r\n result = _a.sent();\r\n if (typeof result === 'string') {\r\n values_1 = __assign(__assign({}, (params || {})), { _field_: field.name, _value_: value, _rule_: rule.name });\r\n return [2 /*return*/, {\r\n valid: false,\r\n error: { rule: rule.name, msg: function () { return interpolate(result, values_1); } }\r\n }];\r\n }\r\n if (!isObject(result)) {\r\n result = { valid: result };\r\n }\r\n return [2 /*return*/, {\r\n valid: result.valid,\r\n required: result.required,\r\n error: result.valid ? undefined : _generateFieldError(field, value, ruleSchema, rule.name, params)\r\n }];\r\n }\r\n });\r\n });\r\n}\r\n/**\r\n * Generates error messages.\r\n */\r\nfunction _generateFieldError(field, value, ruleSchema, ruleName, params) {\r\n var _a;\r\n var message = (_a = field.customMessages[ruleName]) !== null && _a !== void 0 ? _a : ruleSchema.message;\r\n var ruleTargets = _getRuleTargets(field, ruleSchema, ruleName);\r\n var _b = _getUserTargets(field, ruleSchema, ruleName, message), userTargets = _b.userTargets, userMessage = _b.userMessage;\r\n var values = __assign(__assign(__assign(__assign({}, (params || {})), { _field_: field.name, _value_: value, _rule_: ruleName }), ruleTargets), userTargets);\r\n return {\r\n msg: function () { return _normalizeMessage(userMessage || getConfig().defaultMessage, field.name, values); },\r\n rule: ruleName\r\n };\r\n}\r\nfunction _getRuleTargets(field, ruleSchema, ruleName) {\r\n var params = ruleSchema.params;\r\n if (!params) {\r\n return {};\r\n }\r\n var numTargets = params.filter(function (param) { return param.isTarget; }).length;\r\n if (numTargets <= 0) {\r\n return {};\r\n }\r\n var names = {};\r\n var ruleConfig = field.rules[ruleName];\r\n if (!Array.isArray(ruleConfig) && isObject(ruleConfig)) {\r\n ruleConfig = params.map(function (param) {\r\n return ruleConfig[param.name];\r\n });\r\n }\r\n for (var index = 0; index < params.length; index++) {\r\n var param = params[index];\r\n var key = ruleConfig[index];\r\n if (!isLocator(key)) {\r\n continue;\r\n }\r\n key = key.__locatorRef;\r\n var name_1 = field.names[key] || key;\r\n names[param.name] = name_1;\r\n names[\"_\" + param.name + \"_\"] = field.crossTable[key];\r\n }\r\n return names;\r\n}\r\nfunction _getUserTargets(field, ruleSchema, ruleName, userMessage) {\r\n var userTargets = {};\r\n var rules = field.rules[ruleName];\r\n var params = ruleSchema.params || [];\r\n // early return if no rules\r\n if (!rules) {\r\n return {};\r\n }\r\n // check all rules to convert targets\r\n Object.keys(rules).forEach(function (key, index) {\r\n // get the rule\r\n var rule = rules[key];\r\n if (!isLocator(rule)) {\r\n return {};\r\n }\r\n // get associated parameter\r\n var param = params[index];\r\n if (!param) {\r\n return {};\r\n }\r\n // grab the name of the target\r\n var name = rule.__locatorRef;\r\n userTargets[param.name] = field.names[name] || name;\r\n userTargets[\"_\" + param.name + \"_\"] = field.crossTable[name];\r\n });\r\n return {\r\n userTargets: userTargets,\r\n userMessage: userMessage\r\n };\r\n}\r\nfunction _normalizeMessage(template, field, values) {\r\n if (typeof template === 'function') {\r\n return template(field, values);\r\n }\r\n return interpolate(template, __assign(__assign({}, values), { _field_: field }));\r\n}\r\nfunction fillTargetValues(params, crossTable) {\r\n if (Array.isArray(params)) {\r\n return params;\r\n }\r\n var values = {};\r\n var normalize = function (value) {\r\n if (isLocator(value)) {\r\n return value(crossTable);\r\n }\r\n return value;\r\n };\r\n Object.keys(params).forEach(function (param) {\r\n values[param] = normalize(params[param]);\r\n });\r\n return values;\r\n}\n\nvar aggressive = function () { return ({\r\n on: ['input', 'blur']\r\n}); };\r\nvar lazy = function () { return ({\r\n on: ['change']\r\n}); };\r\nvar eager = function (_a) {\r\n var errors = _a.errors;\r\n if (errors.length) {\r\n return {\r\n on: ['input', 'change']\r\n };\r\n }\r\n return {\r\n on: ['change', 'blur']\r\n };\r\n};\r\nvar passive = function () { return ({\r\n on: []\r\n}); };\r\nvar modes = {\r\n aggressive: aggressive,\r\n eager: eager,\r\n passive: passive,\r\n lazy: lazy\r\n};\r\nvar setInteractionMode = function (mode, implementation) {\r\n setConfig({ mode: mode });\r\n if (!implementation) {\r\n return;\r\n }\r\n if (!isCallable(implementation)) {\r\n throw new Error('A mode implementation must be a function');\r\n }\r\n modes[mode] = implementation;\r\n};\n\nvar EVENT_BUS = new Vue();\r\nfunction localeChanged() {\r\n EVENT_BUS.$emit('change:locale');\r\n}\n\nvar Dictionary = /** @class */ (function () {\r\n function Dictionary(locale, dictionary) {\r\n this.container = {};\r\n this.locale = locale;\r\n this.merge(dictionary);\r\n }\r\n Dictionary.prototype.resolve = function (field, rule, values) {\r\n return this.format(this.locale, field, rule, values);\r\n };\r\n Dictionary.prototype.format = function (locale, field, rule, values) {\r\n var _a, _b, _c, _d, _e, _f, _g, _h;\r\n var message;\r\n // find if specific message for that field was specified.\r\n message = ((_c = (_b = (_a = this.container[locale]) === null || _a === void 0 ? void 0 : _a.fields) === null || _b === void 0 ? void 0 : _b[field]) === null || _c === void 0 ? void 0 : _c[rule]) || ((_e = (_d = this.container[locale]) === null || _d === void 0 ? void 0 : _d.messages) === null || _e === void 0 ? void 0 : _e[rule]);\r\n if (!message) {\r\n message = '{_field_} is not valid';\r\n }\r\n field = (_h = (_g = (_f = this.container[locale]) === null || _f === void 0 ? void 0 : _f.names) === null || _g === void 0 ? void 0 : _g[field]) !== null && _h !== void 0 ? _h : field;\r\n return isCallable(message) ? message(field, values) : interpolate(message, __assign(__assign({}, values), { _field_: field }));\r\n };\r\n Dictionary.prototype.merge = function (dictionary) {\r\n merge(this.container, dictionary);\r\n };\r\n Dictionary.prototype.hasRule = function (name) {\r\n var _a, _b;\r\n return !!((_b = (_a = this.container[this.locale]) === null || _a === void 0 ? void 0 : _a.messages) === null || _b === void 0 ? void 0 : _b[name]);\r\n };\r\n return Dictionary;\r\n}());\r\nvar DICTIONARY;\r\nfunction localize(locale, dictionary) {\r\n var _a;\r\n if (!DICTIONARY) {\r\n DICTIONARY = new Dictionary('en', {});\r\n setConfig({\r\n defaultMessage: function (field, values) {\r\n return DICTIONARY.resolve(field, values === null || values === void 0 ? void 0 : values._rule_, values || {});\r\n }\r\n });\r\n }\r\n if (typeof locale === 'string') {\r\n DICTIONARY.locale = locale;\r\n if (dictionary) {\r\n DICTIONARY.merge((_a = {}, _a[locale] = dictionary, _a));\r\n }\r\n localeChanged();\r\n return;\r\n }\r\n DICTIONARY.merge(locale);\r\n}\n\nvar isEvent = function (evt) {\r\n if (!evt) {\r\n return false;\r\n }\r\n if (typeof Event !== 'undefined' && isCallable(Event) && evt instanceof Event) {\r\n return true;\r\n }\r\n // this is for IE\r\n /* istanbul ignore next */\r\n if (evt && evt.srcElement) {\r\n return true;\r\n }\r\n return false;\r\n};\r\nfunction normalizeEventValue(value) {\r\n var _a, _b;\r\n if (!isEvent(value)) {\r\n return value;\r\n }\r\n var input = value.target;\r\n if (input.type === 'file' && input.files) {\r\n return toArray(input.files);\r\n }\r\n // If the input has a `v-model.number` modifier applied.\r\n if ((_a = input._vModifiers) === null || _a === void 0 ? void 0 : _a.number) {\r\n // as per the spec the v-model.number uses parseFloat\r\n var valueAsNumber = parseFloat(input.value);\r\n if (isNaN(valueAsNumber)) {\r\n return input.value;\r\n }\r\n return valueAsNumber;\r\n }\r\n if ((_b = input._vModifiers) === null || _b === void 0 ? void 0 : _b.trim) {\r\n var trimmedValue = typeof input.value === 'string' ? input.value.trim() : input.value;\r\n return trimmedValue;\r\n }\r\n return input.value;\r\n}\n\nvar isTextInput = function (vnode) {\r\n var _a;\r\n var attrs = ((_a = vnode.data) === null || _a === void 0 ? void 0 : _a.attrs) || vnode.elm;\r\n // it will fallback to being a text input per browsers spec.\r\n if (vnode.tag === 'input' && (!attrs || !attrs.type)) {\r\n return true;\r\n }\r\n if (vnode.tag === 'textarea') {\r\n return true;\r\n }\r\n return includes(['text', 'password', 'search', 'email', 'tel', 'url', 'number'], attrs === null || attrs === void 0 ? void 0 : attrs.type);\r\n};\r\n// export const isCheckboxOrRadioInput = (vnode: VNode): boolean => {\r\n// const attrs = (vnode.data && vnode.data.attrs) || vnode.elm;\r\n// return includes(['radio', 'checkbox'], attrs && attrs.type);\r\n// };\r\n// Gets the model object on the vnode.\r\nfunction findModel(vnode) {\r\n if (!vnode.data) {\r\n return undefined;\r\n }\r\n // Component Model\r\n // THIS IS NOT TYPED IN OFFICIAL VUE TYPINGS\r\n // eslint-disable-next-line\r\n var nonStandardVNodeData = vnode.data;\r\n if ('model' in nonStandardVNodeData) {\r\n return nonStandardVNodeData.model;\r\n }\r\n if (!vnode.data.directives) {\r\n return undefined;\r\n }\r\n return find(vnode.data.directives, function (d) { return d.name === 'model'; });\r\n}\r\nfunction findValue(vnode) {\r\n var _a, _b;\r\n var model = findModel(vnode);\r\n if (model) {\r\n return { value: model.value };\r\n }\r\n var config = findModelConfig(vnode);\r\n var prop = (config === null || config === void 0 ? void 0 : config.prop) || 'value';\r\n if (((_a = vnode.componentOptions) === null || _a === void 0 ? void 0 : _a.propsData) && prop in vnode.componentOptions.propsData) {\r\n var propsDataWithValue = vnode.componentOptions.propsData;\r\n return { value: propsDataWithValue[prop] };\r\n }\r\n if (((_b = vnode.data) === null || _b === void 0 ? void 0 : _b.domProps) && 'value' in vnode.data.domProps) {\r\n return { value: vnode.data.domProps.value };\r\n }\r\n return undefined;\r\n}\r\nfunction extractChildren(vnode) {\r\n if (Array.isArray(vnode)) {\r\n return vnode;\r\n }\r\n if (Array.isArray(vnode.children)) {\r\n return vnode.children;\r\n }\r\n /* istanbul ignore next */\r\n if (vnode.componentOptions && Array.isArray(vnode.componentOptions.children)) {\r\n return vnode.componentOptions.children;\r\n }\r\n return [];\r\n}\r\nfunction findInputNode(vnode) {\r\n if (!Array.isArray(vnode) && findValue(vnode) !== undefined) {\r\n return vnode;\r\n }\r\n var children = extractChildren(vnode);\r\n return children.reduce(function (candidate, node) {\r\n if (candidate) {\r\n return candidate;\r\n }\r\n return findInputNode(node);\r\n }, null);\r\n}\r\n// Resolves v-model config if exists.\r\nfunction findModelConfig(vnode) {\r\n /* istanbul ignore next */\r\n if (!vnode.componentOptions)\r\n return null;\r\n // This is also not typed in the standard Vue TS.\r\n return vnode.componentOptions.Ctor.options.model;\r\n}\r\n// Adds a listener to vnode listener object.\r\nfunction mergeVNodeListeners(obj, eventName, handler) {\r\n // no listener at all.\r\n if (isNullOrUndefined(obj[eventName])) {\r\n obj[eventName] = [handler];\r\n return;\r\n }\r\n // Is an invoker.\r\n if (isCallable(obj[eventName]) && obj[eventName].fns) {\r\n var invoker = obj[eventName];\r\n invoker.fns = Array.isArray(invoker.fns) ? invoker.fns : [invoker.fns];\r\n if (!includes(invoker.fns, handler)) {\r\n invoker.fns.push(handler);\r\n }\r\n return;\r\n }\r\n if (isCallable(obj[eventName])) {\r\n var prev = obj[eventName];\r\n obj[eventName] = [prev];\r\n }\r\n if (Array.isArray(obj[eventName]) && !includes(obj[eventName], handler)) {\r\n obj[eventName].push(handler);\r\n }\r\n}\r\n// Adds a listener to a native HTML vnode.\r\nfunction addNativeNodeListener(node, eventName, handler) {\r\n /* istanbul ignore next */\r\n if (!node.data) {\r\n node.data = {};\r\n }\r\n if (isNullOrUndefined(node.data.on)) {\r\n node.data.on = {};\r\n }\r\n mergeVNodeListeners(node.data.on, eventName, handler);\r\n}\r\n// Adds a listener to a Vue component vnode.\r\nfunction addComponentNodeListener(node, eventName, handler) {\r\n /* istanbul ignore next */\r\n if (!node.componentOptions) {\r\n return;\r\n }\r\n /* istanbul ignore next */\r\n if (!node.componentOptions.listeners) {\r\n node.componentOptions.listeners = {};\r\n }\r\n mergeVNodeListeners(node.componentOptions.listeners, eventName, handler);\r\n}\r\nfunction addVNodeListener(vnode, eventName, handler) {\r\n if (vnode.componentOptions) {\r\n addComponentNodeListener(vnode, eventName, handler);\r\n return;\r\n }\r\n addNativeNodeListener(vnode, eventName, handler);\r\n}\r\n// Determines if `change` should be used over `input` for listeners.\r\nfunction getInputEventName(vnode, model) {\r\n var _a;\r\n // Is a component.\r\n if (vnode.componentOptions) {\r\n var event_1 = (findModelConfig(vnode) || { event: 'input' }).event;\r\n return event_1;\r\n }\r\n // Lazy Models typically use change event\r\n if ((_a = model === null || model === void 0 ? void 0 : model.modifiers) === null || _a === void 0 ? void 0 : _a.lazy) {\r\n return 'change';\r\n }\r\n // is a textual-type input.\r\n if (isTextInput(vnode)) {\r\n return 'input';\r\n }\r\n return 'change';\r\n}\r\nfunction isHTMLNode(node) {\r\n return includes(['input', 'select', 'textarea'], node.tag);\r\n}\r\n// TODO: Type this one properly.\r\nfunction normalizeSlots(slots, ctx) {\r\n var acc = [];\r\n return Object.keys(slots).reduce(function (arr, key) {\r\n slots[key].forEach(function (vnode) {\r\n if (!vnode.context) {\r\n slots[key].context = ctx;\r\n if (!vnode.data) {\r\n vnode.data = {};\r\n }\r\n vnode.data.slot = key;\r\n }\r\n });\r\n return arr.concat(slots[key]);\r\n }, acc);\r\n}\r\nfunction resolveTextualRules(vnode) {\r\n var _a;\r\n var attrs = (_a = vnode.data) === null || _a === void 0 ? void 0 : _a.attrs;\r\n var rules = {};\r\n if (!attrs)\r\n return rules;\r\n if (attrs.type === 'email' && RuleContainer.getRuleDefinition('email')) {\r\n rules.email = ['multiple' in attrs];\r\n }\r\n if (attrs.pattern && RuleContainer.getRuleDefinition('regex')) {\r\n rules.regex = attrs.pattern;\r\n }\r\n if (attrs.maxlength >= 0 && RuleContainer.getRuleDefinition('max')) {\r\n rules.max = attrs.maxlength;\r\n }\r\n if (attrs.minlength >= 0 && RuleContainer.getRuleDefinition('min')) {\r\n rules.min = attrs.minlength;\r\n }\r\n if (attrs.type === 'number') {\r\n if (isSpecified(attrs.min) && RuleContainer.getRuleDefinition('min_value')) {\r\n rules.min_value = Number(attrs.min);\r\n }\r\n if (isSpecified(attrs.max) && RuleContainer.getRuleDefinition('max_value')) {\r\n rules.max_value = Number(attrs.max);\r\n }\r\n }\r\n return rules;\r\n}\r\nfunction resolveRules(vnode) {\r\n var _a;\r\n var htmlTags = ['input', 'select', 'textarea'];\r\n var attrs = (_a = vnode.data) === null || _a === void 0 ? void 0 : _a.attrs;\r\n if (!includes(htmlTags, vnode.tag) || !attrs) {\r\n return {};\r\n }\r\n var rules = {};\r\n if ('required' in attrs && attrs.required !== false && RuleContainer.getRuleDefinition('required')) {\r\n rules.required = attrs.type === 'checkbox' ? [true] : true;\r\n }\r\n if (isTextInput(vnode)) {\r\n return normalizeRules(__assign(__assign({}, rules), resolveTextualRules(vnode)));\r\n }\r\n return normalizeRules(rules);\r\n}\r\nfunction normalizeChildren(context, slotProps) {\r\n if (context.$scopedSlots.default) {\r\n return context.$scopedSlots.default(slotProps) || [];\r\n }\r\n return context.$slots.default || [];\r\n}\n\n/**\r\n * Determines if a provider needs to run validation.\r\n */\r\nfunction shouldValidate(ctx, value) {\r\n // when an immediate/initial validation is needed and wasn't done before.\r\n if (!ctx._ignoreImmediate && ctx.immediate) {\r\n return true;\r\n }\r\n // when the value changes for whatever reason.\r\n if (ctx.value !== value && ctx.normalizedEvents.length) {\r\n return true;\r\n }\r\n // when it needs validation due to props/cross-fields changes.\r\n if (ctx._needsValidation) {\r\n return true;\r\n }\r\n // when the initial value is undefined and the field wasn't rendered yet.\r\n if (!ctx.initialized && value === undefined) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction createValidationCtx(ctx) {\r\n return __assign(__assign({}, ctx.flags), { errors: ctx.errors, classes: ctx.classes, failedRules: ctx.failedRules, reset: function () { return ctx.reset(); }, validate: function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n return ctx.validate.apply(ctx, args);\r\n }, ariaInput: {\r\n 'aria-invalid': ctx.flags.invalid ? 'true' : 'false',\r\n 'aria-required': ctx.isRequired ? 'true' : 'false',\r\n 'aria-errormessage': \"vee_\" + ctx.id\r\n }, ariaMsg: {\r\n id: \"vee_\" + ctx.id,\r\n 'aria-live': ctx.errors.length ? 'assertive' : 'off'\r\n } });\r\n}\r\nfunction onRenderUpdate(vm, value) {\r\n if (!vm.initialized) {\r\n vm.initialValue = value;\r\n }\r\n var validateNow = shouldValidate(vm, value);\r\n vm._needsValidation = false;\r\n vm.value = value;\r\n vm._ignoreImmediate = true;\r\n if (!validateNow) {\r\n return;\r\n }\r\n var validate = function () {\r\n if (vm.immediate || vm.flags.validated) {\r\n return triggerThreadSafeValidation(vm);\r\n }\r\n vm.validateSilent();\r\n };\r\n if (vm.initialized) {\r\n validate();\r\n return;\r\n }\r\n vm.$once('hook:mounted', function () { return validate(); });\r\n}\r\nfunction computeModeSetting(ctx) {\r\n var compute = (isCallable(ctx.mode) ? ctx.mode : modes[ctx.mode]);\r\n return compute(ctx);\r\n}\r\nfunction triggerThreadSafeValidation(vm) {\r\n var pendingPromise = vm.validateSilent();\r\n // avoids race conditions between successive validations.\r\n vm._pendingValidation = pendingPromise;\r\n return pendingPromise.then(function (result) {\r\n if (pendingPromise === vm._pendingValidation) {\r\n vm.applyResult(result);\r\n vm._pendingValidation = undefined;\r\n }\r\n return result;\r\n });\r\n}\r\n// Creates the common handlers for a validatable context.\r\nfunction createCommonHandlers(vm) {\r\n if (!vm.$veeOnInput) {\r\n vm.$veeOnInput = function (e) {\r\n vm.syncValue(e); // track and keep the value updated.\r\n vm.setFlags({ dirty: true, pristine: false });\r\n };\r\n }\r\n var onInput = vm.$veeOnInput;\r\n if (!vm.$veeOnBlur) {\r\n vm.$veeOnBlur = function () {\r\n vm.setFlags({ touched: true, untouched: false });\r\n };\r\n }\r\n // Blur event listener.\r\n var onBlur = vm.$veeOnBlur;\r\n var onValidate = vm.$veeHandler;\r\n var mode = computeModeSetting(vm);\r\n // Handle debounce changes.\r\n if (!onValidate || vm.$veeDebounce !== vm.debounce) {\r\n onValidate = debounce(function () {\r\n vm.$nextTick(function () {\r\n if (!vm._pendingReset) {\r\n triggerThreadSafeValidation(vm);\r\n }\r\n vm._pendingReset = false;\r\n });\r\n }, mode.debounce || vm.debounce);\r\n // Cache the handler so we don't create it each time.\r\n vm.$veeHandler = onValidate;\r\n // cache the debounce value so we detect if it was changed.\r\n vm.$veeDebounce = vm.debounce;\r\n }\r\n return { onInput: onInput, onBlur: onBlur, onValidate: onValidate };\r\n}\r\n// Adds all plugin listeners to the vnode.\r\nfunction addListeners(vm, node) {\r\n var value = findValue(node);\r\n // cache the input eventName.\r\n vm._inputEventName = vm._inputEventName || getInputEventName(node, findModel(node));\r\n onRenderUpdate(vm, value === null || value === void 0 ? void 0 : value.value);\r\n var _a = createCommonHandlers(vm), onInput = _a.onInput, onBlur = _a.onBlur, onValidate = _a.onValidate;\r\n addVNodeListener(node, vm._inputEventName, onInput);\r\n addVNodeListener(node, 'blur', onBlur);\r\n // add the validation listeners.\r\n vm.normalizedEvents.forEach(function (evt) {\r\n addVNodeListener(node, evt, onValidate);\r\n });\r\n vm.initialized = true;\r\n}\n\nvar PROVIDER_COUNTER = 0;\r\nfunction data() {\r\n var errors = [];\r\n var fieldName = '';\r\n var defaultValues = {\r\n errors: errors,\r\n value: undefined,\r\n initialized: false,\r\n initialValue: undefined,\r\n flags: createFlags(),\r\n failedRules: {},\r\n isActive: true,\r\n fieldName: fieldName,\r\n id: ''\r\n };\r\n return defaultValues;\r\n}\r\nvar ValidationProvider = Vue.extend({\r\n inject: {\r\n $_veeObserver: {\r\n from: '$_veeObserver',\r\n default: function () {\r\n if (!this.$vnode.context.$_veeObserver) {\r\n this.$vnode.context.$_veeObserver = createObserver();\r\n }\r\n return this.$vnode.context.$_veeObserver;\r\n }\r\n }\r\n },\r\n props: {\r\n vid: {\r\n type: String,\r\n default: ''\r\n },\r\n name: {\r\n type: String,\r\n default: null\r\n },\r\n mode: {\r\n type: [String, Function],\r\n default: function () {\r\n return getConfig().mode;\r\n }\r\n },\r\n rules: {\r\n type: [Object, String],\r\n default: null\r\n },\r\n immediate: {\r\n type: Boolean,\r\n default: false\r\n },\r\n bails: {\r\n type: Boolean,\r\n default: function () { return getConfig().bails; }\r\n },\r\n skipIfEmpty: {\r\n type: Boolean,\r\n default: function () { return getConfig().skipOptional; }\r\n },\r\n debounce: {\r\n type: Number,\r\n default: 0\r\n },\r\n tag: {\r\n type: String,\r\n default: 'span'\r\n },\r\n slim: {\r\n type: Boolean,\r\n default: false\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n customMessages: {\r\n type: Object,\r\n default: function () {\r\n return {};\r\n }\r\n }\r\n },\r\n watch: {\r\n rules: {\r\n deep: true,\r\n handler: function (val, oldVal) {\r\n this._needsValidation = !isEqual(val, oldVal);\r\n }\r\n }\r\n },\r\n data: data,\r\n computed: {\r\n fieldDeps: function () {\r\n var _this = this;\r\n return Object.keys(this.normalizedRules).reduce(function (acc, rule) {\r\n var deps = extractLocators(_this.normalizedRules[rule]).map(function (dep) { return dep.__locatorRef; });\r\n acc.push.apply(acc, deps);\r\n deps.forEach(function (depName) {\r\n watchCrossFieldDep(_this, depName);\r\n });\r\n return acc;\r\n }, []);\r\n },\r\n normalizedEvents: function () {\r\n var _this = this;\r\n var on = computeModeSetting(this).on;\r\n return (on || []).map(function (e) {\r\n if (e === 'input') {\r\n return _this._inputEventName;\r\n }\r\n return e;\r\n });\r\n },\r\n isRequired: function () {\r\n var rules = __assign(__assign({}, this._resolvedRules), this.normalizedRules);\r\n var isRequired = Object.keys(rules).some(RuleContainer.isRequireRule);\r\n this.flags.required = !!isRequired;\r\n return isRequired;\r\n },\r\n classes: function () {\r\n var names = getConfig().classes;\r\n return computeClassObj(names, this.flags);\r\n },\r\n normalizedRules: function () {\r\n return normalizeRules(this.rules);\r\n }\r\n },\r\n mounted: function () {\r\n var _this = this;\r\n var onLocaleChanged = function () {\r\n if (!_this.flags.validated) {\r\n return;\r\n }\r\n var regenerateMap = _this._regenerateMap;\r\n if (regenerateMap) {\r\n var errors_1 = [];\r\n var failedRules_1 = {};\r\n Object.keys(regenerateMap).forEach(function (rule) {\r\n var msg = regenerateMap[rule]();\r\n errors_1.push(msg);\r\n failedRules_1[rule] = msg;\r\n });\r\n _this.applyResult({ errors: errors_1, failedRules: failedRules_1, regenerateMap: regenerateMap });\r\n return;\r\n }\r\n _this.validate();\r\n };\r\n EVENT_BUS.$on('change:locale', onLocaleChanged);\r\n this.$on('hook:beforeDestroy', function () {\r\n EVENT_BUS.$off('change:locale', onLocaleChanged);\r\n });\r\n },\r\n render: function (h) {\r\n var _a, _b, _c, _d;\r\n this.registerField();\r\n var ctx = createValidationCtx(this);\r\n var children = normalizeChildren(this, ctx);\r\n var input = findInputNode(children);\r\n if (!input) {\r\n // Silent exit if no input was found.\r\n return this.slim && children.length <= 1 ? children[0] : h(this.tag, children);\r\n }\r\n var resolved = getConfig().useConstraintAttrs ? resolveRules(input) : {};\r\n if (!isEqual(this._resolvedRules, resolved)) {\r\n this._needsValidation = true;\r\n }\r\n if (isHTMLNode(input)) {\r\n this.fieldName = ((_b = (_a = input.data) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b.name) || ((_d = (_c = input.data) === null || _c === void 0 ? void 0 : _c.attrs) === null || _d === void 0 ? void 0 : _d.id);\r\n }\r\n this._resolvedRules = resolved;\r\n addListeners(this, input);\r\n return this.slim && children.length <= 1 ? children[0] : h(this.tag, children);\r\n },\r\n beforeDestroy: function () {\r\n // cleanup reference.\r\n this.$_veeObserver.unobserve(this.id);\r\n },\r\n activated: function () {\r\n this.isActive = true;\r\n },\r\n deactivated: function () {\r\n this.isActive = false;\r\n },\r\n methods: {\r\n setFlags: function (flags) {\r\n var _this = this;\r\n Object.keys(flags).forEach(function (flag) {\r\n _this.flags[flag] = flags[flag];\r\n });\r\n },\r\n syncValue: function (v) {\r\n var value = normalizeEventValue(v);\r\n this.value = value;\r\n this.flags.changed = this.initialValue !== value;\r\n },\r\n reset: function () {\r\n var _this = this;\r\n this.errors = [];\r\n this.initialValue = this.value;\r\n var flags = createFlags();\r\n flags.required = this.isRequired;\r\n this.setFlags(flags);\r\n this.failedRules = {};\r\n this.validateSilent();\r\n this._pendingValidation = undefined;\r\n this._pendingReset = true;\r\n setTimeout(function () {\r\n _this._pendingReset = false;\r\n }, this.debounce);\r\n },\r\n validate: function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (args.length > 0) {\r\n this.syncValue(args[0]);\r\n }\r\n return [2 /*return*/, triggerThreadSafeValidation(this)];\r\n });\r\n });\r\n },\r\n validateSilent: function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var rules, result;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.setFlags({ pending: true });\r\n rules = __assign(__assign({}, this._resolvedRules), this.normalizedRules);\r\n Object.defineProperty(rules, '_$$isNormalized', {\r\n value: true,\r\n writable: false,\r\n enumerable: false,\r\n configurable: false\r\n });\r\n return [4 /*yield*/, validate(this.value, rules, __assign(__assign({ name: this.name || this.fieldName }, createLookup(this)), { bails: this.bails, skipIfEmpty: this.skipIfEmpty, isInitial: !this.initialized, customMessages: this.customMessages }))];\r\n case 1:\r\n result = _a.sent();\r\n this.setFlags({\r\n pending: false,\r\n valid: result.valid,\r\n invalid: !result.valid\r\n });\r\n return [2 /*return*/, result];\r\n }\r\n });\r\n });\r\n },\r\n setErrors: function (errors) {\r\n this.applyResult({ errors: errors, failedRules: {} });\r\n },\r\n applyResult: function (_a) {\r\n var errors = _a.errors, failedRules = _a.failedRules, regenerateMap = _a.regenerateMap;\r\n this.errors = errors;\r\n this._regenerateMap = regenerateMap;\r\n this.failedRules = __assign({}, (failedRules || {}));\r\n this.setFlags({\r\n valid: !errors.length,\r\n passed: !errors.length,\r\n invalid: !!errors.length,\r\n failed: !!errors.length,\r\n validated: true,\r\n changed: this.value !== this.initialValue\r\n });\r\n },\r\n registerField: function () {\r\n updateRenderingContextRefs(this);\r\n }\r\n }\r\n});\r\nfunction computeClassObj(names, flags) {\r\n var acc = {};\r\n var keys = Object.keys(flags);\r\n var length = keys.length;\r\n var _loop_1 = function (i) {\r\n var flag = keys[i];\r\n var className = (names && names[flag]) || flag;\r\n var value = flags[flag];\r\n if (isNullOrUndefined(value)) {\r\n return \"continue\";\r\n }\r\n if ((flag === 'valid' || flag === 'invalid') && !flags.validated) {\r\n return \"continue\";\r\n }\r\n if (typeof className === 'string') {\r\n acc[className] = value;\r\n }\r\n else if (Array.isArray(className)) {\r\n className.forEach(function (cls) {\r\n acc[cls] = value;\r\n });\r\n }\r\n };\r\n for (var i = 0; i < length; i++) {\r\n _loop_1(i);\r\n }\r\n return acc;\r\n}\r\nfunction createLookup(vm) {\r\n var providers = vm.$_veeObserver.refs;\r\n var reduced = {\r\n names: {},\r\n values: {}\r\n };\r\n return vm.fieldDeps.reduce(function (acc, depName) {\r\n if (!providers[depName]) {\r\n return acc;\r\n }\r\n acc.values[depName] = providers[depName].value;\r\n acc.names[depName] = providers[depName].name;\r\n return acc;\r\n }, reduced);\r\n}\r\nfunction extractId(vm) {\r\n if (vm.vid) {\r\n return vm.vid;\r\n }\r\n if (vm.name) {\r\n return vm.name;\r\n }\r\n if (vm.id) {\r\n return vm.id;\r\n }\r\n if (vm.fieldName) {\r\n return vm.fieldName;\r\n }\r\n PROVIDER_COUNTER++;\r\n return \"_vee_\" + PROVIDER_COUNTER;\r\n}\r\nfunction updateRenderingContextRefs(vm) {\r\n var providedId = extractId(vm);\r\n var id = vm.id;\r\n // Nothing has changed.\r\n if (!vm.isActive || (id === providedId && vm.$_veeObserver.refs[id])) {\r\n return;\r\n }\r\n // vid was changed.\r\n if (id !== providedId && vm.$_veeObserver.refs[id] === vm) {\r\n vm.$_veeObserver.unobserve(id);\r\n }\r\n vm.id = providedId;\r\n vm.$_veeObserver.observe(vm);\r\n}\r\nfunction createObserver() {\r\n return {\r\n refs: {},\r\n observe: function (vm) {\r\n this.refs[vm.id] = vm;\r\n },\r\n unobserve: function (id) {\r\n delete this.refs[id];\r\n }\r\n };\r\n}\r\nfunction watchCrossFieldDep(ctx, depName, withHooks) {\r\n if (withHooks === void 0) { withHooks = true; }\r\n var providers = ctx.$_veeObserver.refs;\r\n if (!ctx._veeWatchers) {\r\n ctx._veeWatchers = {};\r\n }\r\n if (!providers[depName] && withHooks) {\r\n return ctx.$once('hook:mounted', function () {\r\n watchCrossFieldDep(ctx, depName, false);\r\n });\r\n }\r\n if (!isCallable(ctx._veeWatchers[depName]) && providers[depName]) {\r\n ctx._veeWatchers[depName] = providers[depName].$watch('value', function () {\r\n if (ctx.flags.validated) {\r\n ctx._needsValidation = true;\r\n ctx.validate();\r\n }\r\n });\r\n }\r\n}\n\nvar FLAGS_STRATEGIES = [\r\n ['pristine', 'every'],\r\n ['dirty', 'some'],\r\n ['touched', 'some'],\r\n ['untouched', 'every'],\r\n ['valid', 'every'],\r\n ['invalid', 'some'],\r\n ['pending', 'some'],\r\n ['validated', 'every'],\r\n ['changed', 'some'],\r\n ['passed', 'every'],\r\n ['failed', 'some']\r\n];\r\nvar OBSERVER_COUNTER = 0;\r\nfunction data$1() {\r\n var refs = {};\r\n var errors = {};\r\n var flags = createObserverFlags();\r\n var fields = {};\r\n // FIXME: Not sure of this one can be typed, circular type reference.\r\n var observers = [];\r\n return {\r\n id: '',\r\n refs: refs,\r\n observers: observers,\r\n errors: errors,\r\n flags: flags,\r\n fields: fields\r\n };\r\n}\r\nfunction provideSelf() {\r\n return {\r\n $_veeObserver: this\r\n };\r\n}\r\nvar ValidationObserver = Vue.extend({\r\n name: 'ValidationObserver',\r\n provide: provideSelf,\r\n inject: {\r\n $_veeObserver: {\r\n from: '$_veeObserver',\r\n default: function () {\r\n if (!this.$vnode.context.$_veeObserver) {\r\n return null;\r\n }\r\n return this.$vnode.context.$_veeObserver;\r\n }\r\n }\r\n },\r\n props: {\r\n tag: {\r\n type: String,\r\n default: 'span'\r\n },\r\n vid: {\r\n type: String,\r\n default: function () {\r\n return \"obs_\" + OBSERVER_COUNTER++;\r\n }\r\n },\r\n slim: {\r\n type: Boolean,\r\n default: false\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data: data$1,\r\n created: function () {\r\n var _this = this;\r\n this.id = this.vid;\r\n register(this);\r\n var onChange = debounce(function (_a) {\r\n var errors = _a.errors, flags = _a.flags, fields = _a.fields;\r\n _this.errors = errors;\r\n _this.flags = flags;\r\n _this.fields = fields;\r\n }, 16);\r\n this.$watch(computeObserverState, onChange);\r\n },\r\n activated: function () {\r\n register(this);\r\n },\r\n deactivated: function () {\r\n unregister(this);\r\n },\r\n beforeDestroy: function () {\r\n unregister(this);\r\n },\r\n render: function (h) {\r\n var children = normalizeChildren(this, prepareSlotProps(this));\r\n return this.slim && children.length <= 1 ? children[0] : h(this.tag, { on: this.$listeners }, children);\r\n },\r\n methods: {\r\n observe: function (subscriber, kind) {\r\n var _a;\r\n if (kind === void 0) { kind = 'provider'; }\r\n if (kind === 'observer') {\r\n this.observers.push(subscriber);\r\n return;\r\n }\r\n this.refs = __assign(__assign({}, this.refs), (_a = {}, _a[subscriber.id] = subscriber, _a));\r\n },\r\n unobserve: function (id, kind) {\r\n if (kind === void 0) { kind = 'provider'; }\r\n if (kind === 'provider') {\r\n var provider = this.refs[id];\r\n if (!provider) {\r\n return;\r\n }\r\n this.$delete(this.refs, id);\r\n return;\r\n }\r\n var idx = findIndex(this.observers, function (o) { return o.id === id; });\r\n if (idx !== -1) {\r\n this.observers.splice(idx, 1);\r\n }\r\n },\r\n validate: function (_a) {\r\n var _b = (_a === void 0 ? {} : _a).silent, silent = _b === void 0 ? false : _b;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var results;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0: return [4 /*yield*/, Promise.all(__spreadArrays(values(this.refs)\r\n .filter(function (r) { return !r.disabled; })\r\n .map(function (ref) { return ref[silent ? 'validateSilent' : 'validate']().then(function (r) { return r.valid; }); }), this.observers.filter(function (o) { return !o.disabled; }).map(function (obs) { return obs.validate({ silent: silent }); })))];\r\n case 1:\r\n results = _c.sent();\r\n return [2 /*return*/, results.every(function (r) { return r; })];\r\n }\r\n });\r\n });\r\n },\r\n handleSubmit: function (cb) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var isValid;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.validate()];\r\n case 1:\r\n isValid = _a.sent();\r\n if (!isValid || !cb) {\r\n return [2 /*return*/];\r\n }\r\n return [2 /*return*/, cb()];\r\n }\r\n });\r\n });\r\n },\r\n reset: function () {\r\n return __spreadArrays(values(this.refs), this.observers).forEach(function (ref) { return ref.reset(); });\r\n },\r\n setErrors: function (errors) {\r\n var _this = this;\r\n Object.keys(errors).forEach(function (key) {\r\n var provider = _this.refs[key];\r\n if (!provider)\r\n return;\r\n var errorArr = errors[key] || [];\r\n errorArr = typeof errorArr === 'string' ? [errorArr] : errorArr;\r\n provider.setErrors(errorArr);\r\n });\r\n this.observers.forEach(function (observer) {\r\n observer.setErrors(errors);\r\n });\r\n }\r\n }\r\n});\r\nfunction unregister(vm) {\r\n if (vm.$_veeObserver) {\r\n vm.$_veeObserver.unobserve(vm.id, 'observer');\r\n }\r\n}\r\nfunction register(vm) {\r\n if (vm.$_veeObserver) {\r\n vm.$_veeObserver.observe(vm, 'observer');\r\n }\r\n}\r\nfunction prepareSlotProps(vm) {\r\n return __assign(__assign({}, vm.flags), { errors: vm.errors, fields: vm.fields, validate: vm.validate, passes: vm.handleSubmit, handleSubmit: vm.handleSubmit, reset: vm.reset });\r\n}\r\n// Creates a modified version of validation flags\r\nfunction createObserverFlags() {\r\n return __assign(__assign({}, createFlags()), { valid: true, invalid: false });\r\n}\r\nfunction computeObserverState() {\r\n var vms = __spreadArrays(values(this.refs), this.observers);\r\n var errors = {};\r\n var flags = createObserverFlags();\r\n var fields = {};\r\n var length = vms.length;\r\n for (var i = 0; i < length; i++) {\r\n var vm = vms[i];\r\n // validation provider\r\n if (Array.isArray(vm.errors)) {\r\n errors[vm.id] = vm.errors;\r\n fields[vm.id] = __assign({ id: vm.id, name: vm.name, failedRules: vm.failedRules }, vm.flags);\r\n continue;\r\n }\r\n // Nested observer, merge errors and fields\r\n errors = __assign(__assign({}, errors), vm.errors);\r\n fields = __assign(__assign({}, fields), vm.fields);\r\n }\r\n FLAGS_STRATEGIES.forEach(function (_a) {\r\n var flag = _a[0], method = _a[1];\r\n flags[flag] = vms[method](function (vm) { return vm.flags[flag]; });\r\n });\r\n return { errors: errors, flags: flags, fields: fields };\r\n}\n\nfunction withValidation(component, mapProps) {\r\n if (mapProps === void 0) { mapProps = identity; }\r\n var _a;\r\n var options = 'options' in component ? component.options : component;\r\n var providerOpts = ValidationProvider.options;\r\n var hoc = {\r\n name: (options.name || 'AnonymousHoc') + \"WithValidation\",\r\n props: __assign({}, providerOpts.props),\r\n data: providerOpts.data,\r\n computed: __assign({}, providerOpts.computed),\r\n methods: __assign({}, providerOpts.methods),\r\n beforeDestroy: providerOpts.beforeDestroy,\r\n inject: providerOpts.inject\r\n };\r\n var eventName = ((_a = options === null || options === void 0 ? void 0 : options.model) === null || _a === void 0 ? void 0 : _a.event) || 'input';\r\n hoc.render = function (h) {\r\n var _a;\r\n this.registerField();\r\n var vctx = createValidationCtx(this);\r\n var listeners = __assign({}, this.$listeners);\r\n var model = findModel(this.$vnode);\r\n this._inputEventName = this._inputEventName || getInputEventName(this.$vnode, model);\r\n var value = findValue(this.$vnode);\r\n onRenderUpdate(this, value === null || value === void 0 ? void 0 : value.value);\r\n var _b = createCommonHandlers(this), onInput = _b.onInput, onBlur = _b.onBlur, onValidate = _b.onValidate;\r\n mergeVNodeListeners(listeners, eventName, onInput);\r\n mergeVNodeListeners(listeners, 'blur', onBlur);\r\n this.normalizedEvents.forEach(function (evt) {\r\n mergeVNodeListeners(listeners, evt, onValidate);\r\n });\r\n // Props are any attrs not associated with ValidationProvider Plus the model prop.\r\n // WARNING: Accidental prop overwrite will probably happen.\r\n var prop = (findModelConfig(this.$vnode) || { prop: 'value' }).prop;\r\n var props = __assign(__assign(__assign({}, this.$attrs), (_a = {}, _a[prop] = model === null || model === void 0 ? void 0 : model.value, _a)), mapProps(vctx));\r\n return h(options, {\r\n attrs: this.$attrs,\r\n props: props,\r\n on: listeners\r\n }, normalizeSlots(this.$slots, this.$vnode.context));\r\n };\r\n return hoc;\r\n}\n\nvar version = '3.3.0';\n\nexport { ValidationObserver, ValidationProvider, configure, extend, localeChanged, localize, normalizeRules, setInteractionMode, validate, version, withValidation };\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/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","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\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';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'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","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 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 fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","/*!\n * Vue.js v2.6.11\n * (c) 2014-2019 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 * Generate a string containing static keys from compiler modules.\n */\nfunction genStaticKeys (modules) {\n return modules.reduce(function (keys, m) {\n return keys.concat(m.staticKeys || [])\n }, []).join(',')\n}\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]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\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)$/;\n\nfunction assertType (value, type) {\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 valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\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(/^\\s*function (\\w+)/);\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 var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\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\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.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\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/* 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,' +\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\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 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 return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\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 fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes = scopedSlotFn(props) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\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}\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 vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\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)) {\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 isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\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 );\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 try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\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 }\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 try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\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\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 cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\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 cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.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 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.$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 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 cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\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.11';\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,translate,' +\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 isPreTag = function (tag) { return tag === 'pre'; };\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 (\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 a.asyncFactory === b.asyncFactory &&\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);\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) {\n if (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\nvar validDivisionCharRE = /[\\w).+\\-_$\\]]/;\n\nfunction parseFilters (exp) {\n var inSingle = false;\n var inDouble = false;\n var inTemplateString = false;\n var inRegex = false;\n var curly = 0;\n var square = 0;\n var paren = 0;\n var lastFilterIndex = 0;\n var c, prev, i, expression, filters;\n\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 0x27 && prev !== 0x5C) { inSingle = false; }\n } else if (inDouble) {\n if (c === 0x22 && prev !== 0x5C) { inDouble = false; }\n } else if (inTemplateString) {\n if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }\n } else if (inRegex) {\n if (c === 0x2f && prev !== 0x5C) { inRegex = false; }\n } else if (\n c === 0x7C && // pipe\n exp.charCodeAt(i + 1) !== 0x7C &&\n exp.charCodeAt(i - 1) !== 0x7C &&\n !curly && !square && !paren\n ) {\n if (expression === undefined) {\n // first filter, end of expression\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 0x22: inDouble = true; break // \"\n case 0x27: inSingle = true; break // '\n case 0x60: inTemplateString = true; break // `\n case 0x28: paren++; break // (\n case 0x29: paren--; break // )\n case 0x5B: square++; break // [\n case 0x5D: square--; break // ]\n case 0x7B: curly++; break // {\n case 0x7D: curly--; break // }\n }\n if (c === 0x2f) { // /\n var j = i - 1;\n var p = (void 0);\n // find first non-whitespace prev char\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== ' ') { break }\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n\n if (expression === undefined) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n\n function pushFilter () {\n (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n\n if (filters) {\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i]);\n }\n }\n\n return expression\n}\n\nfunction wrapFilter (exp, filter) {\n var i = filter.indexOf('(');\n if (i < 0) {\n // _f: resolveFilter\n return (\"_f(\\\"\" + filter + \"\\\")(\" + exp + \")\")\n } else {\n var name = filter.slice(0, i);\n var args = filter.slice(i + 1);\n return (\"_f(\\\"\" + name + \"\\\")(\" + exp + (args !== ')' ? ',' + args : args))\n }\n}\n\n/* */\n\n\n\n/* eslint-disable no-unused-vars */\nfunction baseWarn (msg, range) {\n console.error((\"[Vue compiler]: \" + msg));\n}\n/* eslint-enable no-unused-vars */\n\nfunction pluckModuleFunction (\n modules,\n key\n) {\n return modules\n ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })\n : []\n}\n\nfunction addProp (el, name, value, range, dynamic) {\n (el.props || (el.props = [])).push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));\n el.plain = false;\n}\n\nfunction addAttr (el, name, value, range, dynamic) {\n var attrs = dynamic\n ? (el.dynamicAttrs || (el.dynamicAttrs = []))\n : (el.attrs || (el.attrs = []));\n attrs.push(rangeSetItem({ name: name, value: value, dynamic: dynamic }, range));\n el.plain = false;\n}\n\n// add a raw attr (use this in preTransforms)\nfunction addRawAttr (el, name, value, range) {\n el.attrsMap[name] = value;\n el.attrsList.push(rangeSetItem({ name: name, value: value }, range));\n}\n\nfunction addDirective (\n el,\n name,\n rawName,\n value,\n arg,\n isDynamicArg,\n modifiers,\n range\n) {\n (el.directives || (el.directives = [])).push(rangeSetItem({\n name: name,\n rawName: rawName,\n value: value,\n arg: arg,\n isDynamicArg: isDynamicArg,\n modifiers: modifiers\n }, range));\n el.plain = false;\n}\n\nfunction prependModifierMarker (symbol, name, dynamic) {\n return dynamic\n ? (\"_p(\" + name + \",\\\"\" + symbol + \"\\\")\")\n : symbol + name // mark the event as captured\n}\n\nfunction addHandler (\n el,\n name,\n value,\n modifiers,\n important,\n warn,\n range,\n dynamic\n) {\n modifiers = modifiers || emptyObject;\n // warn prevent and passive modifier\n /* istanbul ignore if */\n if (\n process.env.NODE_ENV !== 'production' && warn &&\n modifiers.prevent && modifiers.passive\n ) {\n warn(\n 'passive and prevent can\\'t be used together. ' +\n 'Passive handler can\\'t prevent default event.',\n range\n );\n }\n\n // normalize click.right and click.middle since they don't actually fire\n // this is technically browser-specific, but at least for now browsers are\n // the only target envs that have right/middle clicks.\n if (modifiers.right) {\n if (dynamic) {\n name = \"(\" + name + \")==='click'?'contextmenu':(\" + name + \")\";\n } else if (name === 'click') {\n name = 'contextmenu';\n delete modifiers.right;\n }\n } else if (modifiers.middle) {\n if (dynamic) {\n name = \"(\" + name + \")==='click'?'mouseup':(\" + name + \")\";\n } else if (name === 'click') {\n name = 'mouseup';\n }\n }\n\n // check capture modifier\n if (modifiers.capture) {\n delete modifiers.capture;\n name = prependModifierMarker('!', name, dynamic);\n }\n if (modifiers.once) {\n delete modifiers.once;\n name = prependModifierMarker('~', name, dynamic);\n }\n /* istanbul ignore if */\n if (modifiers.passive) {\n delete modifiers.passive;\n name = prependModifierMarker('&', name, dynamic);\n }\n\n var events;\n if (modifiers.native) {\n delete modifiers.native;\n events = el.nativeEvents || (el.nativeEvents = {});\n } else {\n events = el.events || (el.events = {});\n }\n\n var newHandler = rangeSetItem({ value: value.trim(), dynamic: dynamic }, range);\n if (modifiers !== emptyObject) {\n newHandler.modifiers = modifiers;\n }\n\n var handlers = events[name];\n /* istanbul ignore if */\n if (Array.isArray(handlers)) {\n important ? handlers.unshift(newHandler) : handlers.push(newHandler);\n } else if (handlers) {\n events[name] = important ? [newHandler, handlers] : [handlers, newHandler];\n } else {\n events[name] = newHandler;\n }\n\n el.plain = false;\n}\n\nfunction getRawBindingAttr (\n el,\n name\n) {\n return el.rawAttrsMap[':' + name] ||\n el.rawAttrsMap['v-bind:' + name] ||\n el.rawAttrsMap[name]\n}\n\nfunction getBindingAttr (\n el,\n name,\n getStatic\n) {\n var dynamicValue =\n getAndRemoveAttr(el, ':' + name) ||\n getAndRemoveAttr(el, 'v-bind:' + name);\n if (dynamicValue != null) {\n return parseFilters(dynamicValue)\n } else if (getStatic !== false) {\n var staticValue = getAndRemoveAttr(el, name);\n if (staticValue != null) {\n return JSON.stringify(staticValue)\n }\n }\n}\n\n// note: this only removes the attr from the Array (attrsList) so that it\n// doesn't get processed by processAttrs.\n// By default it does NOT remove it from the map (attrsMap) because the map is\n// needed during codegen.\nfunction getAndRemoveAttr (\n el,\n name,\n removeFromMap\n) {\n var val;\n if ((val = el.attrsMap[name]) != null) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n if (list[i].name === name) {\n list.splice(i, 1);\n break\n }\n }\n }\n if (removeFromMap) {\n delete el.attrsMap[name];\n }\n return val\n}\n\nfunction getAndRemoveAttrByRegex (\n el,\n name\n) {\n var list = el.attrsList;\n for (var i = 0, l = list.length; i < l; i++) {\n var attr = list[i];\n if (name.test(attr.name)) {\n list.splice(i, 1);\n return attr\n }\n }\n}\n\nfunction rangeSetItem (\n item,\n range\n) {\n if (range) {\n if (range.start != null) {\n item.start = range.start;\n }\n if (range.end != null) {\n item.end = range.end;\n }\n }\n return item\n}\n\n/* */\n\n/**\n * Cross-platform code generation for component v-model\n */\nfunction genComponentModel (\n el,\n value,\n modifiers\n) {\n var ref = modifiers || {};\n var number = ref.number;\n var trim = ref.trim;\n\n var baseValueExpression = '$$v';\n var valueExpression = baseValueExpression;\n if (trim) {\n valueExpression =\n \"(typeof \" + baseValueExpression + \" === 'string'\" +\n \"? \" + baseValueExpression + \".trim()\" +\n \": \" + baseValueExpression + \")\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n var assignment = genAssignmentCode(value, valueExpression);\n\n el.model = {\n value: (\"(\" + value + \")\"),\n expression: JSON.stringify(value),\n callback: (\"function (\" + baseValueExpression + \") {\" + assignment + \"}\")\n };\n}\n\n/**\n * Cross-platform codegen helper for generating v-model value assignment code.\n */\nfunction genAssignmentCode (\n value,\n assignment\n) {\n var res = parseModel(value);\n if (res.key === null) {\n return (value + \"=\" + assignment)\n } else {\n return (\"$set(\" + (res.exp) + \", \" + (res.key) + \", \" + assignment + \")\")\n }\n}\n\n/**\n * Parse a v-model expression into a base path and a final key segment.\n * Handles both dot-path and possible square brackets.\n *\n * Possible cases:\n *\n * - test\n * - test[key]\n * - test[test1[key]]\n * - test[\"a\"][key]\n * - xxx.test[a[a].test1[key]]\n * - test.xxx.a[\"asa\"][test1[key]]\n *\n */\n\nvar len, str, chr, index$1, expressionPos, expressionEndPos;\n\n\n\nfunction parseModel (val) {\n // Fix https://github.com/vuejs/vue/pull/7730\n // allow v-model=\"obj.val \" (trailing whitespace)\n val = val.trim();\n len = val.length;\n\n if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {\n index$1 = val.lastIndexOf('.');\n if (index$1 > -1) {\n return {\n exp: val.slice(0, index$1),\n key: '\"' + val.slice(index$1 + 1) + '\"'\n }\n } else {\n return {\n exp: val,\n key: null\n }\n }\n }\n\n str = val;\n index$1 = expressionPos = expressionEndPos = 0;\n\n while (!eof()) {\n chr = next();\n /* istanbul ignore if */\n if (isStringStart(chr)) {\n parseString(chr);\n } else if (chr === 0x5B) {\n parseBracket(chr);\n }\n }\n\n return {\n exp: val.slice(0, expressionPos),\n key: val.slice(expressionPos + 1, expressionEndPos)\n }\n}\n\nfunction next () {\n return str.charCodeAt(++index$1)\n}\n\nfunction eof () {\n return index$1 >= len\n}\n\nfunction isStringStart (chr) {\n return chr === 0x22 || chr === 0x27\n}\n\nfunction parseBracket (chr) {\n var inBracket = 1;\n expressionPos = index$1;\n while (!eof()) {\n chr = next();\n if (isStringStart(chr)) {\n parseString(chr);\n continue\n }\n if (chr === 0x5B) { inBracket++; }\n if (chr === 0x5D) { inBracket--; }\n if (inBracket === 0) {\n expressionEndPos = index$1;\n break\n }\n }\n}\n\nfunction parseString (chr) {\n var stringQuote = chr;\n while (!eof()) {\n chr = next();\n if (chr === stringQuote) {\n break\n }\n }\n}\n\n/* */\n\nvar warn$1;\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\nfunction model (\n el,\n dir,\n _warn\n) {\n warn$1 = _warn;\n var value = dir.value;\n var modifiers = dir.modifiers;\n var tag = el.tag;\n var type = el.attrsMap.type;\n\n if (process.env.NODE_ENV !== 'production') {\n // inputs with type=\"file\" are read only and setting the input's\n // value will throw an error.\n if (tag === 'input' && type === 'file') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\" type=\\\"file\\\">:\\n\" +\n \"File inputs are read only. Use a v-on:change listener instead.\",\n el.rawAttrsMap['v-model']\n );\n }\n }\n\n if (el.component) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (tag === 'select') {\n genSelect(el, value, modifiers);\n } else if (tag === 'input' && type === 'checkbox') {\n genCheckboxModel(el, value, modifiers);\n } else if (tag === 'input' && type === 'radio') {\n genRadioModel(el, value, modifiers);\n } else if (tag === 'input' || tag === 'textarea') {\n genDefaultModel(el, value, modifiers);\n } else if (!config.isReservedTag(tag)) {\n genComponentModel(el, value, modifiers);\n // component v-model doesn't need extra runtime\n return false\n } else if (process.env.NODE_ENV !== 'production') {\n warn$1(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"v-model is not supported on this element type. \" +\n 'If you are working with contenteditable, it\\'s recommended to ' +\n 'wrap a library dedicated for that purpose inside a custom component.',\n el.rawAttrsMap['v-model']\n );\n }\n\n // ensure runtime directive metadata\n return true\n}\n\nfunction genCheckboxModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';\n var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';\n addProp(el, 'checked',\n \"Array.isArray(\" + value + \")\" +\n \"?_i(\" + value + \",\" + valueBinding + \")>-1\" + (\n trueValueBinding === 'true'\n ? (\":(\" + value + \")\")\n : (\":_q(\" + value + \",\" + trueValueBinding + \")\")\n )\n );\n addHandler(el, 'change',\n \"var $$a=\" + value + \",\" +\n '$$el=$event.target,' +\n \"$$c=$$el.checked?(\" + trueValueBinding + \"):(\" + falseValueBinding + \");\" +\n 'if(Array.isArray($$a)){' +\n \"var $$v=\" + (number ? '_n(' + valueBinding + ')' : valueBinding) + \",\" +\n '$$i=_i($$a,$$v);' +\n \"if($$el.checked){$$i<0&&(\" + (genAssignmentCode(value, '$$a.concat([$$v])')) + \")}\" +\n \"else{$$i>-1&&(\" + (genAssignmentCode(value, '$$a.slice(0,$$i).concat($$a.slice($$i+1))')) + \")}\" +\n \"}else{\" + (genAssignmentCode(value, '$$c')) + \"}\",\n null, true\n );\n}\n\nfunction genRadioModel (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var valueBinding = getBindingAttr(el, 'value') || 'null';\n valueBinding = number ? (\"_n(\" + valueBinding + \")\") : valueBinding;\n addProp(el, 'checked', (\"_q(\" + value + \",\" + valueBinding + \")\"));\n addHandler(el, 'change', genAssignmentCode(value, valueBinding), null, true);\n}\n\nfunction genSelect (\n el,\n value,\n modifiers\n) {\n var number = modifiers && modifiers.number;\n var selectedVal = \"Array.prototype.filter\" +\n \".call($event.target.options,function(o){return o.selected})\" +\n \".map(function(o){var val = \\\"_value\\\" in o ? o._value : o.value;\" +\n \"return \" + (number ? '_n(val)' : 'val') + \"})\";\n\n var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';\n var code = \"var $$selectedVal = \" + selectedVal + \";\";\n code = code + \" \" + (genAssignmentCode(value, assignment));\n addHandler(el, 'change', code, null, true);\n}\n\nfunction genDefaultModel (\n el,\n value,\n modifiers\n) {\n var type = el.attrsMap.type;\n\n // warn if v-bind:value conflicts with v-model\n // except for inputs with v-bind:type\n if (process.env.NODE_ENV !== 'production') {\n var value$1 = el.attrsMap['v-bind:value'] || el.attrsMap[':value'];\n var typeBinding = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];\n if (value$1 && !typeBinding) {\n var binding = el.attrsMap['v-bind:value'] ? 'v-bind:value' : ':value';\n warn$1(\n binding + \"=\\\"\" + value$1 + \"\\\" conflicts with v-model on the same element \" +\n 'because the latter already expands to a value binding internally',\n el.rawAttrsMap[binding]\n );\n }\n }\n\n var ref = modifiers || {};\n var lazy = ref.lazy;\n var number = ref.number;\n var trim = ref.trim;\n var needCompositionGuard = !lazy && type !== 'range';\n var event = lazy\n ? 'change'\n : type === 'range'\n ? RANGE_TOKEN\n : 'input';\n\n var valueExpression = '$event.target.value';\n if (trim) {\n valueExpression = \"$event.target.value.trim()\";\n }\n if (number) {\n valueExpression = \"_n(\" + valueExpression + \")\";\n }\n\n var code = genAssignmentCode(value, valueExpression);\n if (needCompositionGuard) {\n code = \"if($event.target.composing)return;\" + code;\n }\n\n addProp(el, 'value', (\"(\" + value + \")\"));\n addHandler(el, event, code, null, true);\n if (trim || number) {\n addHandler(el, 'blur', '$forceUpdate()');\n }\n}\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 unnecesarry `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\nvar defaultTagRE = /\\{\\{((?:.|\\r?\\n)+?)\\}\\}/g;\nvar regexEscapeRE = /[-.*+?^${}()|[\\]\\/\\\\]/g;\n\nvar buildRegex = cached(function (delimiters) {\n var open = delimiters[0].replace(regexEscapeRE, '\\\\$&');\n var close = delimiters[1].replace(regexEscapeRE, '\\\\$&');\n return new RegExp(open + '((?:.|\\\\n)+?)' + close, 'g')\n});\n\n\n\nfunction parseText (\n text,\n delimiters\n) {\n var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;\n if (!tagRE.test(text)) {\n return\n }\n var tokens = [];\n var rawTokens = [];\n var lastIndex = tagRE.lastIndex = 0;\n var match, index, tokenValue;\n while ((match = tagRE.exec(text))) {\n index = match.index;\n // push text token\n if (index > lastIndex) {\n rawTokens.push(tokenValue = text.slice(lastIndex, index));\n tokens.push(JSON.stringify(tokenValue));\n }\n // tag token\n var exp = parseFilters(match[1].trim());\n tokens.push((\"_s(\" + exp + \")\"));\n rawTokens.push({ '@binding': exp });\n lastIndex = index + match[0].length;\n }\n if (lastIndex < text.length) {\n rawTokens.push(tokenValue = text.slice(lastIndex));\n tokens.push(JSON.stringify(tokenValue));\n }\n return {\n expression: tokens.join('+'),\n tokens: rawTokens\n }\n}\n\n/* */\n\nfunction transformNode (el, options) {\n var warn = options.warn || baseWarn;\n var staticClass = getAndRemoveAttr(el, 'class');\n if (process.env.NODE_ENV !== 'production' && staticClass) {\n var res = parseText(staticClass, options.delimiters);\n if (res) {\n warn(\n \"class=\\\"\" + staticClass + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div class=\"{{ val }}\">, use <div :class=\"val\">.',\n el.rawAttrsMap['class']\n );\n }\n }\n if (staticClass) {\n el.staticClass = JSON.stringify(staticClass);\n }\n var classBinding = getBindingAttr(el, 'class', false /* getStatic */);\n if (classBinding) {\n el.classBinding = classBinding;\n }\n}\n\nfunction genData (el) {\n var data = '';\n if (el.staticClass) {\n data += \"staticClass:\" + (el.staticClass) + \",\";\n }\n if (el.classBinding) {\n data += \"class:\" + (el.classBinding) + \",\";\n }\n return data\n}\n\nvar klass$1 = {\n staticKeys: ['staticClass'],\n transformNode: transformNode,\n genData: genData\n};\n\n/* */\n\nfunction transformNode$1 (el, options) {\n var warn = options.warn || baseWarn;\n var staticStyle = getAndRemoveAttr(el, 'style');\n if (staticStyle) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(staticStyle, options.delimiters);\n if (res) {\n warn(\n \"style=\\\"\" + staticStyle + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div style=\"{{ val }}\">, use <div :style=\"val\">.',\n el.rawAttrsMap['style']\n );\n }\n }\n el.staticStyle = JSON.stringify(parseStyleText(staticStyle));\n }\n\n var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);\n if (styleBinding) {\n el.styleBinding = styleBinding;\n }\n}\n\nfunction genData$1 (el) {\n var data = '';\n if (el.staticStyle) {\n data += \"staticStyle:\" + (el.staticStyle) + \",\";\n }\n if (el.styleBinding) {\n data += \"style:(\" + (el.styleBinding) + \"),\";\n }\n return data\n}\n\nvar style$1 = {\n staticKeys: ['staticStyle'],\n transformNode: transformNode$1,\n genData: genData$1\n};\n\n/* */\n\nvar decoder;\n\nvar he = {\n decode: function decode (html) {\n decoder = decoder || document.createElement('div');\n decoder.innerHTML = html;\n return decoder.textContent\n }\n};\n\n/* */\n\nvar isUnaryTag = makeMap(\n 'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +\n 'link,meta,param,source,track,wbr'\n);\n\n// Elements that you can, intentionally, leave open\n// (and which close themselves)\nvar canBeLeftOpenTag = makeMap(\n 'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'\n);\n\n// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3\n// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content\nvar isNonPhrasingTag = makeMap(\n 'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +\n 'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +\n 'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +\n 'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +\n 'title,tr,track'\n);\n\n/**\n * Not type-checking this file because it's mostly vendor code.\n */\n\n// Regular Expressions for parsing tags and attributes\nvar attribute = /^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\nvar dynamicArgAttribute = /^\\s*((?:v-[\\w-]+:|@|:|#)\\[[^=]+\\][^\\s\"'<>\\/=]*)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/;\nvar ncname = \"[a-zA-Z_][\\\\-\\\\.0-9_a-zA-Z\" + (unicodeRegExp.source) + \"]*\";\nvar qnameCapture = \"((?:\" + ncname + \"\\\\:)?\" + ncname + \")\";\nvar startTagOpen = new RegExp((\"^<\" + qnameCapture));\nvar startTagClose = /^\\s*(\\/?)>/;\nvar endTag = new RegExp((\"^<\\\\/\" + qnameCapture + \"[^>]*>\"));\nvar doctype = /^<!DOCTYPE [^>]+>/i;\n// #7298: escape - to avoid being passed as HTML comment when inlined in page\nvar comment = /^<!\\--/;\nvar conditionalComment = /^<!\\[/;\n\n// Special Elements (can contain anything)\nvar isPlainTextElement = makeMap('script,style,textarea', true);\nvar reCache = {};\n\nvar decodingMap = {\n '<': '<',\n '>': '>',\n '"': '\"',\n '&': '&',\n ' ': '\\n',\n '	': '\\t',\n ''': \"'\"\n};\nvar encodedAttr = /&(?:lt|gt|quot|amp|#39);/g;\nvar encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#39|#10|#9);/g;\n\n// #5992\nvar isIgnoreNewlineTag = makeMap('pre,textarea', true);\nvar shouldIgnoreFirstNewline = function (tag, html) { return tag && isIgnoreNewlineTag(tag) && html[0] === '\\n'; };\n\nfunction decodeAttr (value, shouldDecodeNewlines) {\n var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;\n return value.replace(re, function (match) { return decodingMap[match]; })\n}\n\nfunction parseHTML (html, options) {\n var stack = [];\n var expectHTML = options.expectHTML;\n var isUnaryTag$$1 = options.isUnaryTag || no;\n var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;\n var index = 0;\n var last, lastTag;\n while (html) {\n last = html;\n // Make sure we're not in a plaintext content element like script/style\n if (!lastTag || !isPlainTextElement(lastTag)) {\n var textEnd = html.indexOf('<');\n if (textEnd === 0) {\n // Comment:\n if (comment.test(html)) {\n var commentEnd = html.indexOf('-->');\n\n if (commentEnd >= 0) {\n if (options.shouldKeepComment) {\n options.comment(html.substring(4, commentEnd), index, index + commentEnd + 3);\n }\n advance(commentEnd + 3);\n continue\n }\n }\n\n // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment\n if (conditionalComment.test(html)) {\n var conditionalEnd = html.indexOf(']>');\n\n if (conditionalEnd >= 0) {\n advance(conditionalEnd + 2);\n continue\n }\n }\n\n // Doctype:\n var doctypeMatch = html.match(doctype);\n if (doctypeMatch) {\n advance(doctypeMatch[0].length);\n continue\n }\n\n // End tag:\n var endTagMatch = html.match(endTag);\n if (endTagMatch) {\n var curIndex = index;\n advance(endTagMatch[0].length);\n parseEndTag(endTagMatch[1], curIndex, index);\n continue\n }\n\n // Start tag:\n var startTagMatch = parseStartTag();\n if (startTagMatch) {\n handleStartTag(startTagMatch);\n if (shouldIgnoreFirstNewline(startTagMatch.tagName, html)) {\n advance(1);\n }\n continue\n }\n }\n\n var text = (void 0), rest = (void 0), next = (void 0);\n if (textEnd >= 0) {\n rest = html.slice(textEnd);\n while (\n !endTag.test(rest) &&\n !startTagOpen.test(rest) &&\n !comment.test(rest) &&\n !conditionalComment.test(rest)\n ) {\n // < in plain text, be forgiving and treat it as text\n next = rest.indexOf('<', 1);\n if (next < 0) { break }\n textEnd += next;\n rest = html.slice(textEnd);\n }\n text = html.substring(0, textEnd);\n }\n\n if (textEnd < 0) {\n text = html;\n }\n\n if (text) {\n advance(text.length);\n }\n\n if (options.chars && text) {\n options.chars(text, index - text.length, index);\n }\n } else {\n var endTagLength = 0;\n var stackedTag = lastTag.toLowerCase();\n var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\\\s\\\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));\n var rest$1 = html.replace(reStackedTag, function (all, text, endTag) {\n endTagLength = endTag.length;\n if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {\n text = text\n .replace(/<!\\--([\\s\\S]*?)-->/g, '$1') // #7298\n .replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g, '$1');\n }\n if (shouldIgnoreFirstNewline(stackedTag, text)) {\n text = text.slice(1);\n }\n if (options.chars) {\n options.chars(text);\n }\n return ''\n });\n index += html.length - rest$1.length;\n html = rest$1;\n parseEndTag(stackedTag, index - endTagLength, index);\n }\n\n if (html === last) {\n options.chars && options.chars(html);\n if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {\n options.warn((\"Mal-formatted tag at end of template: \\\"\" + html + \"\\\"\"), { start: index + html.length });\n }\n break\n }\n }\n\n // Clean up any remaining tags\n parseEndTag();\n\n function advance (n) {\n index += n;\n html = html.substring(n);\n }\n\n function parseStartTag () {\n var start = html.match(startTagOpen);\n if (start) {\n var match = {\n tagName: start[1],\n attrs: [],\n start: index\n };\n advance(start[0].length);\n var end, attr;\n while (!(end = html.match(startTagClose)) && (attr = html.match(dynamicArgAttribute) || html.match(attribute))) {\n attr.start = index;\n advance(attr[0].length);\n attr.end = index;\n match.attrs.push(attr);\n }\n if (end) {\n match.unarySlash = end[1];\n advance(end[0].length);\n match.end = index;\n return match\n }\n }\n }\n\n function handleStartTag (match) {\n var tagName = match.tagName;\n var unarySlash = match.unarySlash;\n\n if (expectHTML) {\n if (lastTag === 'p' && isNonPhrasingTag(tagName)) {\n parseEndTag(lastTag);\n }\n if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {\n parseEndTag(tagName);\n }\n }\n\n var unary = isUnaryTag$$1(tagName) || !!unarySlash;\n\n var l = match.attrs.length;\n var attrs = new Array(l);\n for (var i = 0; i < l; i++) {\n var args = match.attrs[i];\n var value = args[3] || args[4] || args[5] || '';\n var shouldDecodeNewlines = tagName === 'a' && args[1] === 'href'\n ? options.shouldDecodeNewlinesForHref\n : options.shouldDecodeNewlines;\n attrs[i] = {\n name: args[1],\n value: decodeAttr(value, shouldDecodeNewlines)\n };\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n attrs[i].start = args.start + args[0].match(/^\\s*/).length;\n attrs[i].end = args.end;\n }\n }\n\n if (!unary) {\n stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs, start: match.start, end: match.end });\n lastTag = tagName;\n }\n\n if (options.start) {\n options.start(tagName, attrs, unary, match.start, match.end);\n }\n }\n\n function parseEndTag (tagName, start, end) {\n var pos, lowerCasedTagName;\n if (start == null) { start = index; }\n if (end == null) { end = index; }\n\n // Find the closest opened tag of the same type\n if (tagName) {\n lowerCasedTagName = tagName.toLowerCase();\n for (pos = stack.length - 1; pos >= 0; pos--) {\n if (stack[pos].lowerCasedTag === lowerCasedTagName) {\n break\n }\n }\n } else {\n // If no tag name is provided, clean shop\n pos = 0;\n }\n\n if (pos >= 0) {\n // Close all the open elements, up the stack\n for (var i = stack.length - 1; i >= pos; i--) {\n if (process.env.NODE_ENV !== 'production' &&\n (i > pos || !tagName) &&\n options.warn\n ) {\n options.warn(\n (\"tag <\" + (stack[i].tag) + \"> has no matching end tag.\"),\n { start: stack[i].start, end: stack[i].end }\n );\n }\n if (options.end) {\n options.end(stack[i].tag, start, end);\n }\n }\n\n // Remove the open elements from the stack\n stack.length = pos;\n lastTag = pos && stack[pos - 1].tag;\n } else if (lowerCasedTagName === 'br') {\n if (options.start) {\n options.start(tagName, [], true, start, end);\n }\n } else if (lowerCasedTagName === 'p') {\n if (options.start) {\n options.start(tagName, [], false, start, end);\n }\n if (options.end) {\n options.end(tagName, start, end);\n }\n }\n }\n}\n\n/* */\n\nvar onRE = /^@|^v-on:/;\nvar dirRE = /^v-|^@|^:|^#/;\nvar forAliasRE = /([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/;\nvar forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nvar stripParensRE = /^\\(|\\)$/g;\nvar dynamicArgRE = /^\\[.*\\]$/;\n\nvar argRE = /:(.*)$/;\nvar bindRE = /^:|^\\.|^v-bind:/;\nvar modifierRE = /\\.[^.\\]]+(?=[^\\]]*$)/g;\n\nvar slotRE = /^v-slot(:|$)|^#/;\n\nvar lineBreakRE = /[\\r\\n]/;\nvar whitespaceRE$1 = /\\s+/g;\n\nvar invalidAttributeRE = /[\\s\"'<>\\/=]/;\n\nvar decodeHTMLCached = cached(he.decode);\n\nvar emptySlotScopeToken = \"_empty_\";\n\n// configurable state\nvar warn$2;\nvar delimiters;\nvar transforms;\nvar preTransforms;\nvar postTransforms;\nvar platformIsPreTag;\nvar platformMustUseProp;\nvar platformGetTagNamespace;\nvar maybeComponent;\n\nfunction createASTElement (\n tag,\n attrs,\n parent\n) {\n return {\n type: 1,\n tag: tag,\n attrsList: attrs,\n attrsMap: makeAttrsMap(attrs),\n rawAttrsMap: {},\n parent: parent,\n children: []\n }\n}\n\n/**\n * Convert HTML string to AST.\n */\nfunction parse (\n template,\n options\n) {\n warn$2 = options.warn || baseWarn;\n\n platformIsPreTag = options.isPreTag || no;\n platformMustUseProp = options.mustUseProp || no;\n platformGetTagNamespace = options.getTagNamespace || no;\n var isReservedTag = options.isReservedTag || no;\n maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };\n\n transforms = pluckModuleFunction(options.modules, 'transformNode');\n preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');\n postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');\n\n delimiters = options.delimiters;\n\n var stack = [];\n var preserveWhitespace = options.preserveWhitespace !== false;\n var whitespaceOption = options.whitespace;\n var root;\n var currentParent;\n var inVPre = false;\n var inPre = false;\n var warned = false;\n\n function warnOnce (msg, range) {\n if (!warned) {\n warned = true;\n warn$2(msg, range);\n }\n }\n\n function closeElement (element) {\n trimEndingWhitespace(element);\n if (!inVPre && !element.processed) {\n element = processElement(element, options);\n }\n // tree management\n if (!stack.length && element !== root) {\n // allow root elements with v-if, v-else-if and v-else\n if (root.if && (element.elseif || element.else)) {\n if (process.env.NODE_ENV !== 'production') {\n checkRootConstraints(element);\n }\n addIfCondition(root, {\n exp: element.elseif,\n block: element\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warnOnce(\n \"Component template should contain exactly one root element. \" +\n \"If you are using v-if on multiple elements, \" +\n \"use v-else-if to chain them instead.\",\n { start: element.start }\n );\n }\n }\n if (currentParent && !element.forbidden) {\n if (element.elseif || element.else) {\n processIfConditions(element, currentParent);\n } else {\n if (element.slotScope) {\n // scoped slot\n // keep it in the children list so that v-else(-if) conditions can\n // find it as the prev node.\n var name = element.slotTarget || '\"default\"'\n ;(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;\n }\n currentParent.children.push(element);\n element.parent = currentParent;\n }\n }\n\n // final children cleanup\n // filter out scoped slots\n element.children = element.children.filter(function (c) { return !(c).slotScope; });\n // remove trailing whitespace node again\n trimEndingWhitespace(element);\n\n // check pre state\n if (element.pre) {\n inVPre = false;\n }\n if (platformIsPreTag(element.tag)) {\n inPre = false;\n }\n // apply post-transforms\n for (var i = 0; i < postTransforms.length; i++) {\n postTransforms[i](element, options);\n }\n }\n\n function trimEndingWhitespace (el) {\n // remove trailing whitespace node\n if (!inPre) {\n var lastNode;\n while (\n (lastNode = el.children[el.children.length - 1]) &&\n lastNode.type === 3 &&\n lastNode.text === ' '\n ) {\n el.children.pop();\n }\n }\n }\n\n function checkRootConstraints (el) {\n if (el.tag === 'slot' || el.tag === 'template') {\n warnOnce(\n \"Cannot use <\" + (el.tag) + \"> as component root element because it may \" +\n 'contain multiple nodes.',\n { start: el.start }\n );\n }\n if (el.attrsMap.hasOwnProperty('v-for')) {\n warnOnce(\n 'Cannot use v-for on stateful component root element because ' +\n 'it renders multiple elements.',\n el.rawAttrsMap['v-for']\n );\n }\n }\n\n parseHTML(template, {\n warn: warn$2,\n expectHTML: options.expectHTML,\n isUnaryTag: options.isUnaryTag,\n canBeLeftOpenTag: options.canBeLeftOpenTag,\n shouldDecodeNewlines: options.shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: options.shouldDecodeNewlinesForHref,\n shouldKeepComment: options.comments,\n outputSourceRange: options.outputSourceRange,\n start: function start (tag, attrs, unary, start$1, end) {\n // check namespace.\n // inherit parent ns if there is one\n var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);\n\n // handle IE svg bug\n /* istanbul ignore if */\n if (isIE && ns === 'svg') {\n attrs = guardIESVGBug(attrs);\n }\n\n var element = createASTElement(tag, attrs, currentParent);\n if (ns) {\n element.ns = ns;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (options.outputSourceRange) {\n element.start = start$1;\n element.end = end;\n element.rawAttrsMap = element.attrsList.reduce(function (cumulated, attr) {\n cumulated[attr.name] = attr;\n return cumulated\n }, {});\n }\n attrs.forEach(function (attr) {\n if (invalidAttributeRE.test(attr.name)) {\n warn$2(\n \"Invalid dynamic argument expression: attribute names cannot contain \" +\n \"spaces, quotes, <, >, / or =.\",\n {\n start: attr.start + attr.name.indexOf(\"[\"),\n end: attr.start + attr.name.length\n }\n );\n }\n });\n }\n\n if (isForbiddenTag(element) && !isServerRendering()) {\n element.forbidden = true;\n process.env.NODE_ENV !== 'production' && warn$2(\n 'Templates should only be responsible for mapping the state to the ' +\n 'UI. Avoid placing tags with side-effects in your templates, such as ' +\n \"<\" + tag + \">\" + ', as they will not be parsed.',\n { start: element.start }\n );\n }\n\n // apply pre-transforms\n for (var i = 0; i < preTransforms.length; i++) {\n element = preTransforms[i](element, options) || element;\n }\n\n if (!inVPre) {\n processPre(element);\n if (element.pre) {\n inVPre = true;\n }\n }\n if (platformIsPreTag(element.tag)) {\n inPre = true;\n }\n if (inVPre) {\n processRawAttrs(element);\n } else if (!element.processed) {\n // structural directives\n processFor(element);\n processIf(element);\n processOnce(element);\n }\n\n if (!root) {\n root = element;\n if (process.env.NODE_ENV !== 'production') {\n checkRootConstraints(root);\n }\n }\n\n if (!unary) {\n currentParent = element;\n stack.push(element);\n } else {\n closeElement(element);\n }\n },\n\n end: function end (tag, start, end$1) {\n var element = stack[stack.length - 1];\n // pop stack\n stack.length -= 1;\n currentParent = stack[stack.length - 1];\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n element.end = end$1;\n }\n closeElement(element);\n },\n\n chars: function chars (text, start, end) {\n if (!currentParent) {\n if (process.env.NODE_ENV !== 'production') {\n if (text === template) {\n warnOnce(\n 'Component template requires a root element, rather than just text.',\n { start: start }\n );\n } else if ((text = text.trim())) {\n warnOnce(\n (\"text \\\"\" + text + \"\\\" outside root element will be ignored.\"),\n { start: start }\n );\n }\n }\n return\n }\n // IE textarea placeholder bug\n /* istanbul ignore if */\n if (isIE &&\n currentParent.tag === 'textarea' &&\n currentParent.attrsMap.placeholder === text\n ) {\n return\n }\n var children = currentParent.children;\n if (inPre || text.trim()) {\n text = isTextTag(currentParent) ? text : decodeHTMLCached(text);\n } else if (!children.length) {\n // remove the whitespace-only node right after an opening tag\n text = '';\n } else if (whitespaceOption) {\n if (whitespaceOption === 'condense') {\n // in condense mode, remove the whitespace node if it contains\n // line break, otherwise condense to a single space\n text = lineBreakRE.test(text) ? '' : ' ';\n } else {\n text = ' ';\n }\n } else {\n text = preserveWhitespace ? ' ' : '';\n }\n if (text) {\n if (!inPre && whitespaceOption === 'condense') {\n // condense consecutive whitespaces into single space\n text = text.replace(whitespaceRE$1, ' ');\n }\n var res;\n var child;\n if (!inVPre && text !== ' ' && (res = parseText(text, delimiters))) {\n child = {\n type: 2,\n expression: res.expression,\n tokens: res.tokens,\n text: text\n };\n } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {\n child = {\n type: 3,\n text: text\n };\n }\n if (child) {\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n child.start = start;\n child.end = end;\n }\n children.push(child);\n }\n }\n },\n comment: function comment (text, start, end) {\n // adding anyting as a sibling to the root node is forbidden\n // comments should still be allowed, but ignored\n if (currentParent) {\n var child = {\n type: 3,\n text: text,\n isComment: true\n };\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n child.start = start;\n child.end = end;\n }\n currentParent.children.push(child);\n }\n }\n });\n return root\n}\n\nfunction processPre (el) {\n if (getAndRemoveAttr(el, 'v-pre') != null) {\n el.pre = true;\n }\n}\n\nfunction processRawAttrs (el) {\n var list = el.attrsList;\n var len = list.length;\n if (len) {\n var attrs = el.attrs = new Array(len);\n for (var i = 0; i < len; i++) {\n attrs[i] = {\n name: list[i].name,\n value: JSON.stringify(list[i].value)\n };\n if (list[i].start != null) {\n attrs[i].start = list[i].start;\n attrs[i].end = list[i].end;\n }\n }\n } else if (!el.pre) {\n // non root node in pre blocks with no attributes\n el.plain = true;\n }\n}\n\nfunction processElement (\n element,\n options\n) {\n processKey(element);\n\n // determine whether this is a plain element after\n // removing structural attributes\n element.plain = (\n !element.key &&\n !element.scopedSlots &&\n !element.attrsList.length\n );\n\n processRef(element);\n processSlotContent(element);\n processSlotOutlet(element);\n processComponent(element);\n for (var i = 0; i < transforms.length; i++) {\n element = transforms[i](element, options) || element;\n }\n processAttrs(element);\n return element\n}\n\nfunction processKey (el) {\n var exp = getBindingAttr(el, 'key');\n if (exp) {\n if (process.env.NODE_ENV !== 'production') {\n if (el.tag === 'template') {\n warn$2(\n \"<template> cannot be keyed. Place the key on real elements instead.\",\n getRawBindingAttr(el, 'key')\n );\n }\n if (el.for) {\n var iterator = el.iterator2 || el.iterator1;\n var parent = el.parent;\n if (iterator && iterator === exp && parent && parent.tag === 'transition-group') {\n warn$2(\n \"Do not use v-for index as key on <transition-group> children, \" +\n \"this is the same as not using keys.\",\n getRawBindingAttr(el, 'key'),\n true /* tip */\n );\n }\n }\n }\n el.key = exp;\n }\n}\n\nfunction processRef (el) {\n var ref = getBindingAttr(el, 'ref');\n if (ref) {\n el.ref = ref;\n el.refInFor = checkInFor(el);\n }\n}\n\nfunction processFor (el) {\n var exp;\n if ((exp = getAndRemoveAttr(el, 'v-for'))) {\n var res = parseFor(exp);\n if (res) {\n extend(el, res);\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n (\"Invalid v-for expression: \" + exp),\n el.rawAttrsMap['v-for']\n );\n }\n }\n}\n\n\n\nfunction parseFor (exp) {\n var inMatch = exp.match(forAliasRE);\n if (!inMatch) { return }\n var res = {};\n res.for = inMatch[2].trim();\n var alias = inMatch[1].trim().replace(stripParensRE, '');\n var iteratorMatch = alias.match(forIteratorRE);\n if (iteratorMatch) {\n res.alias = alias.replace(forIteratorRE, '').trim();\n res.iterator1 = iteratorMatch[1].trim();\n if (iteratorMatch[2]) {\n res.iterator2 = iteratorMatch[2].trim();\n }\n } else {\n res.alias = alias;\n }\n return res\n}\n\nfunction processIf (el) {\n var exp = getAndRemoveAttr(el, 'v-if');\n if (exp) {\n el.if = exp;\n addIfCondition(el, {\n exp: exp,\n block: el\n });\n } else {\n if (getAndRemoveAttr(el, 'v-else') != null) {\n el.else = true;\n }\n var elseif = getAndRemoveAttr(el, 'v-else-if');\n if (elseif) {\n el.elseif = elseif;\n }\n }\n}\n\nfunction processIfConditions (el, parent) {\n var prev = findPrevElement(parent.children);\n if (prev && prev.if) {\n addIfCondition(prev, {\n exp: el.elseif,\n block: el\n });\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n \"v-\" + (el.elseif ? ('else-if=\"' + el.elseif + '\"') : 'else') + \" \" +\n \"used on element <\" + (el.tag) + \"> without corresponding v-if.\",\n el.rawAttrsMap[el.elseif ? 'v-else-if' : 'v-else']\n );\n }\n}\n\nfunction findPrevElement (children) {\n var i = children.length;\n while (i--) {\n if (children[i].type === 1) {\n return children[i]\n } else {\n if (process.env.NODE_ENV !== 'production' && children[i].text !== ' ') {\n warn$2(\n \"text \\\"\" + (children[i].text.trim()) + \"\\\" between v-if and v-else(-if) \" +\n \"will be ignored.\",\n children[i]\n );\n }\n children.pop();\n }\n }\n}\n\nfunction addIfCondition (el, condition) {\n if (!el.ifConditions) {\n el.ifConditions = [];\n }\n el.ifConditions.push(condition);\n}\n\nfunction processOnce (el) {\n var once$$1 = getAndRemoveAttr(el, 'v-once');\n if (once$$1 != null) {\n el.once = true;\n }\n}\n\n// handle content being passed to a component as slot,\n// e.g. <template slot=\"xxx\">, <div slot-scope=\"xxx\">\nfunction processSlotContent (el) {\n var slotScope;\n if (el.tag === 'template') {\n slotScope = getAndRemoveAttr(el, 'scope');\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && slotScope) {\n warn$2(\n \"the \\\"scope\\\" attribute for scoped slots have been deprecated and \" +\n \"replaced by \\\"slot-scope\\\" since 2.5. The new \\\"slot-scope\\\" attribute \" +\n \"can also be used on plain elements in addition to <template> to \" +\n \"denote scoped slots.\",\n el.rawAttrsMap['scope'],\n true\n );\n }\n el.slotScope = slotScope || getAndRemoveAttr(el, 'slot-scope');\n } else if ((slotScope = getAndRemoveAttr(el, 'slot-scope'))) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && el.attrsMap['v-for']) {\n warn$2(\n \"Ambiguous combined usage of slot-scope and v-for on <\" + (el.tag) + \"> \" +\n \"(v-for takes higher priority). Use a wrapper <template> for the \" +\n \"scoped slot to make it clearer.\",\n el.rawAttrsMap['slot-scope'],\n true\n );\n }\n el.slotScope = slotScope;\n }\n\n // slot=\"xxx\"\n var slotTarget = getBindingAttr(el, 'slot');\n if (slotTarget) {\n el.slotTarget = slotTarget === '\"\"' ? '\"default\"' : slotTarget;\n el.slotTargetDynamic = !!(el.attrsMap[':slot'] || el.attrsMap['v-bind:slot']);\n // preserve slot as an attribute for native shadow DOM compat\n // only for non-scoped slots.\n if (el.tag !== 'template' && !el.slotScope) {\n addAttr(el, 'slot', slotTarget, getRawBindingAttr(el, 'slot'));\n }\n }\n\n // 2.6 v-slot syntax\n {\n if (el.tag === 'template') {\n // v-slot on <template>\n var slotBinding = getAndRemoveAttrByRegex(el, slotRE);\n if (slotBinding) {\n if (process.env.NODE_ENV !== 'production') {\n if (el.slotTarget || el.slotScope) {\n warn$2(\n \"Unexpected mixed usage of different slot syntaxes.\",\n el\n );\n }\n if (el.parent && !maybeComponent(el.parent)) {\n warn$2(\n \"<template v-slot> can only appear at the root level inside \" +\n \"the receiving component\",\n el\n );\n }\n }\n var ref = getSlotName(slotBinding);\n var name = ref.name;\n var dynamic = ref.dynamic;\n el.slotTarget = name;\n el.slotTargetDynamic = dynamic;\n el.slotScope = slotBinding.value || emptySlotScopeToken; // force it into a scoped slot for perf\n }\n } else {\n // v-slot on component, denotes default slot\n var slotBinding$1 = getAndRemoveAttrByRegex(el, slotRE);\n if (slotBinding$1) {\n if (process.env.NODE_ENV !== 'production') {\n if (!maybeComponent(el)) {\n warn$2(\n \"v-slot can only be used on components or <template>.\",\n slotBinding$1\n );\n }\n if (el.slotScope || el.slotTarget) {\n warn$2(\n \"Unexpected mixed usage of different slot syntaxes.\",\n el\n );\n }\n if (el.scopedSlots) {\n warn$2(\n \"To avoid scope ambiguity, the default slot should also use \" +\n \"<template> syntax when there are other named slots.\",\n slotBinding$1\n );\n }\n }\n // add the component's children to its default slot\n var slots = el.scopedSlots || (el.scopedSlots = {});\n var ref$1 = getSlotName(slotBinding$1);\n var name$1 = ref$1.name;\n var dynamic$1 = ref$1.dynamic;\n var slotContainer = slots[name$1] = createASTElement('template', [], el);\n slotContainer.slotTarget = name$1;\n slotContainer.slotTargetDynamic = dynamic$1;\n slotContainer.children = el.children.filter(function (c) {\n if (!c.slotScope) {\n c.parent = slotContainer;\n return true\n }\n });\n slotContainer.slotScope = slotBinding$1.value || emptySlotScopeToken;\n // remove children as they are returned from scopedSlots now\n el.children = [];\n // mark el non-plain so data gets generated\n el.plain = false;\n }\n }\n }\n}\n\nfunction getSlotName (binding) {\n var name = binding.name.replace(slotRE, '');\n if (!name) {\n if (binding.name[0] !== '#') {\n name = 'default';\n } else if (process.env.NODE_ENV !== 'production') {\n warn$2(\n \"v-slot shorthand syntax requires a slot name.\",\n binding\n );\n }\n }\n return dynamicArgRE.test(name)\n // dynamic [name]\n ? { name: name.slice(1, -1), dynamic: true }\n // static name\n : { name: (\"\\\"\" + name + \"\\\"\"), dynamic: false }\n}\n\n// handle <slot/> outlets\nfunction processSlotOutlet (el) {\n if (el.tag === 'slot') {\n el.slotName = getBindingAttr(el, 'name');\n if (process.env.NODE_ENV !== 'production' && el.key) {\n warn$2(\n \"`key` does not work on <slot> because slots are abstract outlets \" +\n \"and can possibly expand into multiple elements. \" +\n \"Use the key on a wrapping element instead.\",\n getRawBindingAttr(el, 'key')\n );\n }\n }\n}\n\nfunction processComponent (el) {\n var binding;\n if ((binding = getBindingAttr(el, 'is'))) {\n el.component = binding;\n }\n if (getAndRemoveAttr(el, 'inline-template') != null) {\n el.inlineTemplate = true;\n }\n}\n\nfunction processAttrs (el) {\n var list = el.attrsList;\n var i, l, name, rawName, value, modifiers, syncGen, isDynamic;\n for (i = 0, l = list.length; i < l; i++) {\n name = rawName = list[i].name;\n value = list[i].value;\n if (dirRE.test(name)) {\n // mark element as dynamic\n el.hasBindings = true;\n // modifiers\n modifiers = parseModifiers(name.replace(dirRE, ''));\n // support .foo shorthand syntax for the .prop modifier\n if (modifiers) {\n name = name.replace(modifierRE, '');\n }\n if (bindRE.test(name)) { // v-bind\n name = name.replace(bindRE, '');\n value = parseFilters(value);\n isDynamic = dynamicArgRE.test(name);\n if (isDynamic) {\n name = name.slice(1, -1);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n value.trim().length === 0\n ) {\n warn$2(\n (\"The value for a v-bind expression cannot be empty. Found in \\\"v-bind:\" + name + \"\\\"\")\n );\n }\n if (modifiers) {\n if (modifiers.prop && !isDynamic) {\n name = camelize(name);\n if (name === 'innerHtml') { name = 'innerHTML'; }\n }\n if (modifiers.camel && !isDynamic) {\n name = camelize(name);\n }\n if (modifiers.sync) {\n syncGen = genAssignmentCode(value, \"$event\");\n if (!isDynamic) {\n addHandler(\n el,\n (\"update:\" + (camelize(name))),\n syncGen,\n null,\n false,\n warn$2,\n list[i]\n );\n if (hyphenate(name) !== camelize(name)) {\n addHandler(\n el,\n (\"update:\" + (hyphenate(name))),\n syncGen,\n null,\n false,\n warn$2,\n list[i]\n );\n }\n } else {\n // handler w/ dynamic event name\n addHandler(\n el,\n (\"\\\"update:\\\"+(\" + name + \")\"),\n syncGen,\n null,\n false,\n warn$2,\n list[i],\n true // dynamic\n );\n }\n }\n }\n if ((modifiers && modifiers.prop) || (\n !el.component && platformMustUseProp(el.tag, el.attrsMap.type, name)\n )) {\n addProp(el, name, value, list[i], isDynamic);\n } else {\n addAttr(el, name, value, list[i], isDynamic);\n }\n } else if (onRE.test(name)) { // v-on\n name = name.replace(onRE, '');\n isDynamic = dynamicArgRE.test(name);\n if (isDynamic) {\n name = name.slice(1, -1);\n }\n addHandler(el, name, value, modifiers, false, warn$2, list[i], isDynamic);\n } else { // normal directives\n name = name.replace(dirRE, '');\n // parse arg\n var argMatch = name.match(argRE);\n var arg = argMatch && argMatch[1];\n isDynamic = false;\n if (arg) {\n name = name.slice(0, -(arg.length + 1));\n if (dynamicArgRE.test(arg)) {\n arg = arg.slice(1, -1);\n isDynamic = true;\n }\n }\n addDirective(el, name, rawName, value, arg, isDynamic, modifiers, list[i]);\n if (process.env.NODE_ENV !== 'production' && name === 'model') {\n checkForAliasModel(el, value);\n }\n }\n } else {\n // literal attribute\n if (process.env.NODE_ENV !== 'production') {\n var res = parseText(value, delimiters);\n if (res) {\n warn$2(\n name + \"=\\\"\" + value + \"\\\": \" +\n 'Interpolation inside attributes has been removed. ' +\n 'Use v-bind or the colon shorthand instead. For example, ' +\n 'instead of <div id=\"{{ val }}\">, use <div :id=\"val\">.',\n list[i]\n );\n }\n }\n addAttr(el, name, JSON.stringify(value), list[i]);\n // #6887 firefox doesn't update muted state if set via attribute\n // even immediately after element creation\n if (!el.component &&\n name === 'muted' &&\n platformMustUseProp(el.tag, el.attrsMap.type, name)) {\n addProp(el, name, 'true', list[i]);\n }\n }\n }\n}\n\nfunction checkInFor (el) {\n var parent = el;\n while (parent) {\n if (parent.for !== undefined) {\n return true\n }\n parent = parent.parent;\n }\n return false\n}\n\nfunction parseModifiers (name) {\n var match = name.match(modifierRE);\n if (match) {\n var ret = {};\n match.forEach(function (m) { ret[m.slice(1)] = true; });\n return ret\n }\n}\n\nfunction makeAttrsMap (attrs) {\n var map = {};\n for (var i = 0, l = attrs.length; i < l; i++) {\n if (\n process.env.NODE_ENV !== 'production' &&\n map[attrs[i].name] && !isIE && !isEdge\n ) {\n warn$2('duplicate attribute: ' + attrs[i].name, attrs[i]);\n }\n map[attrs[i].name] = attrs[i].value;\n }\n return map\n}\n\n// for script (e.g. type=\"x/template\") or style, do not decode content\nfunction isTextTag (el) {\n return el.tag === 'script' || el.tag === 'style'\n}\n\nfunction isForbiddenTag (el) {\n return (\n el.tag === 'style' ||\n (el.tag === 'script' && (\n !el.attrsMap.type ||\n el.attrsMap.type === 'text/javascript'\n ))\n )\n}\n\nvar ieNSBug = /^xmlns:NS\\d+/;\nvar ieNSPrefix = /^NS\\d+:/;\n\n/* istanbul ignore next */\nfunction guardIESVGBug (attrs) {\n var res = [];\n for (var i = 0; i < attrs.length; i++) {\n var attr = attrs[i];\n if (!ieNSBug.test(attr.name)) {\n attr.name = attr.name.replace(ieNSPrefix, '');\n res.push(attr);\n }\n }\n return res\n}\n\nfunction checkForAliasModel (el, value) {\n var _el = el;\n while (_el) {\n if (_el.for && _el.alias === value) {\n warn$2(\n \"<\" + (el.tag) + \" v-model=\\\"\" + value + \"\\\">: \" +\n \"You are binding v-model directly to a v-for iteration alias. \" +\n \"This will not be able to modify the v-for source array because \" +\n \"writing to the alias is like modifying a function local variable. \" +\n \"Consider using an array of objects and use v-model on an object property instead.\",\n el.rawAttrsMap['v-model']\n );\n }\n _el = _el.parent;\n }\n}\n\n/* */\n\nfunction preTransformNode (el, options) {\n if (el.tag === 'input') {\n var map = el.attrsMap;\n if (!map['v-model']) {\n return\n }\n\n var typeBinding;\n if (map[':type'] || map['v-bind:type']) {\n typeBinding = getBindingAttr(el, 'type');\n }\n if (!map.type && !typeBinding && map['v-bind']) {\n typeBinding = \"(\" + (map['v-bind']) + \").type\";\n }\n\n if (typeBinding) {\n var ifCondition = getAndRemoveAttr(el, 'v-if', true);\n var ifConditionExtra = ifCondition ? (\"&&(\" + ifCondition + \")\") : \"\";\n var hasElse = getAndRemoveAttr(el, 'v-else', true) != null;\n var elseIfCondition = getAndRemoveAttr(el, 'v-else-if', true);\n // 1. checkbox\n var branch0 = cloneASTElement(el);\n // process for on the main node\n processFor(branch0);\n addRawAttr(branch0, 'type', 'checkbox');\n processElement(branch0, options);\n branch0.processed = true; // prevent it from double-processed\n branch0.if = \"(\" + typeBinding + \")==='checkbox'\" + ifConditionExtra;\n addIfCondition(branch0, {\n exp: branch0.if,\n block: branch0\n });\n // 2. add radio else-if condition\n var branch1 = cloneASTElement(el);\n getAndRemoveAttr(branch1, 'v-for', true);\n addRawAttr(branch1, 'type', 'radio');\n processElement(branch1, options);\n addIfCondition(branch0, {\n exp: \"(\" + typeBinding + \")==='radio'\" + ifConditionExtra,\n block: branch1\n });\n // 3. other\n var branch2 = cloneASTElement(el);\n getAndRemoveAttr(branch2, 'v-for', true);\n addRawAttr(branch2, ':type', typeBinding);\n processElement(branch2, options);\n addIfCondition(branch0, {\n exp: ifCondition,\n block: branch2\n });\n\n if (hasElse) {\n branch0.else = true;\n } else if (elseIfCondition) {\n branch0.elseif = elseIfCondition;\n }\n\n return branch0\n }\n }\n}\n\nfunction cloneASTElement (el) {\n return createASTElement(el.tag, el.attrsList.slice(), el.parent)\n}\n\nvar model$1 = {\n preTransformNode: preTransformNode\n};\n\nvar modules$1 = [\n klass$1,\n style$1,\n model$1\n];\n\n/* */\n\nfunction text (el, dir) {\n if (dir.value) {\n addProp(el, 'textContent', (\"_s(\" + (dir.value) + \")\"), dir);\n }\n}\n\n/* */\n\nfunction html (el, dir) {\n if (dir.value) {\n addProp(el, 'innerHTML', (\"_s(\" + (dir.value) + \")\"), dir);\n }\n}\n\nvar directives$1 = {\n model: model,\n text: text,\n html: html\n};\n\n/* */\n\nvar baseOptions = {\n expectHTML: true,\n modules: modules$1,\n directives: directives$1,\n isPreTag: isPreTag,\n isUnaryTag: isUnaryTag,\n mustUseProp: mustUseProp,\n canBeLeftOpenTag: canBeLeftOpenTag,\n isReservedTag: isReservedTag,\n getTagNamespace: getTagNamespace,\n staticKeys: genStaticKeys(modules$1)\n};\n\n/* */\n\nvar isStaticKey;\nvar isPlatformReservedTag;\n\nvar genStaticKeysCached = cached(genStaticKeys$1);\n\n/**\n * Goal of the optimizer: walk the generated template AST tree\n * and detect sub-trees that are purely static, i.e. parts of\n * the DOM that never needs to change.\n *\n * Once we detect these sub-trees, we can:\n *\n * 1. Hoist them into constants, so that we no longer need to\n * create fresh nodes for them on each re-render;\n * 2. Completely skip them in the patching process.\n */\nfunction optimize (root, options) {\n if (!root) { return }\n isStaticKey = genStaticKeysCached(options.staticKeys || '');\n isPlatformReservedTag = options.isReservedTag || no;\n // first pass: mark all non-static nodes.\n markStatic$1(root);\n // second pass: mark static roots.\n markStaticRoots(root, false);\n}\n\nfunction genStaticKeys$1 (keys) {\n return makeMap(\n 'type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap' +\n (keys ? ',' + keys : '')\n )\n}\n\nfunction markStatic$1 (node) {\n node.static = isStatic(node);\n if (node.type === 1) {\n // do not make component slot content static. this avoids\n // 1. components not able to mutate slot nodes\n // 2. static slot content fails for hot-reloading\n if (\n !isPlatformReservedTag(node.tag) &&\n node.tag !== 'slot' &&\n node.attrsMap['inline-template'] == null\n ) {\n return\n }\n for (var i = 0, l = node.children.length; i < l; i++) {\n var child = node.children[i];\n markStatic$1(child);\n if (!child.static) {\n node.static = false;\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n var block = node.ifConditions[i$1].block;\n markStatic$1(block);\n if (!block.static) {\n node.static = false;\n }\n }\n }\n }\n}\n\nfunction markStaticRoots (node, isInFor) {\n if (node.type === 1) {\n if (node.static || node.once) {\n node.staticInFor = isInFor;\n }\n // For a node to qualify as a static root, it should have children that\n // are not just static text. Otherwise the cost of hoisting out will\n // outweigh the benefits and it's better off to just always render it fresh.\n if (node.static && node.children.length && !(\n node.children.length === 1 &&\n node.children[0].type === 3\n )) {\n node.staticRoot = true;\n return\n } else {\n node.staticRoot = false;\n }\n if (node.children) {\n for (var i = 0, l = node.children.length; i < l; i++) {\n markStaticRoots(node.children[i], isInFor || !!node.for);\n }\n }\n if (node.ifConditions) {\n for (var i$1 = 1, l$1 = node.ifConditions.length; i$1 < l$1; i$1++) {\n markStaticRoots(node.ifConditions[i$1].block, isInFor);\n }\n }\n }\n}\n\nfunction isStatic (node) {\n if (node.type === 2) { // expression\n return false\n }\n if (node.type === 3) { // text\n return true\n }\n return !!(node.pre || (\n !node.hasBindings && // no dynamic bindings\n !node.if && !node.for && // not v-if or v-for or v-else\n !isBuiltInTag(node.tag) && // not a built-in\n isPlatformReservedTag(node.tag) && // not a component\n !isDirectChildOfTemplateFor(node) &&\n Object.keys(node).every(isStaticKey)\n ))\n}\n\nfunction isDirectChildOfTemplateFor (node) {\n while (node.parent) {\n node = node.parent;\n if (node.tag !== 'template') {\n return false\n }\n if (node.for) {\n return true\n }\n }\n return false\n}\n\n/* */\n\nvar fnExpRE = /^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function(?:\\s+[\\w$]+)?\\s*\\(/;\nvar fnInvokeRE = /\\([^)]*?\\);*$/;\nvar simplePathRE = /^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/;\n\n// KeyboardEvent.keyCode aliases\nvar keyCodes = {\n esc: 27,\n tab: 9,\n enter: 13,\n space: 32,\n up: 38,\n left: 37,\n right: 39,\n down: 40,\n 'delete': [8, 46]\n};\n\n// KeyboardEvent.key aliases\nvar keyNames = {\n // #7880: IE11 and Edge use `Esc` for Escape key name.\n esc: ['Esc', 'Escape'],\n tab: 'Tab',\n enter: 'Enter',\n // #9112: IE11 uses `Spacebar` for Space key name.\n space: [' ', 'Spacebar'],\n // #7806: IE11 uses key names without `Arrow` prefix for arrow keys.\n up: ['Up', 'ArrowUp'],\n left: ['Left', 'ArrowLeft'],\n right: ['Right', 'ArrowRight'],\n down: ['Down', 'ArrowDown'],\n // #9112: IE11 uses `Del` for Delete key name.\n 'delete': ['Backspace', 'Delete', 'Del']\n};\n\n// #4868: modifiers that prevent the execution of the listener\n// need to explicitly return null so that we can determine whether to remove\n// the listener for .once\nvar genGuard = function (condition) { return (\"if(\" + condition + \")return null;\"); };\n\nvar modifierCode = {\n stop: '$event.stopPropagation();',\n prevent: '$event.preventDefault();',\n self: genGuard(\"$event.target !== $event.currentTarget\"),\n ctrl: genGuard(\"!$event.ctrlKey\"),\n shift: genGuard(\"!$event.shiftKey\"),\n alt: genGuard(\"!$event.altKey\"),\n meta: genGuard(\"!$event.metaKey\"),\n left: genGuard(\"'button' in $event && $event.button !== 0\"),\n middle: genGuard(\"'button' in $event && $event.button !== 1\"),\n right: genGuard(\"'button' in $event && $event.button !== 2\")\n};\n\nfunction genHandlers (\n events,\n isNative\n) {\n var prefix = isNative ? 'nativeOn:' : 'on:';\n var staticHandlers = \"\";\n var dynamicHandlers = \"\";\n for (var name in events) {\n var handlerCode = genHandler(events[name]);\n if (events[name] && events[name].dynamic) {\n dynamicHandlers += name + \",\" + handlerCode + \",\";\n } else {\n staticHandlers += \"\\\"\" + name + \"\\\":\" + handlerCode + \",\";\n }\n }\n staticHandlers = \"{\" + (staticHandlers.slice(0, -1)) + \"}\";\n if (dynamicHandlers) {\n return prefix + \"_d(\" + staticHandlers + \",[\" + (dynamicHandlers.slice(0, -1)) + \"])\"\n } else {\n return prefix + staticHandlers\n }\n}\n\nfunction genHandler (handler) {\n if (!handler) {\n return 'function(){}'\n }\n\n if (Array.isArray(handler)) {\n return (\"[\" + (handler.map(function (handler) { return genHandler(handler); }).join(',')) + \"]\")\n }\n\n var isMethodPath = simplePathRE.test(handler.value);\n var isFunctionExpression = fnExpRE.test(handler.value);\n var isFunctionInvocation = simplePathRE.test(handler.value.replace(fnInvokeRE, ''));\n\n if (!handler.modifiers) {\n if (isMethodPath || isFunctionExpression) {\n return handler.value\n }\n return (\"function($event){\" + (isFunctionInvocation ? (\"return \" + (handler.value)) : handler.value) + \"}\") // inline statement\n } else {\n var code = '';\n var genModifierCode = '';\n var keys = [];\n for (var key in handler.modifiers) {\n if (modifierCode[key]) {\n genModifierCode += modifierCode[key];\n // left/right\n if (keyCodes[key]) {\n keys.push(key);\n }\n } else if (key === 'exact') {\n var modifiers = (handler.modifiers);\n genModifierCode += genGuard(\n ['ctrl', 'shift', 'alt', 'meta']\n .filter(function (keyModifier) { return !modifiers[keyModifier]; })\n .map(function (keyModifier) { return (\"$event.\" + keyModifier + \"Key\"); })\n .join('||')\n );\n } else {\n keys.push(key);\n }\n }\n if (keys.length) {\n code += genKeyFilter(keys);\n }\n // Make sure modifiers like prevent and stop get executed after key filtering\n if (genModifierCode) {\n code += genModifierCode;\n }\n var handlerCode = isMethodPath\n ? (\"return \" + (handler.value) + \"($event)\")\n : isFunctionExpression\n ? (\"return (\" + (handler.value) + \")($event)\")\n : isFunctionInvocation\n ? (\"return \" + (handler.value))\n : handler.value;\n return (\"function($event){\" + code + handlerCode + \"}\")\n }\n}\n\nfunction genKeyFilter (keys) {\n return (\n // make sure the key filters only apply to KeyboardEvents\n // #9441: can't use 'keyCode' in $event because Chrome autofill fires fake\n // key events that do not have keyCode property...\n \"if(!$event.type.indexOf('key')&&\" +\n (keys.map(genFilterCode).join('&&')) + \")return null;\"\n )\n}\n\nfunction genFilterCode (key) {\n var keyVal = parseInt(key, 10);\n if (keyVal) {\n return (\"$event.keyCode!==\" + keyVal)\n }\n var keyCode = keyCodes[key];\n var keyName = keyNames[key];\n return (\n \"_k($event.keyCode,\" +\n (JSON.stringify(key)) + \",\" +\n (JSON.stringify(keyCode)) + \",\" +\n \"$event.key,\" +\n \"\" + (JSON.stringify(keyName)) +\n \")\"\n )\n}\n\n/* */\n\nfunction on (el, dir) {\n if (process.env.NODE_ENV !== 'production' && dir.modifiers) {\n warn(\"v-on without argument does not support modifiers.\");\n }\n el.wrapListeners = function (code) { return (\"_g(\" + code + \",\" + (dir.value) + \")\"); };\n}\n\n/* */\n\nfunction bind$1 (el, dir) {\n el.wrapData = function (code) {\n return (\"_b(\" + code + \",'\" + (el.tag) + \"',\" + (dir.value) + \",\" + (dir.modifiers && dir.modifiers.prop ? 'true' : 'false') + (dir.modifiers && dir.modifiers.sync ? ',true' : '') + \")\")\n };\n}\n\n/* */\n\nvar baseDirectives = {\n on: on,\n bind: bind$1,\n cloak: noop\n};\n\n/* */\n\n\n\n\n\nvar CodegenState = function CodegenState (options) {\n this.options = options;\n this.warn = options.warn || baseWarn;\n this.transforms = pluckModuleFunction(options.modules, 'transformCode');\n this.dataGenFns = pluckModuleFunction(options.modules, 'genData');\n this.directives = extend(extend({}, baseDirectives), options.directives);\n var isReservedTag = options.isReservedTag || no;\n this.maybeComponent = function (el) { return !!el.component || !isReservedTag(el.tag); };\n this.onceId = 0;\n this.staticRenderFns = [];\n this.pre = false;\n};\n\n\n\nfunction generate (\n ast,\n options\n) {\n var state = new CodegenState(options);\n var code = ast ? genElement(ast, state) : '_c(\"div\")';\n return {\n render: (\"with(this){return \" + code + \"}\"),\n staticRenderFns: state.staticRenderFns\n }\n}\n\nfunction genElement (el, state) {\n if (el.parent) {\n el.pre = el.pre || el.parent.pre;\n }\n\n if (el.staticRoot && !el.staticProcessed) {\n return genStatic(el, state)\n } else if (el.once && !el.onceProcessed) {\n return genOnce(el, state)\n } else if (el.for && !el.forProcessed) {\n return genFor(el, state)\n } else if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.tag === 'template' && !el.slotTarget && !state.pre) {\n return genChildren(el, state) || 'void 0'\n } else if (el.tag === 'slot') {\n return genSlot(el, state)\n } else {\n // component or element\n var code;\n if (el.component) {\n code = genComponent(el.component, el, state);\n } else {\n var data;\n if (!el.plain || (el.pre && state.maybeComponent(el))) {\n data = genData$2(el, state);\n }\n\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n code = \"_c('\" + (el.tag) + \"'\" + (data ? (\",\" + data) : '') + (children ? (\",\" + children) : '') + \")\";\n }\n // module transforms\n for (var i = 0; i < state.transforms.length; i++) {\n code = state.transforms[i](el, code);\n }\n return code\n }\n}\n\n// hoist static sub-trees out\nfunction genStatic (el, state) {\n el.staticProcessed = true;\n // Some elements (templates) need to behave differently inside of a v-pre\n // node. All pre nodes are static roots, so we can use this as a location to\n // wrap a state change and reset it upon exiting the pre node.\n var originalPreState = state.pre;\n if (el.pre) {\n state.pre = el.pre;\n }\n state.staticRenderFns.push((\"with(this){return \" + (genElement(el, state)) + \"}\"));\n state.pre = originalPreState;\n return (\"_m(\" + (state.staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + \")\")\n}\n\n// v-once\nfunction genOnce (el, state) {\n el.onceProcessed = true;\n if (el.if && !el.ifProcessed) {\n return genIf(el, state)\n } else if (el.staticInFor) {\n var key = '';\n var parent = el.parent;\n while (parent) {\n if (parent.for) {\n key = parent.key;\n break\n }\n parent = parent.parent;\n }\n if (!key) {\n process.env.NODE_ENV !== 'production' && state.warn(\n \"v-once can only be used inside v-for that is keyed. \",\n el.rawAttrsMap['v-once']\n );\n return genElement(el, state)\n }\n return (\"_o(\" + (genElement(el, state)) + \",\" + (state.onceId++) + \",\" + key + \")\")\n } else {\n return genStatic(el, state)\n }\n}\n\nfunction genIf (\n el,\n state,\n altGen,\n altEmpty\n) {\n el.ifProcessed = true; // avoid recursion\n return genIfConditions(el.ifConditions.slice(), state, altGen, altEmpty)\n}\n\nfunction genIfConditions (\n conditions,\n state,\n altGen,\n altEmpty\n) {\n if (!conditions.length) {\n return altEmpty || '_e()'\n }\n\n var condition = conditions.shift();\n if (condition.exp) {\n return (\"(\" + (condition.exp) + \")?\" + (genTernaryExp(condition.block)) + \":\" + (genIfConditions(conditions, state, altGen, altEmpty)))\n } else {\n return (\"\" + (genTernaryExp(condition.block)))\n }\n\n // v-if with v-once should generate code like (a)?_m(0):_m(1)\n function genTernaryExp (el) {\n return altGen\n ? altGen(el, state)\n : el.once\n ? genOnce(el, state)\n : genElement(el, state)\n }\n}\n\nfunction genFor (\n el,\n state,\n altGen,\n altHelper\n) {\n var exp = el.for;\n var alias = el.alias;\n var iterator1 = el.iterator1 ? (\",\" + (el.iterator1)) : '';\n var iterator2 = el.iterator2 ? (\",\" + (el.iterator2)) : '';\n\n if (process.env.NODE_ENV !== 'production' &&\n state.maybeComponent(el) &&\n el.tag !== 'slot' &&\n el.tag !== 'template' &&\n !el.key\n ) {\n state.warn(\n \"<\" + (el.tag) + \" v-for=\\\"\" + alias + \" in \" + exp + \"\\\">: component lists rendered with \" +\n \"v-for should have explicit keys. \" +\n \"See https://vuejs.org/guide/list.html#key for more info.\",\n el.rawAttrsMap['v-for'],\n true /* tip */\n );\n }\n\n el.forProcessed = true; // avoid recursion\n return (altHelper || '_l') + \"((\" + exp + \"),\" +\n \"function(\" + alias + iterator1 + iterator2 + \"){\" +\n \"return \" + ((altGen || genElement)(el, state)) +\n '})'\n}\n\nfunction genData$2 (el, state) {\n var data = '{';\n\n // directives first.\n // directives may mutate the el's other properties before they are generated.\n var dirs = genDirectives(el, state);\n if (dirs) { data += dirs + ','; }\n\n // key\n if (el.key) {\n data += \"key:\" + (el.key) + \",\";\n }\n // ref\n if (el.ref) {\n data += \"ref:\" + (el.ref) + \",\";\n }\n if (el.refInFor) {\n data += \"refInFor:true,\";\n }\n // pre\n if (el.pre) {\n data += \"pre:true,\";\n }\n // record original tag name for components using \"is\" attribute\n if (el.component) {\n data += \"tag:\\\"\" + (el.tag) + \"\\\",\";\n }\n // module data generation functions\n for (var i = 0; i < state.dataGenFns.length; i++) {\n data += state.dataGenFns[i](el);\n }\n // attributes\n if (el.attrs) {\n data += \"attrs:\" + (genProps(el.attrs)) + \",\";\n }\n // DOM props\n if (el.props) {\n data += \"domProps:\" + (genProps(el.props)) + \",\";\n }\n // event handlers\n if (el.events) {\n data += (genHandlers(el.events, false)) + \",\";\n }\n if (el.nativeEvents) {\n data += (genHandlers(el.nativeEvents, true)) + \",\";\n }\n // slot target\n // only for non-scoped slots\n if (el.slotTarget && !el.slotScope) {\n data += \"slot:\" + (el.slotTarget) + \",\";\n }\n // scoped slots\n if (el.scopedSlots) {\n data += (genScopedSlots(el, el.scopedSlots, state)) + \",\";\n }\n // component v-model\n if (el.model) {\n data += \"model:{value:\" + (el.model.value) + \",callback:\" + (el.model.callback) + \",expression:\" + (el.model.expression) + \"},\";\n }\n // inline-template\n if (el.inlineTemplate) {\n var inlineTemplate = genInlineTemplate(el, state);\n if (inlineTemplate) {\n data += inlineTemplate + \",\";\n }\n }\n data = data.replace(/,$/, '') + '}';\n // v-bind dynamic argument wrap\n // v-bind with dynamic arguments must be applied using the same v-bind object\n // merge helper so that class/style/mustUseProp attrs are handled correctly.\n if (el.dynamicAttrs) {\n data = \"_b(\" + data + \",\\\"\" + (el.tag) + \"\\\",\" + (genProps(el.dynamicAttrs)) + \")\";\n }\n // v-bind data wrap\n if (el.wrapData) {\n data = el.wrapData(data);\n }\n // v-on data wrap\n if (el.wrapListeners) {\n data = el.wrapListeners(data);\n }\n return data\n}\n\nfunction genDirectives (el, state) {\n var dirs = el.directives;\n if (!dirs) { return }\n var res = 'directives:[';\n var hasRuntime = false;\n var i, l, dir, needRuntime;\n for (i = 0, l = dirs.length; i < l; i++) {\n dir = dirs[i];\n needRuntime = true;\n var gen = state.directives[dir.name];\n if (gen) {\n // compile-time directive that manipulates AST.\n // returns true if it also needs a runtime counterpart.\n needRuntime = !!gen(el, dir, state.warn);\n }\n if (needRuntime) {\n hasRuntime = true;\n res += \"{name:\\\"\" + (dir.name) + \"\\\",rawName:\\\"\" + (dir.rawName) + \"\\\"\" + (dir.value ? (\",value:(\" + (dir.value) + \"),expression:\" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (\",arg:\" + (dir.isDynamicArg ? dir.arg : (\"\\\"\" + (dir.arg) + \"\\\"\"))) : '') + (dir.modifiers ? (\",modifiers:\" + (JSON.stringify(dir.modifiers))) : '') + \"},\";\n }\n }\n if (hasRuntime) {\n return res.slice(0, -1) + ']'\n }\n}\n\nfunction genInlineTemplate (el, state) {\n var ast = el.children[0];\n if (process.env.NODE_ENV !== 'production' && (\n el.children.length !== 1 || ast.type !== 1\n )) {\n state.warn(\n 'Inline-template components must have exactly one child element.',\n { start: el.start }\n );\n }\n if (ast && ast.type === 1) {\n var inlineRenderFns = generate(ast, state.options);\n return (\"inlineTemplate:{render:function(){\" + (inlineRenderFns.render) + \"},staticRenderFns:[\" + (inlineRenderFns.staticRenderFns.map(function (code) { return (\"function(){\" + code + \"}\"); }).join(',')) + \"]}\")\n }\n}\n\nfunction genScopedSlots (\n el,\n slots,\n state\n) {\n // by default scoped slots are considered \"stable\", this allows child\n // components with only scoped slots to skip forced updates from parent.\n // but in some cases we have to bail-out of this optimization\n // for example if the slot contains dynamic names, has v-if or v-for on them...\n var needsForceUpdate = el.for || Object.keys(slots).some(function (key) {\n var slot = slots[key];\n return (\n slot.slotTargetDynamic ||\n slot.if ||\n slot.for ||\n containsSlotChild(slot) // is passing down slot from parent which may be dynamic\n )\n });\n\n // #9534: if a component with scoped slots is inside a conditional branch,\n // it's possible for the same component to be reused but with different\n // compiled slot content. To avoid that, we generate a unique key based on\n // the generated code of all the slot contents.\n var needsKey = !!el.if;\n\n // OR when it is inside another scoped slot or v-for (the reactivity may be\n // disconnected due to the intermediate scope variable)\n // #9438, #9506\n // TODO: this can be further optimized by properly analyzing in-scope bindings\n // and skip force updating ones that do not actually use scope variables.\n if (!needsForceUpdate) {\n var parent = el.parent;\n while (parent) {\n if (\n (parent.slotScope && parent.slotScope !== emptySlotScopeToken) ||\n parent.for\n ) {\n needsForceUpdate = true;\n break\n }\n if (parent.if) {\n needsKey = true;\n }\n parent = parent.parent;\n }\n }\n\n var generatedSlots = Object.keys(slots)\n .map(function (key) { return genScopedSlot(slots[key], state); })\n .join(',');\n\n return (\"scopedSlots:_u([\" + generatedSlots + \"]\" + (needsForceUpdate ? \",null,true\" : \"\") + (!needsForceUpdate && needsKey ? (\",null,false,\" + (hash(generatedSlots))) : \"\") + \")\")\n}\n\nfunction hash(str) {\n var hash = 5381;\n var i = str.length;\n while(i) {\n hash = (hash * 33) ^ str.charCodeAt(--i);\n }\n return hash >>> 0\n}\n\nfunction containsSlotChild (el) {\n if (el.type === 1) {\n if (el.tag === 'slot') {\n return true\n }\n return el.children.some(containsSlotChild)\n }\n return false\n}\n\nfunction genScopedSlot (\n el,\n state\n) {\n var isLegacySyntax = el.attrsMap['slot-scope'];\n if (el.if && !el.ifProcessed && !isLegacySyntax) {\n return genIf(el, state, genScopedSlot, \"null\")\n }\n if (el.for && !el.forProcessed) {\n return genFor(el, state, genScopedSlot)\n }\n var slotScope = el.slotScope === emptySlotScopeToken\n ? \"\"\n : String(el.slotScope);\n var fn = \"function(\" + slotScope + \"){\" +\n \"return \" + (el.tag === 'template'\n ? el.if && isLegacySyntax\n ? (\"(\" + (el.if) + \")?\" + (genChildren(el, state) || 'undefined') + \":undefined\")\n : genChildren(el, state) || 'undefined'\n : genElement(el, state)) + \"}\";\n // reverse proxy v-slot without scope on this.$slots\n var reverseProxy = slotScope ? \"\" : \",proxy:true\";\n return (\"{key:\" + (el.slotTarget || \"\\\"default\\\"\") + \",fn:\" + fn + reverseProxy + \"}\")\n}\n\nfunction genChildren (\n el,\n state,\n checkSkip,\n altGenElement,\n altGenNode\n) {\n var children = el.children;\n if (children.length) {\n var el$1 = children[0];\n // optimize single v-for\n if (children.length === 1 &&\n el$1.for &&\n el$1.tag !== 'template' &&\n el$1.tag !== 'slot'\n ) {\n var normalizationType = checkSkip\n ? state.maybeComponent(el$1) ? \",1\" : \",0\"\n : \"\";\n return (\"\" + ((altGenElement || genElement)(el$1, state)) + normalizationType)\n }\n var normalizationType$1 = checkSkip\n ? getNormalizationType(children, state.maybeComponent)\n : 0;\n var gen = altGenNode || genNode;\n return (\"[\" + (children.map(function (c) { return gen(c, state); }).join(',')) + \"]\" + (normalizationType$1 ? (\",\" + normalizationType$1) : ''))\n }\n}\n\n// determine the normalization needed for the children array.\n// 0: no normalization needed\n// 1: simple normalization needed (possible 1-level deep nested array)\n// 2: full normalization needed\nfunction getNormalizationType (\n children,\n maybeComponent\n) {\n var res = 0;\n for (var i = 0; i < children.length; i++) {\n var el = children[i];\n if (el.type !== 1) {\n continue\n }\n if (needsNormalization(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {\n res = 2;\n break\n }\n if (maybeComponent(el) ||\n (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {\n res = 1;\n }\n }\n return res\n}\n\nfunction needsNormalization (el) {\n return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'\n}\n\nfunction genNode (node, state) {\n if (node.type === 1) {\n return genElement(node, state)\n } else if (node.type === 3 && node.isComment) {\n return genComment(node)\n } else {\n return genText(node)\n }\n}\n\nfunction genText (text) {\n return (\"_v(\" + (text.type === 2\n ? text.expression // no need for () because already wrapped in _s()\n : transformSpecialNewlines(JSON.stringify(text.text))) + \")\")\n}\n\nfunction genComment (comment) {\n return (\"_e(\" + (JSON.stringify(comment.text)) + \")\")\n}\n\nfunction genSlot (el, state) {\n var slotName = el.slotName || '\"default\"';\n var children = genChildren(el, state);\n var res = \"_t(\" + slotName + (children ? (\",\" + children) : '');\n var attrs = el.attrs || el.dynamicAttrs\n ? genProps((el.attrs || []).concat(el.dynamicAttrs || []).map(function (attr) { return ({\n // slot props are camelized\n name: camelize(attr.name),\n value: attr.value,\n dynamic: attr.dynamic\n }); }))\n : null;\n var bind$$1 = el.attrsMap['v-bind'];\n if ((attrs || bind$$1) && !children) {\n res += \",null\";\n }\n if (attrs) {\n res += \",\" + attrs;\n }\n if (bind$$1) {\n res += (attrs ? '' : ',null') + \",\" + bind$$1;\n }\n return res + ')'\n}\n\n// componentName is el.component, take it as argument to shun flow's pessimistic refinement\nfunction genComponent (\n componentName,\n el,\n state\n) {\n var children = el.inlineTemplate ? null : genChildren(el, state, true);\n return (\"_c(\" + componentName + \",\" + (genData$2(el, state)) + (children ? (\",\" + children) : '') + \")\")\n}\n\nfunction genProps (props) {\n var staticProps = \"\";\n var dynamicProps = \"\";\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n var value = transformSpecialNewlines(prop.value);\n if (prop.dynamic) {\n dynamicProps += (prop.name) + \",\" + value + \",\";\n } else {\n staticProps += \"\\\"\" + (prop.name) + \"\\\":\" + value + \",\";\n }\n }\n staticProps = \"{\" + (staticProps.slice(0, -1)) + \"}\";\n if (dynamicProps) {\n return (\"_d(\" + staticProps + \",[\" + (dynamicProps.slice(0, -1)) + \"])\")\n } else {\n return staticProps\n }\n}\n\n// #3895, #4268\nfunction transformSpecialNewlines (text) {\n return text\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n}\n\n/* */\n\n\n\n// these keywords should not appear inside expressions, but operators like\n// typeof, instanceof and in are allowed\nvar prohibitedKeywordRE = new RegExp('\\\\b' + (\n 'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +\n 'super,throw,while,yield,delete,export,import,return,switch,default,' +\n 'extends,finally,continue,debugger,function,arguments'\n).split(',').join('\\\\b|\\\\b') + '\\\\b');\n\n// these unary operators should not be used as property/method names\nvar unaryOperatorsRE = new RegExp('\\\\b' + (\n 'delete,typeof,void'\n).split(',').join('\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b') + '\\\\s*\\\\([^\\\\)]*\\\\)');\n\n// strip strings in expressions\nvar stripStringRE = /'(?:[^'\\\\]|\\\\.)*'|\"(?:[^\"\\\\]|\\\\.)*\"|`(?:[^`\\\\]|\\\\.)*\\$\\{|\\}(?:[^`\\\\]|\\\\.)*`|`(?:[^`\\\\]|\\\\.)*`/g;\n\n// detect problematic expressions in a template\nfunction detectErrors (ast, warn) {\n if (ast) {\n checkNode(ast, warn);\n }\n}\n\nfunction checkNode (node, warn) {\n if (node.type === 1) {\n for (var name in node.attrsMap) {\n if (dirRE.test(name)) {\n var value = node.attrsMap[name];\n if (value) {\n var range = node.rawAttrsMap[name];\n if (name === 'v-for') {\n checkFor(node, (\"v-for=\\\"\" + value + \"\\\"\"), warn, range);\n } else if (name === 'v-slot' || name[0] === '#') {\n checkFunctionParameterExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), warn, range);\n } else if (onRE.test(name)) {\n checkEvent(value, (name + \"=\\\"\" + value + \"\\\"\"), warn, range);\n } else {\n checkExpression(value, (name + \"=\\\"\" + value + \"\\\"\"), warn, range);\n }\n }\n }\n }\n if (node.children) {\n for (var i = 0; i < node.children.length; i++) {\n checkNode(node.children[i], warn);\n }\n }\n } else if (node.type === 2) {\n checkExpression(node.expression, node.text, warn, node);\n }\n}\n\nfunction checkEvent (exp, text, warn, range) {\n var stripped = exp.replace(stripStringRE, '');\n var keywordMatch = stripped.match(unaryOperatorsRE);\n if (keywordMatch && stripped.charAt(keywordMatch.index - 1) !== '$') {\n warn(\n \"avoid using JavaScript unary operator as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\" in expression \" + (text.trim()),\n range\n );\n }\n checkExpression(exp, text, warn, range);\n}\n\nfunction checkFor (node, text, warn, range) {\n checkExpression(node.for || '', text, warn, range);\n checkIdentifier(node.alias, 'v-for alias', text, warn, range);\n checkIdentifier(node.iterator1, 'v-for iterator', text, warn, range);\n checkIdentifier(node.iterator2, 'v-for iterator', text, warn, range);\n}\n\nfunction checkIdentifier (\n ident,\n type,\n text,\n warn,\n range\n) {\n if (typeof ident === 'string') {\n try {\n new Function((\"var \" + ident + \"=_\"));\n } catch (e) {\n warn((\"invalid \" + type + \" \\\"\" + ident + \"\\\" in expression: \" + (text.trim())), range);\n }\n }\n}\n\nfunction checkExpression (exp, text, warn, range) {\n try {\n new Function((\"return \" + exp));\n } catch (e) {\n var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);\n if (keywordMatch) {\n warn(\n \"avoid using JavaScript keyword as property name: \" +\n \"\\\"\" + (keywordMatch[0]) + \"\\\"\\n Raw expression: \" + (text.trim()),\n range\n );\n } else {\n warn(\n \"invalid expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\",\n range\n );\n }\n }\n}\n\nfunction checkFunctionParameterExpression (exp, text, warn, range) {\n try {\n new Function(exp, '');\n } catch (e) {\n warn(\n \"invalid function parameter expression: \" + (e.message) + \" in\\n\\n\" +\n \" \" + exp + \"\\n\\n\" +\n \" Raw expression: \" + (text.trim()) + \"\\n\",\n range\n );\n }\n}\n\n/* */\n\nvar range = 2;\n\nfunction generateCodeFrame (\n source,\n start,\n end\n) {\n if ( start === void 0 ) start = 0;\n if ( end === void 0 ) end = source.length;\n\n var lines = source.split(/\\r?\\n/);\n var count = 0;\n var res = [];\n for (var i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (var j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) { continue }\n res.push((\"\" + (j + 1) + (repeat$1(\" \", 3 - String(j + 1).length)) + \"| \" + (lines[j])));\n var lineLength = lines[j].length;\n if (j === i) {\n // push underline\n var pad = start - (count - lineLength) + 1;\n var length = end > count ? lineLength - pad : end - start;\n res.push(\" | \" + repeat$1(\" \", pad) + repeat$1(\"^\", length));\n } else if (j > i) {\n if (end > count) {\n var length$1 = Math.min(end - count, lineLength);\n res.push(\" | \" + repeat$1(\"^\", length$1));\n }\n count += lineLength + 1;\n }\n }\n break\n }\n }\n return res.join('\\n')\n}\n\nfunction repeat$1 (str, n) {\n var result = '';\n if (n > 0) {\n while (true) { // eslint-disable-line\n if (n & 1) { result += str; }\n n >>>= 1;\n if (n <= 0) { break }\n str += str;\n }\n }\n return result\n}\n\n/* */\n\n\n\nfunction createFunction (code, errors) {\n try {\n return new Function(code)\n } catch (err) {\n errors.push({ err: err, code: code });\n return noop\n }\n}\n\nfunction createCompileToFunctionFn (compile) {\n var cache = Object.create(null);\n\n return function compileToFunctions (\n template,\n options,\n vm\n ) {\n options = extend({}, options);\n var warn$$1 = options.warn || warn;\n delete options.warn;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n // detect possible CSP restriction\n try {\n new Function('return 1');\n } catch (e) {\n if (e.toString().match(/unsafe-eval|CSP/)) {\n warn$$1(\n 'It seems you are using the standalone build of Vue.js in an ' +\n 'environment with Content Security Policy that prohibits unsafe-eval. ' +\n 'The template compiler cannot work in this environment. Consider ' +\n 'relaxing the policy to allow unsafe-eval or pre-compiling your ' +\n 'templates into render functions.'\n );\n }\n }\n }\n\n // check cache\n var key = options.delimiters\n ? String(options.delimiters) + template\n : template;\n if (cache[key]) {\n return cache[key]\n }\n\n // compile\n var compiled = compile(template, options);\n\n // check compilation errors/tips\n if (process.env.NODE_ENV !== 'production') {\n if (compiled.errors && compiled.errors.length) {\n if (options.outputSourceRange) {\n compiled.errors.forEach(function (e) {\n warn$$1(\n \"Error compiling template:\\n\\n\" + (e.msg) + \"\\n\\n\" +\n generateCodeFrame(template, e.start, e.end),\n vm\n );\n });\n } else {\n warn$$1(\n \"Error compiling template:\\n\\n\" + template + \"\\n\\n\" +\n compiled.errors.map(function (e) { return (\"- \" + e); }).join('\\n') + '\\n',\n vm\n );\n }\n }\n if (compiled.tips && compiled.tips.length) {\n if (options.outputSourceRange) {\n compiled.tips.forEach(function (e) { return tip(e.msg, vm); });\n } else {\n compiled.tips.forEach(function (msg) { return tip(msg, vm); });\n }\n }\n }\n\n // turn code into functions\n var res = {};\n var fnGenErrors = [];\n res.render = createFunction(compiled.render, fnGenErrors);\n res.staticRenderFns = compiled.staticRenderFns.map(function (code) {\n return createFunction(code, fnGenErrors)\n });\n\n // check function generation errors.\n // this should only happen if there is a bug in the compiler itself.\n // mostly for codegen development use\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production') {\n if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {\n warn$$1(\n \"Failed to generate render function:\\n\\n\" +\n fnGenErrors.map(function (ref) {\n var err = ref.err;\n var code = ref.code;\n\n return ((err.toString()) + \" in\\n\\n\" + code + \"\\n\");\n }).join('\\n'),\n vm\n );\n }\n }\n\n return (cache[key] = res)\n }\n}\n\n/* */\n\nfunction createCompilerCreator (baseCompile) {\n return function createCompiler (baseOptions) {\n function compile (\n template,\n options\n ) {\n var finalOptions = Object.create(baseOptions);\n var errors = [];\n var tips = [];\n\n var warn = function (msg, range, tip) {\n (tip ? tips : errors).push(msg);\n };\n\n if (options) {\n if (process.env.NODE_ENV !== 'production' && options.outputSourceRange) {\n // $flow-disable-line\n var leadingSpaceLength = template.match(/^\\s*/)[0].length;\n\n warn = function (msg, range, tip) {\n var data = { msg: msg };\n if (range) {\n if (range.start != null) {\n data.start = range.start + leadingSpaceLength;\n }\n if (range.end != null) {\n data.end = range.end + leadingSpaceLength;\n }\n }\n (tip ? tips : errors).push(data);\n };\n }\n // merge custom modules\n if (options.modules) {\n finalOptions.modules =\n (baseOptions.modules || []).concat(options.modules);\n }\n // merge custom directives\n if (options.directives) {\n finalOptions.directives = extend(\n Object.create(baseOptions.directives || null),\n options.directives\n );\n }\n // copy other options\n for (var key in options) {\n if (key !== 'modules' && key !== 'directives') {\n finalOptions[key] = options[key];\n }\n }\n }\n\n finalOptions.warn = warn;\n\n var compiled = baseCompile(template.trim(), finalOptions);\n if (process.env.NODE_ENV !== 'production') {\n detectErrors(compiled.ast, warn);\n }\n compiled.errors = errors;\n compiled.tips = tips;\n return compiled\n }\n\n return {\n compile: compile,\n compileToFunctions: createCompileToFunctionFn(compile)\n }\n }\n}\n\n/* */\n\n// `createCompilerCreator` allows creating compilers that use alternative\n// parser/optimizer/codegen, e.g the SSR optimizing compiler.\n// Here we just export a default compiler using the default parts.\nvar createCompiler = createCompilerCreator(function baseCompile (\n template,\n options\n) {\n var ast = parse(template.trim(), options);\n if (options.optimize !== false) {\n optimize(ast, options);\n }\n var code = generate(ast, options);\n return {\n ast: ast,\n render: code.render,\n staticRenderFns: code.staticRenderFns\n }\n});\n\n/* */\n\nvar ref$1 = createCompiler(baseOptions);\nvar compile = ref$1.compile;\nvar compileToFunctions = ref$1.compileToFunctions;\n\n/* */\n\n// check whether current browser encodes a char inside attribute values\nvar div;\nfunction getShouldDecode (href) {\n div = div || document.createElement('div');\n div.innerHTML = href ? \"<a href=\\\"\\n\\\"/>\" : \"<div a=\\\"\\n\\\"/>\";\n return div.innerHTML.indexOf(' ') > 0\n}\n\n// #3663: IE encodes newlines inside attribute values while other browsers don't\nvar shouldDecodeNewlines = inBrowser ? getShouldDecode(false) : false;\n// #6828: chrome encodes content in a[href]\nvar shouldDecodeNewlinesForHref = inBrowser ? getShouldDecode(true) : false;\n\n/* */\n\nvar idToTemplate = cached(function (id) {\n var el = query(id);\n return el && el.innerHTML\n});\n\nvar mount = Vue.prototype.$mount;\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && query(el);\n\n /* istanbul ignore if */\n if (el === document.body || el === document.documentElement) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Do not mount Vue to <html> or <body> - mount to normal elements instead.\"\n );\n return this\n }\n\n var options = this.$options;\n // resolve template/el and convert to render function\n if (!options.render) {\n var template = options.template;\n if (template) {\n if (typeof template === 'string') {\n if (template.charAt(0) === '#') {\n template = idToTemplate(template);\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !template) {\n warn(\n (\"Template element not found or is empty: \" + (options.template)),\n this\n );\n }\n }\n } else if (template.nodeType) {\n template = template.innerHTML;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn('invalid template option:' + template, this);\n }\n return this\n }\n } else if (el) {\n template = getOuterHTML(el);\n }\n if (template) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile');\n }\n\n var ref = compileToFunctions(template, {\n outputSourceRange: process.env.NODE_ENV !== 'production',\n shouldDecodeNewlines: shouldDecodeNewlines,\n shouldDecodeNewlinesForHref: shouldDecodeNewlinesForHref,\n delimiters: options.delimiters,\n comments: options.comments\n }, this);\n var render = ref.render;\n var staticRenderFns = ref.staticRenderFns;\n options.render = render;\n options.staticRenderFns = staticRenderFns;\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n mark('compile end');\n measure((\"vue \" + (this._name) + \" compile\"), 'compile', 'compile end');\n }\n }\n }\n return mount.call(this, el, hydrating)\n};\n\n/**\n * Get outerHTML of elements, taking care\n * of SVG elements in IE as well.\n */\nfunction getOuterHTML (el) {\n if (el.outerHTML) {\n return el.outerHTML\n } else {\n var container = document.createElement('div');\n container.appendChild(el.cloneNode(true));\n return container.innerHTML\n }\n}\n\nVue.compile = compileToFunctions;\n\nexport default Vue;\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\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\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\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 || '';\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 var cookies = require('./../helpers/cookies');\n\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 === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","module.exports = require('./lib/axios');","// tslint:disable:no-unsafe-any\n/**\n * Memo class used for decycle json objects. Uses WeakSet if available otherwise array.\n */\nvar Memo = /** @class */ (function () {\n function Memo() {\n // tslint:disable-next-line\n this._hasWeakSet = typeof WeakSet === 'function';\n this._inner = this._hasWeakSet ? new WeakSet() : [];\n }\n /**\n * Sets obj to remember.\n * @param obj Object to remember\n */\n Memo.prototype.memoize = function (obj) {\n if (this._hasWeakSet) {\n if (this._inner.has(obj)) {\n return true;\n }\n this._inner.add(obj);\n return false;\n }\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < this._inner.length; i++) {\n var value = this._inner[i];\n if (value === obj) {\n return true;\n }\n }\n this._inner.push(obj);\n return false;\n };\n /**\n * Removes object from internal storage.\n * @param obj Object to forget\n */\n Memo.prototype.unmemoize = function (obj) {\n if (this._hasWeakSet) {\n this._inner.delete(obj);\n }\n else {\n for (var i = 0; i < this._inner.length; i++) {\n if (this._inner[i] === obj) {\n this._inner.splice(i, 1);\n break;\n }\n }\n }\n };\n return Memo;\n}());\nexport { Memo };\n//# sourceMappingURL=memo.js.map","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","'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\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","module.exports = false;\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 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 (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\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 * Function equal to merge with the difference being that no reference\n * to original objects is kept.\n *\n * @see merge\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = deepMerge(result[key], val);\n } else if (typeof val === 'object') {\n result[key] = deepMerge({}, val);\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\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 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 deepMerge: deepMerge,\n extend: extend,\n trim: trim\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\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","'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","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 has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var 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 $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'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\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\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","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var originalFunctionToString;\n/** Patch toString calls to return proper name for wrapped functions */\nvar FunctionToString = /** @class */ (function () {\n function FunctionToString() {\n /**\n * @inheritDoc\n */\n this.name = FunctionToString.id;\n }\n /**\n * @inheritDoc\n */\n FunctionToString.prototype.setupOnce = function () {\n originalFunctionToString = Function.prototype.toString;\n Function.prototype.toString = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var context = this.__sentry_original__ || this;\n // tslint:disable-next-line:no-unsafe-any\n return originalFunctionToString.apply(context, args);\n };\n };\n /**\n * @inheritDoc\n */\n FunctionToString.id = 'FunctionToString';\n return FunctionToString;\n}());\nexport { FunctionToString };\n//# sourceMappingURL=functiontostring.js.map","import { isThenable } from './is';\n/** SyncPromise internal states */\nvar States;\n(function (States) {\n /** Pending */\n States[\"PENDING\"] = \"PENDING\";\n /** Resolved / OK */\n States[\"RESOLVED\"] = \"RESOLVED\";\n /** Rejected / Error */\n States[\"REJECTED\"] = \"REJECTED\";\n})(States || (States = {}));\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nvar SyncPromise = /** @class */ (function () {\n function SyncPromise(executor) {\n var _this = this;\n this._state = States.PENDING;\n this._handlers = [];\n /** JSDoc */\n this._resolve = function (value) {\n _this._setResult(States.RESOLVED, value);\n };\n /** JSDoc */\n this._reject = function (reason) {\n _this._setResult(States.REJECTED, reason);\n };\n /** JSDoc */\n this._setResult = function (state, value) {\n if (_this._state !== States.PENDING) {\n return;\n }\n if (isThenable(value)) {\n value.then(_this._resolve, _this._reject);\n return;\n }\n _this._state = state;\n _this._value = value;\n _this._executeHandlers();\n };\n // TODO: FIXME\n /** JSDoc */\n this._attachHandler = function (handler) {\n _this._handlers = _this._handlers.concat(handler);\n _this._executeHandlers();\n };\n /** JSDoc */\n this._executeHandlers = function () {\n if (_this._state === States.PENDING) {\n return;\n }\n var cachedHandlers = _this._handlers.slice();\n _this._handlers = [];\n cachedHandlers.forEach(function (handler) {\n if (handler.done) {\n return;\n }\n if (_this._state === States.RESOLVED) {\n if (handler.onfulfilled) {\n handler.onfulfilled(_this._value);\n }\n }\n if (_this._state === States.REJECTED) {\n if (handler.onrejected) {\n handler.onrejected(_this._value);\n }\n }\n handler.done = true;\n });\n };\n try {\n executor(this._resolve, this._reject);\n }\n catch (e) {\n this._reject(e);\n }\n }\n /** JSDoc */\n SyncPromise.prototype.toString = function () {\n return '[object SyncPromise]';\n };\n /** JSDoc */\n SyncPromise.resolve = function (value) {\n return new SyncPromise(function (resolve) {\n resolve(value);\n });\n };\n /** JSDoc */\n SyncPromise.reject = function (reason) {\n return new SyncPromise(function (_, reject) {\n reject(reason);\n });\n };\n /** JSDoc */\n SyncPromise.all = function (collection) {\n return new SyncPromise(function (resolve, reject) {\n if (!Array.isArray(collection)) {\n reject(new TypeError(\"Promise.all requires an array as input.\"));\n return;\n }\n if (collection.length === 0) {\n resolve([]);\n return;\n }\n var counter = collection.length;\n var resolvedCollection = [];\n collection.forEach(function (item, index) {\n SyncPromise.resolve(item)\n .then(function (value) {\n resolvedCollection[index] = value;\n counter -= 1;\n if (counter !== 0) {\n return;\n }\n resolve(resolvedCollection);\n })\n .then(null, reject);\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.then = function (onfulfilled, onrejected) {\n var _this = this;\n return new SyncPromise(function (resolve, reject) {\n _this._attachHandler({\n done: false,\n onfulfilled: function (result) {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result);\n return;\n }\n try {\n resolve(onfulfilled(result));\n return;\n }\n catch (e) {\n reject(e);\n return;\n }\n },\n onrejected: function (reason) {\n if (!onrejected) {\n reject(reason);\n return;\n }\n try {\n resolve(onrejected(reason));\n return;\n }\n catch (e) {\n reject(e);\n return;\n }\n },\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.catch = function (onrejected) {\n return this.then(function (val) { return val; }, onrejected);\n };\n /** JSDoc */\n SyncPromise.prototype.finally = function (onfinally) {\n var _this = this;\n return new SyncPromise(function (resolve, reject) {\n var val;\n var isRejected;\n return _this.then(function (value) {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n }, function (reason) {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n }).then(function () {\n if (isRejected) {\n reject(val);\n return;\n }\n resolve(val);\n });\n });\n };\n return SyncPromise;\n}());\nexport { SyncPromise };\n//# sourceMappingURL=syncpromise.js.map","import * as tslib_1 from \"tslib\";\nimport { getGlobalObject, isThenable, SyncPromise, timestampWithMs } from '@sentry/utils';\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nvar Scope = /** @class */ (function () {\n function Scope() {\n /** Flag if notifiying is happening. */\n this._notifyingListeners = false;\n /** Callback for client to receive scope changes. */\n this._scopeListeners = [];\n /** Callback list that will be called after {@link applyToEvent}. */\n this._eventProcessors = [];\n /** Array of breadcrumbs. */\n this._breadcrumbs = [];\n /** User */\n this._user = {};\n /** Tags */\n this._tags = {};\n /** Extra */\n this._extra = {};\n /** Contexts */\n this._context = {};\n }\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n Scope.prototype.addScopeListener = function (callback) {\n this._scopeListeners.push(callback);\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.addEventProcessor = function (callback) {\n this._eventProcessors.push(callback);\n return this;\n };\n /**\n * This will be called on every set call.\n */\n Scope.prototype._notifyScopeListeners = function () {\n var _this = this;\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n setTimeout(function () {\n _this._scopeListeners.forEach(function (callback) {\n callback(_this);\n });\n _this._notifyingListeners = false;\n });\n }\n };\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n Scope.prototype._notifyEventProcessors = function (processors, event, hint, index) {\n var _this = this;\n if (index === void 0) { index = 0; }\n return new SyncPromise(function (resolve, reject) {\n var processor = processors[index];\n // tslint:disable-next-line:strict-type-predicates\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n }\n else {\n var result = processor(tslib_1.__assign({}, event), hint);\n if (isThenable(result)) {\n result\n .then(function (final) { return _this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve); })\n .then(null, reject);\n }\n else {\n _this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setUser = function (user) {\n this._user = user || {};\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTags = function (tags) {\n this._tags = tslib_1.__assign({}, this._tags, tags);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTag = function (key, value) {\n var _a;\n this._tags = tslib_1.__assign({}, this._tags, (_a = {}, _a[key] = value, _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setExtras = function (extras) {\n this._extra = tslib_1.__assign({}, this._extra, extras);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setExtra = function (key, extra) {\n var _a;\n this._extra = tslib_1.__assign({}, this._extra, (_a = {}, _a[key] = extra, _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setFingerprint = function (fingerprint) {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setLevel = function (level) {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTransaction = function (transaction) {\n this._transaction = transaction;\n if (this._span) {\n this._span.transaction = transaction;\n }\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setContext = function (key, context) {\n var _a;\n this._context = tslib_1.__assign({}, this._context, (_a = {}, _a[key] = context, _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setSpan = function (span) {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * Internal getter for Span, used in Hub.\n * @hidden\n */\n Scope.prototype.getSpan = function () {\n return this._span;\n };\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n Scope.clone = function (scope) {\n var newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = tslib_1.__spread(scope._breadcrumbs);\n newScope._tags = tslib_1.__assign({}, scope._tags);\n newScope._extra = tslib_1.__assign({}, scope._extra);\n newScope._context = tslib_1.__assign({}, scope._context);\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._transaction = scope._transaction;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = tslib_1.__spread(scope._eventProcessors);\n }\n return newScope;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.clear = function () {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._context = {};\n this._level = undefined;\n this._transaction = undefined;\n this._fingerprint = undefined;\n this._span = undefined;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.addBreadcrumb = function (breadcrumb, maxBreadcrumbs) {\n var mergedBreadcrumb = tslib_1.__assign({ timestamp: timestampWithMs() }, breadcrumb);\n this._breadcrumbs =\n maxBreadcrumbs !== undefined && maxBreadcrumbs >= 0\n ? tslib_1.__spread(this._breadcrumbs, [mergedBreadcrumb]).slice(-maxBreadcrumbs)\n : tslib_1.__spread(this._breadcrumbs, [mergedBreadcrumb]);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.clearBreadcrumbs = function () {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n };\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n Scope.prototype._applyFingerprint = function (event) {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n };\n /**\n * Applies the current context and fingerprint to the event.\n * Note that breadcrumbs will be added by the client.\n * Also if the event has already breadcrumbs on it, we do not merge them.\n * @param event Event\n * @param hint May contain additional informartion about the original exception.\n * @hidden\n */\n Scope.prototype.applyToEvent = function (event, hint) {\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = tslib_1.__assign({}, this._extra, event.extra);\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = tslib_1.__assign({}, this._tags, event.tags);\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = tslib_1.__assign({}, this._user, event.user);\n }\n if (this._context && Object.keys(this._context).length) {\n event.contexts = tslib_1.__assign({}, this._context, event.contexts);\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transaction) {\n event.transaction = this._transaction;\n }\n if (this._span) {\n event.contexts = tslib_1.__assign({ trace: this._span.getTraceContext() }, event.contexts);\n }\n this._applyFingerprint(event);\n event.breadcrumbs = tslib_1.__spread((event.breadcrumbs || []), this._breadcrumbs);\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n return this._notifyEventProcessors(tslib_1.__spread(getGlobalEventProcessors(), this._eventProcessors), event, hint);\n };\n return Scope;\n}());\nexport { Scope };\n/**\n * Retruns the global event processors.\n */\nfunction getGlobalEventProcessors() {\n var global = getGlobalObject();\n global.__SENTRY__ = global.__SENTRY__ || {};\n global.__SENTRY__.globalEventProcessors = global.__SENTRY__.globalEventProcessors || [];\n return global.__SENTRY__.globalEventProcessors;\n}\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nexport function addGlobalEventProcessor(callback) {\n getGlobalEventProcessors().push(callback);\n}\n//# sourceMappingURL=scope.js.map","import * as tslib_1 from \"tslib\";\nimport { consoleSandbox, getGlobalObject, isNodeEnv, logger, timestampWithMs, uuid4 } from '@sentry/utils';\nimport { Scope } from './scope';\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be incresed when the global interface\n * changes a and new methods are introduced.\n *\n * @hidden\n */\nexport var API_VERSION = 3;\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nvar DEFAULT_BREADCRUMBS = 100;\n/**\n * Absolute maximum number of breadcrumbs added to an event. The\n * `maxBreadcrumbs` option cannot be higher than this value.\n */\nvar MAX_BREADCRUMBS = 100;\n/**\n * @inheritDoc\n */\nvar Hub = /** @class */ (function () {\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n function Hub(client, scope, _version) {\n if (scope === void 0) { scope = new Scope(); }\n if (_version === void 0) { _version = API_VERSION; }\n this._version = _version;\n /** Is a {@link Layer}[] containing the client and scope */\n this._stack = [];\n this._stack.push({ client: client, scope: scope });\n }\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n Hub.prototype._invokeClient = function (method) {\n var _a;\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var top = this.getStackTop();\n if (top && top.client && top.client[method]) {\n (_a = top.client)[method].apply(_a, tslib_1.__spread(args, [top.scope]));\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.isOlderThan = function (version) {\n return this._version < version;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.bindClient = function (client) {\n var top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.pushScope = function () {\n // We want to clone the content of prev scope\n var stack = this.getStack();\n var parentScope = stack.length > 0 ? stack[stack.length - 1].scope : undefined;\n var scope = Scope.clone(parentScope);\n this.getStack().push({\n client: this.getClient(),\n scope: scope,\n });\n return scope;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.popScope = function () {\n return this.getStack().pop() !== undefined;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.withScope = function (callback) {\n var scope = this.pushScope();\n try {\n callback(scope);\n }\n finally {\n this.popScope();\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.getClient = function () {\n return this.getStackTop().client;\n };\n /** Returns the scope of the top stack. */\n Hub.prototype.getScope = function () {\n return this.getStackTop().scope;\n };\n /** Returns the scope stack for domains or the process. */\n Hub.prototype.getStack = function () {\n return this._stack;\n };\n /** Returns the topmost scope layer in the order domain > local > process. */\n Hub.prototype.getStackTop = function () {\n return this._stack[this._stack.length - 1];\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureException = function (exception, hint) {\n var eventId = (this._lastEventId = uuid4());\n var finalHint = hint;\n // If there's no explicit hint provided, mimick the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n var syntheticException = void 0;\n try {\n throw new Error('Sentry syntheticException');\n }\n catch (exception) {\n syntheticException = exception;\n }\n finalHint = {\n originalException: exception,\n syntheticException: syntheticException,\n };\n }\n this._invokeClient('captureException', exception, tslib_1.__assign({}, finalHint, { event_id: eventId }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureMessage = function (message, level, hint) {\n var eventId = (this._lastEventId = uuid4());\n var finalHint = hint;\n // If there's no explicit hint provided, mimick the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n var syntheticException = void 0;\n try {\n throw new Error(message);\n }\n catch (exception) {\n syntheticException = exception;\n }\n finalHint = {\n originalException: message,\n syntheticException: syntheticException,\n };\n }\n this._invokeClient('captureMessage', message, level, tslib_1.__assign({}, finalHint, { event_id: eventId }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.captureEvent = function (event, hint) {\n var eventId = (this._lastEventId = uuid4());\n this._invokeClient('captureEvent', event, tslib_1.__assign({}, hint, { event_id: eventId }));\n return eventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.lastEventId = function () {\n return this._lastEventId;\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.addBreadcrumb = function (breadcrumb, hint) {\n var top = this.getStackTop();\n if (!top.scope || !top.client) {\n return;\n }\n var _a = (top.client.getOptions && top.client.getOptions()) || {}, _b = _a.beforeBreadcrumb, beforeBreadcrumb = _b === void 0 ? null : _b, _c = _a.maxBreadcrumbs, maxBreadcrumbs = _c === void 0 ? DEFAULT_BREADCRUMBS : _c;\n if (maxBreadcrumbs <= 0) {\n return;\n }\n var timestamp = timestampWithMs();\n var mergedBreadcrumb = tslib_1.__assign({ timestamp: timestamp }, breadcrumb);\n var finalBreadcrumb = beforeBreadcrumb\n ? consoleSandbox(function () { return beforeBreadcrumb(mergedBreadcrumb, hint); })\n : mergedBreadcrumb;\n if (finalBreadcrumb === null) {\n return;\n }\n top.scope.addBreadcrumb(finalBreadcrumb, Math.min(maxBreadcrumbs, MAX_BREADCRUMBS));\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setUser = function (user) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setUser(user);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setTags = function (tags) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setTags(tags);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setExtras = function (extras) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setExtras(extras);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setTag = function (key, value) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setTag(key, value);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setExtra = function (key, extra) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setExtra(key, extra);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.setContext = function (name, context) {\n var top = this.getStackTop();\n if (!top.scope) {\n return;\n }\n top.scope.setContext(name, context);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.configureScope = function (callback) {\n var top = this.getStackTop();\n if (top.scope && top.client) {\n callback(top.scope);\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.run = function (callback) {\n var oldHub = makeMain(this);\n try {\n callback(this);\n }\n finally {\n makeMain(oldHub);\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.getIntegration = function (integration) {\n var client = this.getClient();\n if (!client) {\n return null;\n }\n try {\n return client.getIntegration(integration);\n }\n catch (_oO) {\n logger.warn(\"Cannot retrieve integration \" + integration.id + \" from the current Hub\");\n return null;\n }\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.startSpan = function (spanOrSpanContext, forceNoChild) {\n if (forceNoChild === void 0) { forceNoChild = false; }\n return this._callExtensionMethod('startSpan', spanOrSpanContext, forceNoChild);\n };\n /**\n * @inheritDoc\n */\n Hub.prototype.traceHeaders = function () {\n return this._callExtensionMethod('traceHeaders');\n };\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-ignore\n Hub.prototype._callExtensionMethod = function (method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var carrier = getMainCarrier();\n var sentry = carrier.__SENTRY__;\n // tslint:disable-next-line: strict-type-predicates\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n logger.warn(\"Extension method \" + method + \" couldn't be found, doing nothing.\");\n };\n return Hub;\n}());\nexport { Hub };\n/** Returns the global shim registry. */\nexport function getMainCarrier() {\n var carrier = getGlobalObject();\n carrier.__SENTRY__ = carrier.__SENTRY__ || {\n extensions: {},\n hub: undefined,\n };\n return carrier;\n}\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nexport function makeMain(hub) {\n var registry = getMainCarrier();\n var oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nexport function getCurrentHub() {\n // Get main carrier (global for every environment)\n var registry = getMainCarrier();\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n // Prefer domains over global if they are there (applicable only to Node environment)\n if (isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n }\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n/**\n * Try to read the hub from an active domain, fallback to the registry if one doesnt exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry) {\n try {\n var property = 'domain';\n var carrier = getMainCarrier();\n var sentry = carrier.__SENTRY__;\n // tslint:disable-next-line: strict-type-predicates\n if (!sentry || !sentry.extensions || !sentry.extensions[property]) {\n return getHubFromCarrier(registry);\n }\n var domain = sentry.extensions[property];\n var activeDomain = domain.active;\n // If there no active domain, just return global hub\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n }\n // If there's no hub on current domain, or its an old API, assign a new one\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n var registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n }\n // Return hub that lives on a domain\n return getHubFromCarrier(activeDomain);\n }\n catch (_Oo) {\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n }\n}\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier) {\n if (carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub) {\n return true;\n }\n return false;\n}\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nexport function getHubFromCarrier(carrier) {\n if (carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub) {\n return carrier.__SENTRY__.hub;\n }\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = new Hub();\n return carrier.__SENTRY__.hub;\n}\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n */\nexport function setHubOnCarrier(carrier, hub) {\n if (!carrier) {\n return false;\n }\n carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n carrier.__SENTRY__.hub = hub;\n return true;\n}\n//# sourceMappingURL=hub.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nvar DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n/** Inbound filters configurable by the user */\nvar InboundFilters = /** @class */ (function () {\n function InboundFilters(_options) {\n if (_options === void 0) { _options = {}; }\n this._options = _options;\n /**\n * @inheritDoc\n */\n this.name = InboundFilters.id;\n }\n /**\n * @inheritDoc\n */\n InboundFilters.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event) {\n var hub = getCurrentHub();\n if (!hub) {\n return event;\n }\n var self = hub.getIntegration(InboundFilters);\n if (self) {\n var client = hub.getClient();\n var clientOptions = client ? client.getOptions() : {};\n var options = self._mergeOptions(clientOptions);\n if (self._shouldDropEvent(event, options)) {\n return null;\n }\n }\n return event;\n });\n };\n /** JSDoc */\n InboundFilters.prototype._shouldDropEvent = function (event, options) {\n if (this._isSentryError(event, options)) {\n logger.warn(\"Event dropped due to being internal Sentry Error.\\nEvent: \" + getEventDescription(event));\n return true;\n }\n if (this._isIgnoredError(event, options)) {\n logger.warn(\"Event dropped due to being matched by `ignoreErrors` option.\\nEvent: \" + getEventDescription(event));\n return true;\n }\n if (this._isBlacklistedUrl(event, options)) {\n logger.warn(\"Event dropped due to being matched by `blacklistUrls` option.\\nEvent: \" + getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n if (!this._isWhitelistedUrl(event, options)) {\n logger.warn(\"Event dropped due to not being matched by `whitelistUrls` option.\\nEvent: \" + getEventDescription(event) + \".\\nUrl: \" + this._getEventFilterUrl(event));\n return true;\n }\n return false;\n };\n /** JSDoc */\n InboundFilters.prototype._isSentryError = function (event, options) {\n if (options === void 0) { options = {}; }\n if (!options.ignoreInternal) {\n return false;\n }\n try {\n return ((event &&\n event.exception &&\n event.exception.values &&\n event.exception.values[0] &&\n event.exception.values[0].type === 'SentryError') ||\n false);\n }\n catch (_oO) {\n return false;\n }\n };\n /** JSDoc */\n InboundFilters.prototype._isIgnoredError = function (event, options) {\n if (options === void 0) { options = {}; }\n if (!options.ignoreErrors || !options.ignoreErrors.length) {\n return false;\n }\n return this._getPossibleEventMessages(event).some(function (message) {\n // Not sure why TypeScript complains here...\n return options.ignoreErrors.some(function (pattern) { return isMatchingPattern(message, pattern); });\n });\n };\n /** JSDoc */\n InboundFilters.prototype._isBlacklistedUrl = function (event, options) {\n if (options === void 0) { options = {}; }\n // TODO: Use Glob instead?\n if (!options.blacklistUrls || !options.blacklistUrls.length) {\n return false;\n }\n var url = this._getEventFilterUrl(event);\n return !url ? false : options.blacklistUrls.some(function (pattern) { return isMatchingPattern(url, pattern); });\n };\n /** JSDoc */\n InboundFilters.prototype._isWhitelistedUrl = function (event, options) {\n if (options === void 0) { options = {}; }\n // TODO: Use Glob instead?\n if (!options.whitelistUrls || !options.whitelistUrls.length) {\n return true;\n }\n var url = this._getEventFilterUrl(event);\n return !url ? true : options.whitelistUrls.some(function (pattern) { return isMatchingPattern(url, pattern); });\n };\n /** JSDoc */\n InboundFilters.prototype._mergeOptions = function (clientOptions) {\n if (clientOptions === void 0) { clientOptions = {}; }\n return {\n blacklistUrls: tslib_1.__spread((this._options.blacklistUrls || []), (clientOptions.blacklistUrls || [])),\n ignoreErrors: tslib_1.__spread((this._options.ignoreErrors || []), (clientOptions.ignoreErrors || []), DEFAULT_IGNORE_ERRORS),\n ignoreInternal: typeof this._options.ignoreInternal !== 'undefined' ? this._options.ignoreInternal : true,\n whitelistUrls: tslib_1.__spread((this._options.whitelistUrls || []), (clientOptions.whitelistUrls || [])),\n };\n };\n /** JSDoc */\n InboundFilters.prototype._getPossibleEventMessages = function (event) {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n var _a = (event.exception.values && event.exception.values[0]) || {}, _b = _a.type, type = _b === void 0 ? '' : _b, _c = _a.value, value = _c === void 0 ? '' : _c;\n return [\"\" + value, type + \": \" + value];\n }\n catch (oO) {\n logger.error(\"Cannot extract message for event \" + getEventDescription(event));\n return [];\n }\n }\n return [];\n };\n /** JSDoc */\n InboundFilters.prototype._getEventFilterUrl = function (event) {\n try {\n if (event.stacktrace) {\n var frames_1 = event.stacktrace.frames;\n return (frames_1 && frames_1[frames_1.length - 1].filename) || null;\n }\n if (event.exception) {\n var frames_2 = event.exception.values && event.exception.values[0].stacktrace && event.exception.values[0].stacktrace.frames;\n return (frames_2 && frames_2[frames_2.length - 1].filename) || null;\n }\n return null;\n }\n catch (oO) {\n logger.error(\"Cannot extract url for event \" + getEventDescription(event));\n return null;\n }\n };\n /**\n * @inheritDoc\n */\n InboundFilters.id = 'InboundFilters';\n return InboundFilters;\n}());\nexport { InboundFilters };\n//# sourceMappingURL=inboundfilters.js.map","import { getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instanciate.\n * @param options Options to pass to the client.\n */\nexport function initAndBind(clientClass, options) {\n if (options.debug === true) {\n logger.enable();\n }\n var hub = getCurrentHub();\n var client = new clientClass(options);\n hub.bindClient(client);\n}\n//# sourceMappingURL=sdk.js.map","export var setPrototypeOf = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties); // tslint:disable-line:no-unbound-method\n/**\n * setPrototypeOf polyfill using __proto__\n */\nfunction setProtoOf(obj, proto) {\n // @ts-ignore\n obj.__proto__ = proto;\n return obj;\n}\n/**\n * setPrototypeOf polyfill using mixin\n */\nfunction mixinProperties(obj, proto) {\n for (var prop in proto) {\n if (!obj.hasOwnProperty(prop)) {\n // @ts-ignore\n obj[prop] = proto[prop];\n }\n }\n return obj;\n}\n//# sourceMappingURL=polyfill.js.map","import * as tslib_1 from \"tslib\";\nimport { setPrototypeOf } from './polyfill';\n/** An error emitted by Sentry SDKs and related utilities. */\nvar SentryError = /** @class */ (function (_super) {\n tslib_1.__extends(SentryError, _super);\n function SentryError(message) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, message) || this;\n _this.message = message;\n // tslint:disable:no-unsafe-any\n _this.name = _newTarget.prototype.constructor.name;\n setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return SentryError;\n}(Error));\nexport { SentryError };\n//# sourceMappingURL=error.js.map","import * as tslib_1 from \"tslib\";\nimport { SentryError } from './error';\n/** Regular expression used to parse a Dsn. */\nvar DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+))?@)([\\w\\.-]+)(?::(\\d+))?\\/(.+)/;\n/** Error message */\nvar ERROR_MESSAGE = 'Invalid Dsn';\n/** The Sentry Dsn, identifying a Sentry instance and project. */\nvar Dsn = /** @class */ (function () {\n /** Creates a new Dsn component */\n function Dsn(from) {\n if (typeof from === 'string') {\n this._fromString(from);\n }\n else {\n this._fromComponents(from);\n }\n this._validate();\n }\n /**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\n Dsn.prototype.toString = function (withPassword) {\n if (withPassword === void 0) { withPassword = false; }\n // tslint:disable-next-line:no-this-assignment\n var _a = this, host = _a.host, path = _a.path, pass = _a.pass, port = _a.port, projectId = _a.projectId, protocol = _a.protocol, user = _a.user;\n return (protocol + \"://\" + user + (withPassword && pass ? \":\" + pass : '') +\n (\"@\" + host + (port ? \":\" + port : '') + \"/\" + (path ? path + \"/\" : path) + projectId));\n };\n /** Parses a string into this Dsn. */\n Dsn.prototype._fromString = function (str) {\n var match = DSN_REGEX.exec(str);\n if (!match) {\n throw new SentryError(ERROR_MESSAGE);\n }\n var _a = tslib_1.__read(match.slice(1), 6), protocol = _a[0], user = _a[1], _b = _a[2], pass = _b === void 0 ? '' : _b, host = _a[3], _c = _a[4], port = _c === void 0 ? '' : _c, lastPath = _a[5];\n var path = '';\n var projectId = lastPath;\n var split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop();\n }\n this._fromComponents({ host: host, pass: pass, path: path, projectId: projectId, port: port, protocol: protocol, user: user });\n };\n /** Maps Dsn components into this instance. */\n Dsn.prototype._fromComponents = function (components) {\n this.protocol = components.protocol;\n this.user = components.user;\n this.pass = components.pass || '';\n this.host = components.host;\n this.port = components.port || '';\n this.path = components.path || '';\n this.projectId = components.projectId;\n };\n /** Validates this Dsn and throws on error. */\n Dsn.prototype._validate = function () {\n var _this = this;\n ['protocol', 'user', 'host', 'projectId'].forEach(function (component) {\n if (!_this[component]) {\n throw new SentryError(ERROR_MESSAGE);\n }\n });\n if (this.protocol !== 'http' && this.protocol !== 'https') {\n throw new SentryError(ERROR_MESSAGE);\n }\n if (this.port && isNaN(parseInt(this.port, 10))) {\n throw new SentryError(ERROR_MESSAGE);\n }\n };\n return Dsn;\n}());\nexport { Dsn };\n//# sourceMappingURL=dsn.js.map","import { Dsn, urlEncode } from '@sentry/utils';\nvar SENTRY_API_VERSION = '7';\n/** Helper class to provide urls to different Sentry endpoints. */\nvar API = /** @class */ (function () {\n /** Create a new instance of API */\n function API(dsn) {\n this.dsn = dsn;\n this._dsnObject = new Dsn(dsn);\n }\n /** Returns the Dsn object. */\n API.prototype.getDsn = function () {\n return this._dsnObject;\n };\n /** Returns a string with auth headers in the url to the store endpoint. */\n API.prototype.getStoreEndpoint = function () {\n return \"\" + this._getBaseUrl() + this.getStoreEndpointPath();\n };\n /** Returns the store endpoint with auth added in url encoded. */\n API.prototype.getStoreEndpointWithUrlEncodedAuth = function () {\n var dsn = this._dsnObject;\n var auth = {\n sentry_key: dsn.user,\n sentry_version: SENTRY_API_VERSION,\n };\n // Auth is intentionally sent as part of query string (NOT as custom HTTP header)\n // to avoid preflight CORS requests\n return this.getStoreEndpoint() + \"?\" + urlEncode(auth);\n };\n /** Returns the base path of the url including the port. */\n API.prototype._getBaseUrl = function () {\n var dsn = this._dsnObject;\n var protocol = dsn.protocol ? dsn.protocol + \":\" : '';\n var port = dsn.port ? \":\" + dsn.port : '';\n return protocol + \"//\" + dsn.host + port;\n };\n /** Returns only the path component for the store endpoint. */\n API.prototype.getStoreEndpointPath = function () {\n var dsn = this._dsnObject;\n return (dsn.path ? \"/\" + dsn.path : '') + \"/api/\" + dsn.projectId + \"/store/\";\n };\n /** Returns an object that can be used in request headers. */\n API.prototype.getRequestHeaders = function (clientName, clientVersion) {\n var dsn = this._dsnObject;\n var header = [\"Sentry sentry_version=\" + SENTRY_API_VERSION];\n header.push(\"sentry_client=\" + clientName + \"/\" + clientVersion);\n header.push(\"sentry_key=\" + dsn.user);\n if (dsn.pass) {\n header.push(\"sentry_secret=\" + dsn.pass);\n }\n return {\n 'Content-Type': 'application/json',\n 'X-Sentry-Auth': header.join(', '),\n };\n };\n /** Returns the url to the report dialog endpoint. */\n API.prototype.getReportDialogEndpoint = function (dialogOptions) {\n if (dialogOptions === void 0) { dialogOptions = {}; }\n var dsn = this._dsnObject;\n var endpoint = \"\" + this._getBaseUrl() + (dsn.path ? \"/\" + dsn.path : '') + \"/api/embed/error-page/\";\n var encodedOptions = [];\n encodedOptions.push(\"dsn=\" + dsn.toString());\n for (var key in dialogOptions) {\n if (key === 'user') {\n if (!dialogOptions.user) {\n continue;\n }\n if (dialogOptions.user.name) {\n encodedOptions.push(\"name=\" + encodeURIComponent(dialogOptions.user.name));\n }\n if (dialogOptions.user.email) {\n encodedOptions.push(\"email=\" + encodeURIComponent(dialogOptions.user.email));\n }\n }\n else {\n encodedOptions.push(encodeURIComponent(key) + \"=\" + encodeURIComponent(dialogOptions[key]));\n }\n }\n if (encodedOptions.length) {\n return endpoint + \"?\" + encodedOptions.join('&');\n }\n return endpoint;\n };\n return API;\n}());\nexport { API };\n//# sourceMappingURL=api.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { logger } from '@sentry/utils';\nexport var installedIntegrations = [];\n/** Gets integration to install */\nexport function getIntegrationsToSetup(options) {\n var defaultIntegrations = (options.defaultIntegrations && tslib_1.__spread(options.defaultIntegrations)) || [];\n var userIntegrations = options.integrations;\n var integrations = [];\n if (Array.isArray(userIntegrations)) {\n var userIntegrationsNames_1 = userIntegrations.map(function (i) { return i.name; });\n var pickedIntegrationsNames_1 = [];\n // Leave only unique default integrations, that were not overridden with provided user integrations\n defaultIntegrations.forEach(function (defaultIntegration) {\n if (userIntegrationsNames_1.indexOf(defaultIntegration.name) === -1 &&\n pickedIntegrationsNames_1.indexOf(defaultIntegration.name) === -1) {\n integrations.push(defaultIntegration);\n pickedIntegrationsNames_1.push(defaultIntegration.name);\n }\n });\n // Don't add same user integration twice\n userIntegrations.forEach(function (userIntegration) {\n if (pickedIntegrationsNames_1.indexOf(userIntegration.name) === -1) {\n integrations.push(userIntegration);\n pickedIntegrationsNames_1.push(userIntegration.name);\n }\n });\n }\n else if (typeof userIntegrations === 'function') {\n integrations = userIntegrations(defaultIntegrations);\n integrations = Array.isArray(integrations) ? integrations : [integrations];\n }\n else {\n integrations = tslib_1.__spread(defaultIntegrations);\n }\n // Make sure that if present, `Debug` integration will always run last\n var integrationsNames = integrations.map(function (i) { return i.name; });\n var alwaysLastToRun = 'Debug';\n if (integrationsNames.indexOf(alwaysLastToRun) !== -1) {\n integrations.push.apply(integrations, tslib_1.__spread(integrations.splice(integrationsNames.indexOf(alwaysLastToRun), 1)));\n }\n return integrations;\n}\n/** Setup given integration */\nexport function setupIntegration(integration) {\n if (installedIntegrations.indexOf(integration.name) !== -1) {\n return;\n }\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n logger.log(\"Integration installed: \" + integration.name);\n}\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nexport function setupIntegrations(options) {\n var integrations = {};\n getIntegrationsToSetup(options).forEach(function (integration) {\n integrations[integration.name] = integration;\n setupIntegration(integration);\n });\n return integrations;\n}\n//# sourceMappingURL=integration.js.map","import * as tslib_1 from \"tslib\";\nimport { Dsn, isPrimitive, isThenable, logger, normalize, SyncPromise, truncate, uuid4 } from '@sentry/utils';\nimport { setupIntegrations } from './integration';\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding backend constructor and options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}. Also, the Backend instance is available via\n * {@link Client.getBackend}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event via the backend, it is passed through\n * {@link BaseClient.prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient<NodeBackend, NodeOptions> {\n * public constructor(options: NodeOptions) {\n * super(NodeBackend, options);\n * }\n *\n * // ...\n * }\n */\nvar BaseClient = /** @class */ (function () {\n /**\n * Initializes this client instance.\n *\n * @param backendClass A constructor function to create the backend.\n * @param options Options for the client.\n */\n function BaseClient(backendClass, options) {\n /** Array of used integrations. */\n this._integrations = {};\n /** Is the client still processing a call? */\n this._processing = false;\n this._backend = new backendClass(options);\n this._options = options;\n if (options.dsn) {\n this._dsn = new Dsn(options.dsn);\n }\n }\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureException = function (exception, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._processing = true;\n this._getBackend()\n .eventFromException(exception, hint)\n .then(function (event) { return _this._processEvent(event, hint, scope); })\n .then(function (finalEvent) {\n // We need to check for finalEvent in case beforeSend returned null\n eventId = finalEvent && finalEvent.event_id;\n _this._processing = false;\n })\n .then(null, function (reason) {\n logger.error(reason);\n _this._processing = false;\n });\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureMessage = function (message, level, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._processing = true;\n var promisedEvent = isPrimitive(message)\n ? this._getBackend().eventFromMessage(\"\" + message, level, hint)\n : this._getBackend().eventFromException(message, hint);\n promisedEvent\n .then(function (event) { return _this._processEvent(event, hint, scope); })\n .then(function (finalEvent) {\n // We need to check for finalEvent in case beforeSend returned null\n eventId = finalEvent && finalEvent.event_id;\n _this._processing = false;\n })\n .then(null, function (reason) {\n logger.error(reason);\n _this._processing = false;\n });\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.captureEvent = function (event, hint, scope) {\n var _this = this;\n var eventId = hint && hint.event_id;\n this._processing = true;\n this._processEvent(event, hint, scope)\n .then(function (finalEvent) {\n // We need to check for finalEvent in case beforeSend returned null\n eventId = finalEvent && finalEvent.event_id;\n _this._processing = false;\n })\n .then(null, function (reason) {\n logger.error(reason);\n _this._processing = false;\n });\n return eventId;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getDsn = function () {\n return this._dsn;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getOptions = function () {\n return this._options;\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.flush = function (timeout) {\n var _this = this;\n return this._isClientProcessing(timeout).then(function (status) {\n clearInterval(status.interval);\n return _this._getBackend()\n .getTransport()\n .close(timeout)\n .then(function (transportFlushed) { return status.ready && transportFlushed; });\n });\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.close = function (timeout) {\n var _this = this;\n return this.flush(timeout).then(function (result) {\n _this.getOptions().enabled = false;\n return result;\n });\n };\n /**\n * Sets up the integrations\n */\n BaseClient.prototype.setupIntegrations = function () {\n if (this._isEnabled()) {\n this._integrations = setupIntegrations(this._options);\n }\n };\n /**\n * @inheritDoc\n */\n BaseClient.prototype.getIntegration = function (integration) {\n try {\n return this._integrations[integration.id] || null;\n }\n catch (_oO) {\n logger.warn(\"Cannot retrieve integration \" + integration.id + \" from the current Client\");\n return null;\n }\n };\n /** Waits for the client to be done with processing. */\n BaseClient.prototype._isClientProcessing = function (timeout) {\n var _this = this;\n return new SyncPromise(function (resolve) {\n var ticked = 0;\n var tick = 1;\n var interval = 0;\n clearInterval(interval);\n interval = setInterval(function () {\n if (!_this._processing) {\n resolve({\n interval: interval,\n ready: true,\n });\n }\n else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n resolve({\n interval: interval,\n ready: false,\n });\n }\n }\n }, tick);\n });\n };\n /** Returns the current backend. */\n BaseClient.prototype._getBackend = function () {\n return this._backend;\n };\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n BaseClient.prototype._isEnabled = function () {\n return this.getOptions().enabled !== false && this._dsn !== undefined;\n };\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional informartion about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n */\n BaseClient.prototype._prepareEvent = function (event, scope, hint) {\n var _this = this;\n var _a = this.getOptions(), environment = _a.environment, release = _a.release, dist = _a.dist, _b = _a.maxValueLength, maxValueLength = _b === void 0 ? 250 : _b, _c = _a.normalizeDepth, normalizeDepth = _c === void 0 ? 3 : _c;\n var prepared = tslib_1.__assign({}, event);\n if (prepared.environment === undefined && environment !== undefined) {\n prepared.environment = environment;\n }\n if (prepared.release === undefined && release !== undefined) {\n prepared.release = release;\n }\n if (prepared.dist === undefined && dist !== undefined) {\n prepared.dist = dist;\n }\n if (prepared.message) {\n prepared.message = truncate(prepared.message, maxValueLength);\n }\n var exception = prepared.exception && prepared.exception.values && prepared.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n var request = prepared.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n if (prepared.event_id === undefined) {\n prepared.event_id = hint && hint.event_id ? hint.event_id : uuid4();\n }\n this._addIntegrations(prepared.sdk);\n // We prepare the result here with a resolved Event.\n var result = SyncPromise.resolve(prepared);\n // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n if (scope) {\n // In case we have a hub we reassign it.\n result = scope.applyToEvent(prepared, hint);\n }\n return result.then(function (evt) {\n // tslint:disable-next-line:strict-type-predicates\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return _this._normalizeEvent(evt, normalizeDepth);\n }\n return evt;\n });\n };\n /**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\n BaseClient.prototype._normalizeEvent = function (event, depth) {\n if (!event) {\n return null;\n }\n // tslint:disable:no-unsafe-any\n return tslib_1.__assign({}, event, (event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(function (b) { return (tslib_1.__assign({}, b, (b.data && {\n data: normalize(b.data, depth),\n }))); }),\n }), (event.user && {\n user: normalize(event.user, depth),\n }), (event.contexts && {\n contexts: normalize(event.contexts, depth),\n }), (event.extra && {\n extra: normalize(event.extra, depth),\n }));\n };\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param sdkInfo The sdkInfo of the event that will be filled with all integrations.\n */\n BaseClient.prototype._addIntegrations = function (sdkInfo) {\n var integrationsArray = Object.keys(this._integrations);\n if (sdkInfo && integrationsArray.length > 0) {\n sdkInfo.integrations = integrationsArray;\n }\n };\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional informartion about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n BaseClient.prototype._processEvent = function (event, hint, scope) {\n var _this = this;\n var _a = this.getOptions(), beforeSend = _a.beforeSend, sampleRate = _a.sampleRate;\n if (!this._isEnabled()) {\n return SyncPromise.reject('SDK not enabled, will not send event.');\n }\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n if (typeof sampleRate === 'number' && Math.random() > sampleRate) {\n return SyncPromise.reject('This event has been sampled, will not send event.');\n }\n return new SyncPromise(function (resolve, reject) {\n _this._prepareEvent(event, scope, hint)\n .then(function (prepared) {\n if (prepared === null) {\n reject('An event processor returned null, will not send event.');\n return;\n }\n var finalEvent = prepared;\n var isInternalException = hint && hint.data && hint.data.__sentry__ === true;\n if (isInternalException || !beforeSend) {\n _this._getBackend().sendEvent(finalEvent);\n resolve(finalEvent);\n return;\n }\n var beforeSendResult = beforeSend(prepared, hint);\n // tslint:disable-next-line:strict-type-predicates\n if (typeof beforeSendResult === 'undefined') {\n logger.error('`beforeSend` method has to return `null` or a valid event.');\n }\n else if (isThenable(beforeSendResult)) {\n _this._handleAsyncBeforeSend(beforeSendResult, resolve, reject);\n }\n else {\n finalEvent = beforeSendResult;\n if (finalEvent === null) {\n logger.log('`beforeSend` returned `null`, will not send event.');\n resolve(null);\n return;\n }\n // From here on we are really async\n _this._getBackend().sendEvent(finalEvent);\n resolve(finalEvent);\n }\n })\n .then(null, function (reason) {\n _this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason,\n });\n reject(\"Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: \" + reason);\n });\n });\n };\n /**\n * Resolves before send Promise and calls resolve/reject on parent SyncPromise.\n */\n BaseClient.prototype._handleAsyncBeforeSend = function (beforeSend, resolve, reject) {\n var _this = this;\n beforeSend\n .then(function (processedEvent) {\n if (processedEvent === null) {\n reject('`beforeSend` returned `null`, will not send event.');\n return;\n }\n // From here on we are really async\n _this._getBackend().sendEvent(processedEvent);\n resolve(processedEvent);\n })\n .then(null, function (e) {\n reject(\"beforeSend rejected with \" + e);\n });\n };\n return BaseClient;\n}());\nexport { BaseClient };\n//# sourceMappingURL=baseclient.js.map","/** The status of an event. */\nexport var Status;\n(function (Status) {\n /** The status could not be determined. */\n Status[\"Unknown\"] = \"unknown\";\n /** The event was skipped due to configuration or callbacks. */\n Status[\"Skipped\"] = \"skipped\";\n /** The event was sent to Sentry successfully. */\n Status[\"Success\"] = \"success\";\n /** The client is currently rate limited and will try again later. */\n Status[\"RateLimit\"] = \"rate_limit\";\n /** The event could not be processed. */\n Status[\"Invalid\"] = \"invalid\";\n /** A server-side error ocurred during submission. */\n Status[\"Failed\"] = \"failed\";\n})(Status || (Status = {}));\n// tslint:disable:completed-docs\n// tslint:disable:no-unnecessary-qualifier no-namespace\n(function (Status) {\n /**\n * Converts a HTTP status code into a {@link Status}.\n *\n * @param code The HTTP response status code.\n * @returns The send status or {@link Status.Unknown}.\n */\n function fromHttpCode(code) {\n if (code >= 200 && code < 300) {\n return Status.Success;\n }\n if (code === 429) {\n return Status.RateLimit;\n }\n if (code >= 400 && code < 500) {\n return Status.Invalid;\n }\n if (code >= 500) {\n return Status.Failed;\n }\n return Status.Unknown;\n }\n Status.fromHttpCode = fromHttpCode;\n})(Status || (Status = {}));\n//# sourceMappingURL=status.js.map","import { Status } from '@sentry/types';\nimport { SyncPromise } from '@sentry/utils';\n/** Noop transport */\nvar NoopTransport = /** @class */ (function () {\n function NoopTransport() {\n }\n /**\n * @inheritDoc\n */\n NoopTransport.prototype.sendEvent = function (_) {\n return SyncPromise.resolve({\n reason: \"NoopTransport: Event has been skipped because no Dsn is configured.\",\n status: Status.Skipped,\n });\n };\n /**\n * @inheritDoc\n */\n NoopTransport.prototype.close = function (_) {\n return SyncPromise.resolve(true);\n };\n return NoopTransport;\n}());\nexport { NoopTransport };\n//# sourceMappingURL=noop.js.map","/** JSDoc */\nexport var Severity;\n(function (Severity) {\n /** JSDoc */\n Severity[\"Fatal\"] = \"fatal\";\n /** JSDoc */\n Severity[\"Error\"] = \"error\";\n /** JSDoc */\n Severity[\"Warning\"] = \"warning\";\n /** JSDoc */\n Severity[\"Log\"] = \"log\";\n /** JSDoc */\n Severity[\"Info\"] = \"info\";\n /** JSDoc */\n Severity[\"Debug\"] = \"debug\";\n /** JSDoc */\n Severity[\"Critical\"] = \"critical\";\n})(Severity || (Severity = {}));\n// tslint:disable:completed-docs\n// tslint:disable:no-unnecessary-qualifier no-namespace\n(function (Severity) {\n /**\n * Converts a string-based level into a {@link Severity}.\n *\n * @param level string representation of Severity\n * @returns Severity\n */\n function fromString(level) {\n switch (level) {\n case 'debug':\n return Severity.Debug;\n case 'info':\n return Severity.Info;\n case 'warn':\n case 'warning':\n return Severity.Warning;\n case 'error':\n return Severity.Error;\n case 'fatal':\n return Severity.Fatal;\n case 'critical':\n return Severity.Critical;\n case 'log':\n default:\n return Severity.Log;\n }\n }\n Severity.fromString = fromString;\n})(Severity || (Severity = {}));\n//# sourceMappingURL=severity.js.map","import { logger, SentryError } from '@sentry/utils';\nimport { NoopTransport } from './transports/noop';\n/**\n * This is the base implemention of a Backend.\n * @hidden\n */\nvar BaseBackend = /** @class */ (function () {\n /** Creates a new backend instance. */\n function BaseBackend(options) {\n this._options = options;\n if (!this._options.dsn) {\n logger.warn('No DSN provided, backend will not do anything.');\n }\n this._transport = this._setupTransport();\n }\n /**\n * Sets up the transport so it can be used later to send requests.\n */\n BaseBackend.prototype._setupTransport = function () {\n return new NoopTransport();\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.eventFromException = function (_exception, _hint) {\n throw new SentryError('Backend has to implement `eventFromException` method');\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.eventFromMessage = function (_message, _level, _hint) {\n throw new SentryError('Backend has to implement `eventFromMessage` method');\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.sendEvent = function (event) {\n this._transport.sendEvent(event).then(null, function (reason) {\n logger.error(\"Error while sending event: \" + reason);\n });\n };\n /**\n * @inheritDoc\n */\n BaseBackend.prototype.getTransport = function () {\n return this._transport;\n };\n return BaseBackend;\n}());\nexport { BaseBackend };\n//# sourceMappingURL=basebackend.js.map","import { logger } from './logger';\nimport { getGlobalObject } from './misc';\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsErrorEvent() {\n try {\n // tslint:disable:no-unused-expression\n new ErrorEvent('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMError() {\n try {\n // It really needs 1 argument, not 0.\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore\n // tslint:disable:no-unused-expression\n new DOMError('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMException() {\n try {\n // tslint:disable:no-unused-expression\n new DOMException('');\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsFetch() {\n if (!('fetch' in getGlobalObject())) {\n return false;\n }\n try {\n // tslint:disable-next-line:no-unused-expression\n new Headers();\n // tslint:disable-next-line:no-unused-expression\n new Request('');\n // tslint:disable-next-line:no-unused-expression\n new Response();\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\nfunction isNativeFetch(func) {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nexport function supportsNativeFetch() {\n if (!supportsFetch()) {\n return false;\n }\n var global = getGlobalObject();\n // Fast path to avoid DOM I/O\n // tslint:disable-next-line:no-unbound-method\n if (isNativeFetch(global.fetch)) {\n return true;\n }\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n var result = false;\n var doc = global.document;\n // tslint:disable-next-line:no-unbound-method deprecation\n if (doc && typeof doc.createElement === \"function\") {\n try {\n var sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // tslint:disable-next-line:no-unbound-method\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n }\n catch (err) {\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n return result;\n}\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReportingObserver() {\n // tslint:disable-next-line: no-unsafe-any\n return 'ReportingObserver' in getGlobalObject();\n}\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReferrerPolicy() {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n if (!supportsFetch()) {\n return false;\n }\n try {\n // tslint:disable:no-unused-expression\n new Request('_', {\n referrerPolicy: 'origin',\n });\n return true;\n }\n catch (e) {\n return false;\n }\n}\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsHistory() {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n var global = getGlobalObject();\n var chrome = global.chrome;\n // tslint:disable-next-line:no-unsafe-any\n var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n var hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n return !isChromePackagedApp && hasHistoryApi;\n}\n//# sourceMappingURL=supports.js.map","// tslint:disable:object-literal-sort-keys\nimport * as tslib_1 from \"tslib\";\n// global reference to slice\nvar UNKNOWN_FUNCTION = '?';\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nvar chrome = /^\\s*at (?:(.*?) ?\\()?((?:file|https?|blob|chrome-extension|address|native|eval|webpack|<anonymous>|[-a-z]+:|.*bundle|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nvar gecko = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js))(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar winjs = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nvar geckoEval = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nvar chromeEval = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n/** JSDoc */\nexport function computeStackTrace(ex) {\n // tslint:disable:no-unsafe-any\n var stack = null;\n var popSize = ex && ex.framesToPop;\n try {\n // This must be tried first because Opera 10 *destroys*\n // its stacktrace property if you try to access the stack\n // property first!!\n stack = computeStackTraceFromStacktraceProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n }\n catch (e) {\n // no-empty\n }\n try {\n stack = computeStackTraceFromStackProp(ex);\n if (stack) {\n return popFrames(stack, popSize);\n }\n }\n catch (e) {\n // no-empty\n }\n return {\n message: extractMessage(ex),\n name: ex && ex.name,\n stack: [],\n failed: true,\n };\n}\n/** JSDoc */\n// tslint:disable-next-line:cyclomatic-complexity\nfunction computeStackTraceFromStackProp(ex) {\n // tslint:disable:no-conditional-assignment\n if (!ex || !ex.stack) {\n return null;\n }\n var stack = [];\n var lines = ex.stack.split('\\n');\n var isEval;\n var submatch;\n var parts;\n var element;\n for (var i = 0; i < lines.length; ++i) {\n if ((parts = chrome.exec(lines[i]))) {\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n if (isEval && (submatch = chromeEval.exec(parts[2]))) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n element = {\n // working with the regexp above is super painful. it is quite a hack, but just stripping the `address at `\n // prefix here seems like the quickest solution for now.\n url: parts[2] && parts[2].indexOf('address at ') === 0 ? parts[2].substr('address at '.length) : parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: isNative ? [parts[2]] : [],\n line: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null,\n };\n }\n else if ((parts = winjs.exec(lines[i]))) {\n element = {\n url: parts[2],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: [],\n line: +parts[3],\n column: parts[4] ? +parts[4] : null,\n };\n }\n else if ((parts = gecko.exec(lines[i]))) {\n isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval && (submatch = geckoEval.exec(parts[3]))) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || \"eval\";\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = ''; // no column when eval\n }\n else if (i === 0 && !parts[5] && ex.columnNumber !== void 0) {\n // FireFox uses this awesome columnNumber property for its top frame\n // Also note, Firefox's column number is 0-based and everything else expects 1-based,\n // so adding 1\n // NOTE: this hack doesn't work if top-most frame is eval\n stack[0].column = ex.columnNumber + 1;\n }\n element = {\n url: parts[3],\n func: parts[1] || UNKNOWN_FUNCTION,\n args: parts[2] ? parts[2].split(',') : [],\n line: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null,\n };\n }\n else {\n continue;\n }\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n if (!stack.length) {\n return null;\n }\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack: stack,\n };\n}\n/** JSDoc */\nfunction computeStackTraceFromStacktraceProp(ex) {\n if (!ex || !ex.stacktrace) {\n return null;\n }\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n var stacktrace = ex.stacktrace;\n var opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n var opera11Regex = / line (\\d+), column (\\d+)\\s*(?:in (?:<anonymous function: ([^>]+)>|([^\\)]+))\\((.*)\\))? in (.*):\\s*$/i;\n var lines = stacktrace.split('\\n');\n var stack = [];\n var parts;\n for (var line = 0; line < lines.length; line += 2) {\n // tslint:disable:no-conditional-assignment\n var element = null;\n if ((parts = opera10Regex.exec(lines[line]))) {\n element = {\n url: parts[2],\n func: parts[3],\n args: [],\n line: +parts[1],\n column: null,\n };\n }\n else if ((parts = opera11Regex.exec(lines[line]))) {\n element = {\n url: parts[6],\n func: parts[3] || parts[4],\n args: parts[5] ? parts[5].split(',') : [],\n line: +parts[1],\n column: +parts[2],\n };\n }\n if (element) {\n if (!element.func && element.line) {\n element.func = UNKNOWN_FUNCTION;\n }\n stack.push(element);\n }\n }\n if (!stack.length) {\n return null;\n }\n return {\n message: extractMessage(ex),\n name: ex.name,\n stack: stack,\n };\n}\n/** Remove N number of frames from the stack */\nfunction popFrames(stacktrace, popSize) {\n try {\n return tslib_1.__assign({}, stacktrace, { stack: stacktrace.stack.slice(popSize) });\n }\n catch (e) {\n return stacktrace;\n }\n}\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nfunction extractMessage(ex) {\n var message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}\n//# sourceMappingURL=tracekit.js.map","import { extractExceptionKeysForMessage, isEvent, normalizeToSize } from '@sentry/utils';\nimport { computeStackTrace } from './tracekit';\nvar STACKTRACE_LIMIT = 50;\n/**\n * This function creates an exception from an TraceKitStackTrace\n * @param stacktrace TraceKitStackTrace that will be converted to an exception\n * @hidden\n */\nexport function exceptionFromStacktrace(stacktrace) {\n var frames = prepareFramesForEvent(stacktrace.stack);\n var exception = {\n type: stacktrace.name,\n value: stacktrace.message,\n };\n if (frames && frames.length) {\n exception.stacktrace = { frames: frames };\n }\n // tslint:disable-next-line:strict-type-predicates\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n return exception;\n}\n/**\n * @hidden\n */\nexport function eventFromPlainObject(exception, syntheticException, rejection) {\n var event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : rejection ? 'UnhandledRejection' : 'Error',\n value: \"Non-Error \" + (rejection ? 'promise rejection' : 'exception') + \" captured with keys: \" + extractExceptionKeysForMessage(exception),\n },\n ],\n },\n extra: {\n __serialized__: normalizeToSize(exception),\n },\n };\n if (syntheticException) {\n var stacktrace = computeStackTrace(syntheticException);\n var frames_1 = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1,\n };\n }\n return event;\n}\n/**\n * @hidden\n */\nexport function eventFromStacktrace(stacktrace) {\n var exception = exceptionFromStacktrace(stacktrace);\n return {\n exception: {\n values: [exception],\n },\n };\n}\n/**\n * @hidden\n */\nexport function prepareFramesForEvent(stack) {\n if (!stack || !stack.length) {\n return [];\n }\n var localStack = stack;\n var firstFrameFunction = localStack[0].func || '';\n var lastFrameFunction = localStack[localStack.length - 1].func || '';\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\n }\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n }\n // The frame where the crash happened, should be the last entry in the array\n return localStack\n .map(function (frame) { return ({\n colno: frame.column === null ? undefined : frame.column,\n filename: frame.url || localStack[0].url,\n function: frame.func || '?',\n in_app: true,\n lineno: frame.line === null ? undefined : frame.line,\n }); })\n .slice(0, STACKTRACE_LIMIT)\n .reverse();\n}\n//# sourceMappingURL=parsers.js.map","import { addExceptionMechanism, addExceptionTypeValue, isDOMError, isDOMException, isError, isErrorEvent, isEvent, isPlainObject, } from '@sentry/utils';\nimport { eventFromPlainObject, eventFromStacktrace, prepareFramesForEvent } from './parsers';\nimport { computeStackTrace } from './tracekit';\n/** JSDoc */\nexport function eventFromUnknownInput(exception, syntheticException, options) {\n if (options === void 0) { options = {}; }\n var event;\n if (isErrorEvent(exception) && exception.error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n var errorEvent = exception;\n exception = errorEvent.error; // tslint:disable-line:no-parameter-reassignment\n event = eventFromStacktrace(computeStackTrace(exception));\n return event;\n }\n if (isDOMError(exception) || isDOMException(exception)) {\n // If it is a DOMError or DOMException (which are legacy APIs, but still supported in some browsers)\n // then we just extract the name and message, as they don't provide anything else\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n var domException = exception;\n var name_1 = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n var message = domException.message ? name_1 + \": \" + domException.message : name_1;\n event = eventFromString(message, syntheticException, options);\n addExceptionTypeValue(event, message);\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n event = eventFromStacktrace(computeStackTrace(exception));\n return event;\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it is plain Object or Event, serialize it manually and extract options\n // This will allow us to group events based on top-level keys\n // which is much better than creating new group when any key/value change\n var objectException = exception;\n event = eventFromPlainObject(objectException, syntheticException, options.rejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(exception, syntheticException, options);\n addExceptionTypeValue(event, \"\" + exception, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n}\n// this._options.attachStacktrace\n/** JSDoc */\nexport function eventFromString(input, syntheticException, options) {\n if (options === void 0) { options = {}; }\n var event = {\n message: input,\n };\n if (options.attachStacktrace && syntheticException) {\n var stacktrace = computeStackTrace(syntheticException);\n var frames_1 = prepareFramesForEvent(stacktrace.stack);\n event.stacktrace = {\n frames: frames_1,\n };\n }\n return event;\n}\n//# sourceMappingURL=eventbuilder.js.map","import { SentryError } from './error';\nimport { SyncPromise } from './syncpromise';\n/** A simple queue that holds promises. */\nvar PromiseBuffer = /** @class */ (function () {\n function PromiseBuffer(_limit) {\n this._limit = _limit;\n /** Internal set of queued Promises */\n this._buffer = [];\n }\n /**\n * Says if the buffer is ready to take more requests\n */\n PromiseBuffer.prototype.isReady = function () {\n return this._limit === undefined || this.length() < this._limit;\n };\n /**\n * Add a promise to the queue.\n *\n * @param task Can be any PromiseLike<T>\n * @returns The original promise.\n */\n PromiseBuffer.prototype.add = function (task) {\n var _this = this;\n if (!this.isReady()) {\n return SyncPromise.reject(new SentryError('Not adding Promise due to buffer limit reached.'));\n }\n if (this._buffer.indexOf(task) === -1) {\n this._buffer.push(task);\n }\n task\n .then(function () { return _this.remove(task); })\n .then(null, function () {\n return _this.remove(task).then(null, function () {\n // We have to add this catch here otherwise we have an unhandledPromiseRejection\n // because it's a new Promise chain.\n });\n });\n return task;\n };\n /**\n * Remove a promise to the queue.\n *\n * @param task Can be any PromiseLike<T>\n * @returns Removed promise.\n */\n PromiseBuffer.prototype.remove = function (task) {\n var removedTask = this._buffer.splice(this._buffer.indexOf(task), 1)[0];\n return removedTask;\n };\n /**\n * This function returns the number of unresolved promises in the queue.\n */\n PromiseBuffer.prototype.length = function () {\n return this._buffer.length;\n };\n /**\n * This will drain the whole queue, returns true if queue is empty or drained.\n * If timeout is provided and the queue takes longer to drain, the promise still resolves but with false.\n *\n * @param timeout Number in ms to wait until it resolves with false.\n */\n PromiseBuffer.prototype.drain = function (timeout) {\n var _this = this;\n return new SyncPromise(function (resolve) {\n var capturedSetTimeout = setTimeout(function () {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n SyncPromise.all(_this._buffer)\n .then(function () {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n })\n .then(null, function () {\n resolve(true);\n });\n });\n };\n return PromiseBuffer;\n}());\nexport { PromiseBuffer };\n//# sourceMappingURL=promisebuffer.js.map","import { API } from '@sentry/core';\nimport { PromiseBuffer, SentryError } from '@sentry/utils';\n/** Base Transport class implementation */\nvar BaseTransport = /** @class */ (function () {\n function BaseTransport(options) {\n this.options = options;\n /** A simple buffer holding all requests. */\n this._buffer = new PromiseBuffer(30);\n this.url = new API(this.options.dsn).getStoreEndpointWithUrlEncodedAuth();\n }\n /**\n * @inheritDoc\n */\n BaseTransport.prototype.sendEvent = function (_) {\n throw new SentryError('Transport Class has to implement `sendEvent` method');\n };\n /**\n * @inheritDoc\n */\n BaseTransport.prototype.close = function (timeout) {\n return this._buffer.drain(timeout);\n };\n return BaseTransport;\n}());\nexport { BaseTransport };\n//# sourceMappingURL=base.js.map","import * as tslib_1 from \"tslib\";\nimport { Status } from '@sentry/types';\nimport { getGlobalObject, logger, parseRetryAfterHeader, supportsReferrerPolicy, SyncPromise } from '@sentry/utils';\nimport { BaseTransport } from './base';\nvar global = getGlobalObject();\n/** `fetch` based transport */\nvar FetchTransport = /** @class */ (function (_super) {\n tslib_1.__extends(FetchTransport, _super);\n function FetchTransport() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /** Locks transport after receiving 429 response */\n _this._disabledUntil = new Date(Date.now());\n return _this;\n }\n /**\n * @inheritDoc\n */\n FetchTransport.prototype.sendEvent = function (event) {\n var _this = this;\n if (new Date(Date.now()) < this._disabledUntil) {\n return Promise.reject({\n event: event,\n reason: \"Transport locked till \" + this._disabledUntil + \" due to too many requests.\",\n status: 429,\n });\n }\n var defaultOptions = {\n body: JSON.stringify(event),\n method: 'POST',\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default\n // https://caniuse.com/#feat=referrer-policy\n // It doesn't. And it throw exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n referrerPolicy: (supportsReferrerPolicy() ? 'origin' : ''),\n };\n if (this.options.headers !== undefined) {\n defaultOptions.headers = this.options.headers;\n }\n return this._buffer.add(new SyncPromise(function (resolve, reject) {\n global\n .fetch(_this.url, defaultOptions)\n .then(function (response) {\n var status = Status.fromHttpCode(response.status);\n if (status === Status.Success) {\n resolve({ status: status });\n return;\n }\n if (status === Status.RateLimit) {\n var now = Date.now();\n _this._disabledUntil = new Date(now + parseRetryAfterHeader(now, response.headers.get('Retry-After')));\n logger.warn(\"Too many requests, backing off till: \" + _this._disabledUntil);\n }\n reject(response);\n })\n .catch(reject);\n }));\n };\n return FetchTransport;\n}(BaseTransport));\nexport { FetchTransport };\n//# sourceMappingURL=fetch.js.map","import * as tslib_1 from \"tslib\";\nimport { Status } from '@sentry/types';\nimport { logger, parseRetryAfterHeader, SyncPromise } from '@sentry/utils';\nimport { BaseTransport } from './base';\n/** `XHR` based transport */\nvar XHRTransport = /** @class */ (function (_super) {\n tslib_1.__extends(XHRTransport, _super);\n function XHRTransport() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /** Locks transport after receiving 429 response */\n _this._disabledUntil = new Date(Date.now());\n return _this;\n }\n /**\n * @inheritDoc\n */\n XHRTransport.prototype.sendEvent = function (event) {\n var _this = this;\n if (new Date(Date.now()) < this._disabledUntil) {\n return Promise.reject({\n event: event,\n reason: \"Transport locked till \" + this._disabledUntil + \" due to too many requests.\",\n status: 429,\n });\n }\n return this._buffer.add(new SyncPromise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.onreadystatechange = function () {\n if (request.readyState !== 4) {\n return;\n }\n var status = Status.fromHttpCode(request.status);\n if (status === Status.Success) {\n resolve({ status: status });\n return;\n }\n if (status === Status.RateLimit) {\n var now = Date.now();\n _this._disabledUntil = new Date(now + parseRetryAfterHeader(now, request.getResponseHeader('Retry-After')));\n logger.warn(\"Too many requests, backing off till: \" + _this._disabledUntil);\n }\n reject(request);\n };\n request.open('POST', _this.url);\n for (var header in _this.options.headers) {\n if (_this.options.headers.hasOwnProperty(header)) {\n request.setRequestHeader(header, _this.options.headers[header]);\n }\n }\n request.send(JSON.stringify(event));\n }));\n };\n return XHRTransport;\n}(BaseTransport));\nexport { XHRTransport };\n//# sourceMappingURL=xhr.js.map","import * as tslib_1 from \"tslib\";\nimport { BaseBackend } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addExceptionMechanism, supportsFetch, SyncPromise } from '@sentry/utils';\nimport { eventFromString, eventFromUnknownInput } from './eventbuilder';\nimport { FetchTransport, XHRTransport } from './transports';\n/**\n * The Sentry Browser SDK Backend.\n * @hidden\n */\nvar BrowserBackend = /** @class */ (function (_super) {\n tslib_1.__extends(BrowserBackend, _super);\n function BrowserBackend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype._setupTransport = function () {\n if (!this._options.dsn) {\n // We return the noop transport here in case there is no Dsn.\n return _super.prototype._setupTransport.call(this);\n }\n var transportOptions = tslib_1.__assign({}, this._options.transportOptions, { dsn: this._options.dsn });\n if (this._options.transport) {\n return new this._options.transport(transportOptions);\n }\n if (supportsFetch()) {\n return new FetchTransport(transportOptions);\n }\n return new XHRTransport(transportOptions);\n };\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype.eventFromException = function (exception, hint) {\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromUnknownInput(exception, syntheticException, {\n attachStacktrace: this._options.attachStacktrace,\n });\n addExceptionMechanism(event, {\n handled: true,\n type: 'generic',\n });\n event.level = Severity.Error;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n };\n /**\n * @inheritDoc\n */\n BrowserBackend.prototype.eventFromMessage = function (message, level, hint) {\n if (level === void 0) { level = Severity.Info; }\n var syntheticException = (hint && hint.syntheticException) || undefined;\n var event = eventFromString(message, syntheticException, {\n attachStacktrace: this._options.attachStacktrace,\n });\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return SyncPromise.resolve(event);\n };\n return BrowserBackend;\n}(BaseBackend));\nexport { BrowserBackend };\n//# sourceMappingURL=backend.js.map","export var SDK_NAME = 'sentry.javascript.browser';\nexport var SDK_VERSION = '5.15.5';\n//# sourceMappingURL=version.js.map","import * as tslib_1 from \"tslib\";\nimport { API, BaseClient } from '@sentry/core';\nimport { getGlobalObject, logger } from '@sentry/utils';\nimport { BrowserBackend } from './backend';\nimport { SDK_NAME, SDK_VERSION } from './version';\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nvar BrowserClient = /** @class */ (function (_super) {\n tslib_1.__extends(BrowserClient, _super);\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n function BrowserClient(options) {\n if (options === void 0) { options = {}; }\n return _super.call(this, BrowserBackend, options) || this;\n }\n /**\n * @inheritDoc\n */\n BrowserClient.prototype._prepareEvent = function (event, scope, hint) {\n event.platform = event.platform || 'javascript';\n event.sdk = tslib_1.__assign({}, event.sdk, { name: SDK_NAME, packages: tslib_1.__spread(((event.sdk && event.sdk.packages) || []), [\n {\n name: 'npm:@sentry/browser',\n version: SDK_VERSION,\n },\n ]), version: SDK_VERSION });\n return _super.prototype._prepareEvent.call(this, event, scope, hint);\n };\n /**\n * Show a report dialog to the user to send feedback to a specific event.\n *\n * @param options Set individual options for the dialog\n */\n BrowserClient.prototype.showReportDialog = function (options) {\n if (options === void 0) { options = {}; }\n // doesn't work without a document (React Native)\n var document = getGlobalObject().document;\n if (!document) {\n return;\n }\n if (!this._isEnabled()) {\n logger.error('Trying to call showReportDialog with Sentry Client is disabled');\n return;\n }\n var dsn = options.dsn || this.getDsn();\n if (!options.eventId) {\n logger.error('Missing `eventId` option in showReportDialog call');\n return;\n }\n if (!dsn) {\n logger.error('Missing `Dsn` option in showReportDialog call');\n return;\n }\n var script = document.createElement('script');\n script.async = true;\n script.src = new API(dsn).getReportDialogEndpoint(options);\n if (options.onLoad) {\n script.onload = options.onLoad;\n }\n (document.head || document.body).appendChild(script);\n };\n return BrowserClient;\n}(BaseClient));\nexport { BrowserClient };\n//# sourceMappingURL=client.js.map","import * as tslib_1 from \"tslib\";\nimport { getCurrentHub } from '@sentry/hub';\n/**\n * This calls a function on the current hub.\n * @param method function to call on hub.\n * @param args to pass to function.\n */\nfunction callOnHub(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var hub = getCurrentHub();\n if (hub && hub[method]) {\n // tslint:disable-next-line:no-unsafe-any\n return hub[method].apply(hub, tslib_1.__spread(args));\n }\n throw new Error(\"No hub defined or \" + method + \" was not found on the hub, please open a bug report.\");\n}\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @returns The generated eventId.\n */\nexport function captureException(exception) {\n var syntheticException;\n try {\n throw new Error('Sentry syntheticException');\n }\n catch (exception) {\n syntheticException = exception;\n }\n return callOnHub('captureException', exception, {\n originalException: exception,\n syntheticException: syntheticException,\n });\n}\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param level Define the level of the message.\n * @returns The generated eventId.\n */\nexport function captureMessage(message, level) {\n var syntheticException;\n try {\n throw new Error(message);\n }\n catch (exception) {\n syntheticException = exception;\n }\n return callOnHub('captureMessage', message, level, {\n originalException: message,\n syntheticException: syntheticException,\n });\n}\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nexport function captureEvent(event) {\n return callOnHub('captureEvent', event);\n}\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nexport function configureScope(callback) {\n callOnHub('configureScope', callback);\n}\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nexport function addBreadcrumb(breadcrumb) {\n callOnHub('addBreadcrumb', breadcrumb);\n}\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normailzed.\n */\nexport function setContext(name, context) {\n callOnHub('setContext', name, context);\n}\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras) {\n callOnHub('setExtras', extras);\n}\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags) {\n callOnHub('setTags', tags);\n}\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normailzed.\n */\nexport function setExtra(key, extra) {\n callOnHub('setExtra', key, extra);\n}\n/**\n * Set key:value that will be sent as tags data with the event.\n * @param key String key of tag\n * @param value String value of tag\n */\nexport function setTag(key, value) {\n callOnHub('setTag', key, value);\n}\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user) {\n callOnHub('setUser', user);\n}\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nexport function withScope(callback) {\n callOnHub('withScope', callback);\n}\n/**\n * Calls a function on the latest client. Use this with caution, it's meant as\n * in \"internal\" helper so we don't need to expose every possible function in\n * the shim. It is not guaranteed that the client actually implements the\n * function.\n *\n * @param method The method to call on the client/client.\n * @param args Arguments to pass to the client/fontend.\n * @hidden\n */\nexport function _callOnClient(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n callOnHub.apply(void 0, tslib_1.__spread(['_invokeClient', method], args));\n}\n//# sourceMappingURL=index.js.map","import * as tslib_1 from \"tslib\";\nimport { captureException, withScope } from '@sentry/core';\nimport { addExceptionMechanism, addExceptionTypeValue } from '@sentry/utils';\nvar ignoreOnError = 0;\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError() {\n return ignoreOnError > 0;\n}\n/**\n * @hidden\n */\nexport function ignoreNextOnError() {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(function () {\n ignoreOnError -= 1;\n });\n}\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(fn, options, before) {\n if (options === void 0) { options = {}; }\n // tslint:disable-next-line:strict-type-predicates\n if (typeof fn !== 'function') {\n return fn;\n }\n try {\n // We don't wanna wrap it twice\n if (fn.__sentry__) {\n return fn;\n }\n // If this has already been wrapped in the past, return that wrapped function\n if (fn.__sentry_wrapped__) {\n return fn.__sentry_wrapped__;\n }\n }\n catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n var sentryWrapped = function () {\n var args = Array.prototype.slice.call(arguments);\n // tslint:disable:no-unsafe-any\n try {\n // tslint:disable-next-line:strict-type-predicates\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n var wrappedArguments = args.map(function (arg) { return wrap(arg, options); });\n if (fn.handleEvent) {\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.handleEvent.apply(this, wrappedArguments);\n }\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n // tslint:enable:no-unsafe-any\n }\n catch (ex) {\n ignoreNextOnError();\n withScope(function (scope) {\n scope.addEventProcessor(function (event) {\n var processedEvent = tslib_1.__assign({}, event);\n if (options.mechanism) {\n addExceptionTypeValue(processedEvent, undefined, undefined);\n addExceptionMechanism(processedEvent, options.mechanism);\n }\n processedEvent.extra = tslib_1.__assign({}, processedEvent.extra, { arguments: args });\n return processedEvent;\n });\n captureException(ex);\n });\n throw ex;\n }\n };\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (var property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n }\n catch (_oO) { } // tslint:disable-line:no-empty\n fn.prototype = fn.prototype || {};\n sentryWrapped.prototype = fn.prototype;\n Object.defineProperty(fn, '__sentry_wrapped__', {\n enumerable: false,\n value: sentryWrapped,\n });\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n Object.defineProperties(sentryWrapped, {\n __sentry__: {\n enumerable: false,\n value: true,\n },\n __sentry_original__: {\n enumerable: false,\n value: fn,\n },\n });\n // Restore original function name (not all browsers allow that)\n try {\n var descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name');\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get: function () {\n return fn.name;\n },\n });\n }\n }\n catch (_oO) {\n /*no-empty*/\n }\n return sentryWrapped;\n}\n//# sourceMappingURL=helpers.js.map","import { fill, getFunctionName, getGlobalObject } from '@sentry/utils';\nimport { wrap } from '../helpers';\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nvar TryCatch = /** @class */ (function () {\n function TryCatch() {\n /** JSDoc */\n this._ignoreOnError = 0;\n /**\n * @inheritDoc\n */\n this.name = TryCatch.id;\n }\n /** JSDoc */\n TryCatch.prototype._wrapTimeFunction = function (original) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: true,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n };\n /** JSDoc */\n TryCatch.prototype._wrapRAF = function (original) {\n return function (callback) {\n return original(wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n }));\n };\n };\n /** JSDoc */\n TryCatch.prototype._wrapEventTarget = function (target) {\n var global = getGlobalObject();\n var proto = global[target] && global[target].prototype;\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n fill(proto, 'addEventListener', function (original) {\n return function (eventName, fn, options) {\n try {\n // tslint:disable-next-line:no-unbound-method strict-type-predicates\n if (typeof fn.handleEvent === 'function') {\n fn.handleEvent = wrap(fn.handleEvent.bind(fn), {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target: target,\n },\n handled: true,\n type: 'instrument',\n },\n });\n }\n }\n catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n return original.call(this, eventName, wrap(fn, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target: target,\n },\n handled: true,\n type: 'instrument',\n },\n }), options);\n };\n });\n fill(proto, 'removeEventListener', function (original) {\n return function (eventName, fn, options) {\n var callback = fn;\n try {\n callback = callback && (callback.__sentry_wrapped__ || callback);\n }\n catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return original.call(this, eventName, callback, options);\n };\n });\n };\n /** JSDoc */\n TryCatch.prototype._wrapXHR = function (originalSend) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var xhr = this; // tslint:disable-line:no-this-assignment\n var xmlHttpRequestProps = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n xmlHttpRequestProps.forEach(function (prop) {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n fill(xhr, prop, function (original) {\n var wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n };\n // If Instrument integration has been called before TryCatch, get the name of original function\n if (original.__sentry_original__) {\n wrapOptions.mechanism.data.handler = getFunctionName(original.__sentry_original__);\n }\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n return originalSend.apply(this, args);\n };\n };\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n TryCatch.prototype.setupOnce = function () {\n this._ignoreOnError = this._ignoreOnError;\n var global = getGlobalObject();\n fill(global, 'setTimeout', this._wrapTimeFunction.bind(this));\n fill(global, 'setInterval', this._wrapTimeFunction.bind(this));\n fill(global, 'requestAnimationFrame', this._wrapRAF.bind(this));\n if ('XMLHttpRequest' in global) {\n fill(XMLHttpRequest.prototype, 'send', this._wrapXHR.bind(this));\n }\n [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n ].forEach(this._wrapEventTarget.bind(this));\n };\n /**\n * @inheritDoc\n */\n TryCatch.id = 'TryCatch';\n return TryCatch;\n}());\nexport { TryCatch };\n//# sourceMappingURL=trycatch.js.map","/* tslint:disable:only-arrow-functions no-unsafe-any */\nimport * as tslib_1 from \"tslib\";\nimport { isInstanceOf, isString } from './is';\nimport { logger } from './logger';\nimport { getFunctionName, getGlobalObject } from './misc';\nimport { fill } from './object';\nimport { supportsHistory, supportsNativeFetch } from './supports';\nvar global = getGlobalObject();\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\nvar handlers = {};\nvar instrumented = {};\n/** Instruments given API */\nfunction instrument(type) {\n if (instrumented[type]) {\n return;\n }\n instrumented[type] = true;\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n logger.warn('unknown instrumentation type:', type);\n }\n}\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addInstrumentationHandler(handler) {\n // tslint:disable-next-line:strict-type-predicates\n if (!handler || typeof handler.type !== 'string' || typeof handler.callback !== 'function') {\n return;\n }\n handlers[handler.type] = handlers[handler.type] || [];\n handlers[handler.type].push(handler.callback);\n instrument(handler.type);\n}\n/** JSDoc */\nfunction triggerHandlers(type, data) {\n var e_1, _a;\n if (!type || !handlers[type]) {\n return;\n }\n try {\n for (var _b = tslib_1.__values(handlers[type] || []), _c = _b.next(); !_c.done; _c = _b.next()) {\n var handler = _c.value;\n try {\n handler(data);\n }\n catch (e) {\n logger.error(\"Error while triggering instrumentation handler.\\nType: \" + type + \"\\nName: \" + getFunctionName(handler) + \"\\nError: \" + e);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n}\n/** JSDoc */\nfunction instrumentConsole() {\n if (!('console' in global)) {\n return;\n }\n ['debug', 'info', 'warn', 'error', 'log', 'assert'].forEach(function (level) {\n if (!(level in global.console)) {\n return;\n }\n fill(global.console, level, function (originalConsoleLevel) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n triggerHandlers('console', { args: args, level: level });\n // this fails for some browsers. :(\n if (originalConsoleLevel) {\n Function.prototype.apply.call(originalConsoleLevel, global.console, args);\n }\n };\n });\n });\n}\n/** JSDoc */\nfunction instrumentFetch() {\n if (!supportsNativeFetch()) {\n return;\n }\n fill(global, 'fetch', function (originalFetch) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var commonHandlerData = {\n args: args,\n fetchData: {\n method: getFetchMethod(args),\n url: getFetchUrl(args),\n },\n startTimestamp: Date.now(),\n };\n triggerHandlers('fetch', tslib_1.__assign({}, commonHandlerData));\n return originalFetch.apply(global, args).then(function (response) {\n triggerHandlers('fetch', tslib_1.__assign({}, commonHandlerData, { endTimestamp: Date.now(), response: response }));\n return response;\n }, function (error) {\n triggerHandlers('fetch', tslib_1.__assign({}, commonHandlerData, { endTimestamp: Date.now(), error: error }));\n throw error;\n });\n };\n });\n}\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs) {\n if (fetchArgs === void 0) { fetchArgs = []; }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs) {\n if (fetchArgs === void 0) { fetchArgs = []; }\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n/** JSDoc */\nfunction instrumentXHR() {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n var xhrproto = XMLHttpRequest.prototype;\n fill(xhrproto, 'open', function (originalOpen) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var url = args[1];\n this.__sentry_xhr__ = {\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n };\n // if Sentry key appears in URL, don't capture it as a request\n if (isString(url) && this.__sentry_xhr__.method === 'POST' && url.match(/sentry_key/)) {\n this.__sentry_own_request__ = true;\n }\n return originalOpen.apply(this, args);\n };\n });\n fill(xhrproto, 'send', function (originalSend) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var xhr = this; // tslint:disable-line:no-this-assignment\n var commonHandlerData = {\n args: args,\n startTimestamp: Date.now(),\n xhr: xhr,\n };\n triggerHandlers('xhr', tslib_1.__assign({}, commonHandlerData));\n xhr.addEventListener('readystatechange', function () {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n if (xhr.__sentry_xhr__) {\n xhr.__sentry_xhr__.status_code = xhr.status;\n }\n }\n catch (e) {\n /* do nothing */\n }\n triggerHandlers('xhr', tslib_1.__assign({}, commonHandlerData, { endTimestamp: Date.now() }));\n }\n });\n return originalSend.apply(this, args);\n };\n });\n}\nvar lastHref;\n/** JSDoc */\nfunction instrumentHistory() {\n if (!supportsHistory()) {\n return;\n }\n var oldOnPopState = global.onpopstate;\n global.onpopstate = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var to = global.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n var from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to,\n });\n if (oldOnPopState) {\n return oldOnPopState.apply(this, args);\n }\n };\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n var from = lastHref;\n var to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from: from,\n to: to,\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n}\n/** JSDoc */\nfunction instrumentDOM() {\n if (!('document' in global)) {\n return;\n }\n // Capture breadcrumbs from any click that is unhandled / bubbled up all the way\n // to the document. Do this before we instrument addEventListener.\n global.document.addEventListener('click', domEventHandler('click', triggerHandlers.bind(null, 'dom')), false);\n global.document.addEventListener('keypress', keypressEventHandler(triggerHandlers.bind(null, 'dom')), false);\n // After hooking into document bubbled up click and keypresses events, we also hook into user handled click & keypresses.\n ['EventTarget', 'Node'].forEach(function (target) {\n var proto = global[target] && global[target].prototype;\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n fill(proto, 'addEventListener', function (original) {\n return function (eventName, fn, options) {\n if (fn && fn.handleEvent) {\n if (eventName === 'click') {\n fill(fn, 'handleEvent', function (innerOriginal) {\n return function (event) {\n domEventHandler('click', triggerHandlers.bind(null, 'dom'))(event);\n return innerOriginal.call(this, event);\n };\n });\n }\n if (eventName === 'keypress') {\n fill(fn, 'handleEvent', function (innerOriginal) {\n return function (event) {\n keypressEventHandler(triggerHandlers.bind(null, 'dom'))(event);\n return innerOriginal.call(this, event);\n };\n });\n }\n }\n else {\n if (eventName === 'click') {\n domEventHandler('click', triggerHandlers.bind(null, 'dom'), true)(this);\n }\n if (eventName === 'keypress') {\n keypressEventHandler(triggerHandlers.bind(null, 'dom'))(this);\n }\n }\n return original.call(this, eventName, fn, options);\n };\n });\n fill(proto, 'removeEventListener', function (original) {\n return function (eventName, fn, options) {\n var callback = fn;\n try {\n callback = callback && (callback.__sentry_wrapped__ || callback);\n }\n catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return original.call(this, eventName, callback, options);\n };\n });\n });\n}\nvar debounceDuration = 1000;\nvar debounceTimer = 0;\nvar keypressTimeout;\nvar lastCapturedEvent;\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param name the event name (e.g. \"click\")\n * @param handler function that will be triggered\n * @param debounce decides whether it should wait till another event loop\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction domEventHandler(name, handler, debounce) {\n if (debounce === void 0) { debounce = false; }\n return function (event) {\n // reset keypress timeout; e.g. triggering a 'click' after\n // a 'keypress' will reset the keypress debounce so that a new\n // set of keypresses can be recorded\n keypressTimeout = undefined;\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors). Ignore if we've\n // already captured the event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n lastCapturedEvent = event;\n if (debounceTimer) {\n clearTimeout(debounceTimer);\n }\n if (debounce) {\n debounceTimer = setTimeout(function () {\n handler({ event: event, name: name });\n });\n }\n else {\n handler({ event: event, name: name });\n }\n };\n}\n/**\n * Wraps addEventListener to capture keypress UI events\n * @param handler function that will be triggered\n * @returns wrapped keypress events handler\n * @hidden\n */\nfunction keypressEventHandler(handler) {\n // TODO: if somehow user switches keypress target before\n // debounce timeout is triggered, we will only capture\n // a single breadcrumb from the FIRST target (acceptable?)\n return function (event) {\n var target;\n try {\n target = event.target;\n }\n catch (e) {\n // just accessing event properties can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/raven-js/issues/838\n return;\n }\n var tagName = target && target.tagName;\n // only consider keypress events on actual input elements\n // this will disregard keypresses targeting body (e.g. tabbing\n // through elements, hotkeys, etc)\n if (!tagName || (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && !target.isContentEditable)) {\n return;\n }\n // record first keypress in a series, but ignore subsequent\n // keypresses until debounce clears\n if (!keypressTimeout) {\n domEventHandler('input', handler)(event);\n }\n clearTimeout(keypressTimeout);\n keypressTimeout = setTimeout(function () {\n keypressTimeout = undefined;\n }, debounceDuration);\n };\n}\nvar _oldOnErrorHandler = null;\n/** JSDoc */\nfunction instrumentError() {\n _oldOnErrorHandler = global.onerror;\n global.onerror = function (msg, url, line, column, error) {\n triggerHandlers('error', {\n column: column,\n error: error,\n line: line,\n msg: msg,\n url: url,\n });\n if (_oldOnErrorHandler) {\n return _oldOnErrorHandler.apply(this, arguments);\n }\n return false;\n };\n}\nvar _oldOnUnhandledRejectionHandler = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection() {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n global.onunhandledrejection = function (e) {\n triggerHandlers('unhandledrejection', e);\n if (_oldOnUnhandledRejectionHandler) {\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n return true;\n };\n}\n//# sourceMappingURL=instrument.js.map","import * as tslib_1 from \"tslib\";\nimport { API, getCurrentHub } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addInstrumentationHandler, getEventDescription, getGlobalObject, htmlTreeAsString, logger, parseUrl, safeJoin, } from '@sentry/utils';\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\nvar Breadcrumbs = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function Breadcrumbs(options) {\n /**\n * @inheritDoc\n */\n this.name = Breadcrumbs.id;\n this._options = tslib_1.__assign({ console: true, dom: true, fetch: true, history: true, sentry: true, xhr: true }, options);\n }\n /**\n * Creates breadcrumbs from console API calls\n */\n Breadcrumbs.prototype._consoleBreadcrumb = function (handlerData) {\n var breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: Severity.fromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = \"Assertion failed: \" + (safeJoin(handlerData.args.slice(1), ' ') || 'console.assert');\n breadcrumb.data.arguments = handlerData.args.slice(1);\n }\n else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n };\n /**\n * Creates breadcrumbs from DOM API calls\n */\n Breadcrumbs.prototype._domBreadcrumb = function (handlerData) {\n var target;\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = handlerData.event.target\n ? htmlTreeAsString(handlerData.event.target)\n : htmlTreeAsString(handlerData.event);\n }\n catch (e) {\n target = '<unknown>';\n }\n if (target.length === 0) {\n return;\n }\n getCurrentHub().addBreadcrumb({\n category: \"ui.\" + handlerData.name,\n message: target,\n }, {\n event: handlerData.event,\n name: handlerData.name,\n });\n };\n /**\n * Creates breadcrumbs from XHR API calls\n */\n Breadcrumbs.prototype._xhrBreadcrumb = function (handlerData) {\n if (handlerData.endTimestamp) {\n // We only capture complete, non-sentry requests\n if (handlerData.xhr.__sentry_own_request__) {\n return;\n }\n getCurrentHub().addBreadcrumb({\n category: 'xhr',\n data: handlerData.xhr.__sentry_xhr__,\n type: 'http',\n }, {\n xhr: handlerData.xhr,\n });\n return;\n }\n // We only capture issued sentry requests\n if (this._options.sentry && handlerData.xhr.__sentry_own_request__) {\n addSentryBreadcrumb(handlerData.args[0]);\n }\n };\n /**\n * Creates breadcrumbs from fetch API calls\n */\n Breadcrumbs.prototype._fetchBreadcrumb = function (handlerData) {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\n var client = getCurrentHub().getClient();\n var dsn = client && client.getDsn();\n if (this._options.sentry && dsn) {\n var filterUrl = new API(dsn).getStoreEndpoint();\n // if Sentry key appears in URL, don't capture it as a request\n // but rather as our own 'sentry' type breadcrumb\n if (filterUrl &&\n handlerData.fetchData.url.indexOf(filterUrl) !== -1 &&\n handlerData.fetchData.method === 'POST' &&\n handlerData.args[1] &&\n handlerData.args[1].body) {\n addSentryBreadcrumb(handlerData.args[1].body);\n return;\n }\n }\n if (handlerData.error) {\n getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: tslib_1.__assign({}, handlerData.fetchData, { status_code: handlerData.response.status }),\n level: Severity.Error,\n type: 'http',\n }, {\n data: handlerData.error,\n input: handlerData.args,\n });\n }\n else {\n getCurrentHub().addBreadcrumb({\n category: 'fetch',\n data: tslib_1.__assign({}, handlerData.fetchData, { status_code: handlerData.response.status }),\n type: 'http',\n }, {\n input: handlerData.args,\n response: handlerData.response,\n });\n }\n };\n /**\n * Creates breadcrumbs from history API calls\n */\n Breadcrumbs.prototype._historyBreadcrumb = function (handlerData) {\n var global = getGlobalObject();\n var from = handlerData.from;\n var to = handlerData.to;\n var parsedLoc = parseUrl(global.location.href);\n var parsedFrom = parseUrl(from);\n var parsedTo = parseUrl(to);\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n // tslint:disable-next-line:no-parameter-reassignment\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n // tslint:disable-next-line:no-parameter-reassignment\n from = parsedFrom.relative;\n }\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from: from,\n to: to,\n },\n });\n };\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n Breadcrumbs.prototype.setupOnce = function () {\n var _this = this;\n if (this._options.console) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._consoleBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'console',\n });\n }\n if (this._options.dom) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._domBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'dom',\n });\n }\n if (this._options.xhr) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._xhrBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'xhr',\n });\n }\n if (this._options.fetch) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._fetchBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'fetch',\n });\n }\n if (this._options.history) {\n addInstrumentationHandler({\n callback: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this._historyBreadcrumb.apply(_this, tslib_1.__spread(args));\n },\n type: 'history',\n });\n }\n };\n /**\n * @inheritDoc\n */\n Breadcrumbs.id = 'Breadcrumbs';\n return Breadcrumbs;\n}());\nexport { Breadcrumbs };\n/**\n * Create a breadcrumb of `sentry` from the events themselves\n */\nfunction addSentryBreadcrumb(serializedData) {\n // There's always something that can go wrong with deserialization...\n try {\n var event_1 = JSON.parse(serializedData);\n getCurrentHub().addBreadcrumb({\n category: \"sentry.\" + (event_1.type === 'transaction' ? 'transaction' : 'event'),\n event_id: event_1.event_id,\n level: event_1.level || Severity.fromString('error'),\n message: getEventDescription(event_1),\n }, {\n event: event_1,\n });\n }\n catch (_oO) {\n logger.error('Error while adding sentry type breadcrumb');\n }\n}\n//# sourceMappingURL=breadcrumbs.js.map","import * as tslib_1 from \"tslib\";\nimport { getCurrentHub } from '@sentry/core';\nimport { Severity } from '@sentry/types';\nimport { addExceptionMechanism, addInstrumentationHandler, getLocationHref, isErrorEvent, isPrimitive, isString, logger, } from '@sentry/utils';\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { shouldIgnoreOnError } from '../helpers';\n/** Global handlers */\nvar GlobalHandlers = /** @class */ (function () {\n /** JSDoc */\n function GlobalHandlers(options) {\n /**\n * @inheritDoc\n */\n this.name = GlobalHandlers.id;\n /** JSDoc */\n this._onErrorHandlerInstalled = false;\n /** JSDoc */\n this._onUnhandledRejectionHandlerInstalled = false;\n this._options = tslib_1.__assign({ onerror: true, onunhandledrejection: true }, options);\n }\n /**\n * @inheritDoc\n */\n GlobalHandlers.prototype.setupOnce = function () {\n Error.stackTraceLimit = 50;\n if (this._options.onerror) {\n logger.log('Global Handler attached: onerror');\n this._installGlobalOnErrorHandler();\n }\n if (this._options.onunhandledrejection) {\n logger.log('Global Handler attached: onunhandledrejection');\n this._installGlobalOnUnhandledRejectionHandler();\n }\n };\n /** JSDoc */\n GlobalHandlers.prototype._installGlobalOnErrorHandler = function () {\n var _this = this;\n if (this._onErrorHandlerInstalled) {\n return;\n }\n addInstrumentationHandler({\n callback: function (data) {\n var error = data.error;\n var currentHub = getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n return;\n }\n var client = currentHub.getClient();\n var event = isPrimitive(error)\n ? _this._eventFromIncompleteOnError(data.msg, data.url, data.line, data.column)\n : _this._enhanceEventWithInitialFrame(eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: false,\n }), data.url, data.line, data.column);\n addExceptionMechanism(event, {\n handled: false,\n type: 'onerror',\n });\n currentHub.captureEvent(event, {\n originalException: error,\n });\n },\n type: 'error',\n });\n this._onErrorHandlerInstalled = true;\n };\n /** JSDoc */\n GlobalHandlers.prototype._installGlobalOnUnhandledRejectionHandler = function () {\n var _this = this;\n if (this._onUnhandledRejectionHandlerInstalled) {\n return;\n }\n addInstrumentationHandler({\n callback: function (e) {\n var error = e;\n // dig the object of the rejection out of known event types\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n }\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n }\n catch (_oO) {\n // no-empty\n }\n var currentHub = getCurrentHub();\n var hasIntegration = currentHub.getIntegration(GlobalHandlers);\n var isFailedOwnDelivery = error && error.__sentry_own_request__ === true;\n if (!hasIntegration || shouldIgnoreOnError() || isFailedOwnDelivery) {\n return true;\n }\n var client = currentHub.getClient();\n var event = isPrimitive(error)\n ? _this._eventFromIncompleteRejection(error)\n : eventFromUnknownInput(error, undefined, {\n attachStacktrace: client && client.getOptions().attachStacktrace,\n rejection: true,\n });\n event.level = Severity.Error;\n addExceptionMechanism(event, {\n handled: false,\n type: 'onunhandledrejection',\n });\n currentHub.captureEvent(event, {\n originalException: error,\n });\n return;\n },\n type: 'unhandledrejection',\n });\n this._onUnhandledRejectionHandlerInstalled = true;\n };\n /**\n * This function creates a stack from an old, error-less onerror handler.\n */\n GlobalHandlers.prototype._eventFromIncompleteOnError = function (msg, url, line, column) {\n var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n // If 'message' is ErrorEvent, get real message from inside\n var message = isErrorEvent(msg) ? msg.message : msg;\n var name;\n if (isString(message)) {\n var groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n }\n var event = {\n exception: {\n values: [\n {\n type: name || 'Error',\n value: message,\n },\n ],\n },\n };\n return this._enhanceEventWithInitialFrame(event, url, line, column);\n };\n /**\n * This function creates an Event from an TraceKitStackTrace that has part of it missing.\n */\n GlobalHandlers.prototype._eventFromIncompleteRejection = function (error) {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n value: \"Non-Error promise rejection captured with value: \" + error,\n },\n ],\n },\n };\n };\n /** JSDoc */\n GlobalHandlers.prototype._enhanceEventWithInitialFrame = function (event, url, line, column) {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].stacktrace = event.exception.values[0].stacktrace || {};\n event.exception.values[0].stacktrace.frames = event.exception.values[0].stacktrace.frames || [];\n var colno = isNaN(parseInt(column, 10)) ? undefined : column;\n var lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n var filename = isString(url) && url.length > 0 ? url : getLocationHref();\n if (event.exception.values[0].stacktrace.frames.length === 0) {\n event.exception.values[0].stacktrace.frames.push({\n colno: colno,\n filename: filename,\n function: '?',\n in_app: true,\n lineno: lineno,\n });\n }\n return event;\n };\n /**\n * @inheritDoc\n */\n GlobalHandlers.id = 'GlobalHandlers';\n return GlobalHandlers;\n}());\nexport { GlobalHandlers };\n//# sourceMappingURL=globalhandlers.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { isInstanceOf } from '@sentry/utils';\nimport { exceptionFromStacktrace } from '../parsers';\nimport { computeStackTrace } from '../tracekit';\nvar DEFAULT_KEY = 'cause';\nvar DEFAULT_LIMIT = 5;\n/** Adds SDK info to an event. */\nvar LinkedErrors = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function LinkedErrors(options) {\n if (options === void 0) { options = {}; }\n /**\n * @inheritDoc\n */\n this.name = LinkedErrors.id;\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event, hint) {\n var self = getCurrentHub().getIntegration(LinkedErrors);\n if (self) {\n return self._handler(event, hint);\n }\n return event;\n });\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype._handler = function (event, hint) {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return event;\n }\n var linkedErrors = this._walkErrorTree(hint.originalException, this._key);\n event.exception.values = tslib_1.__spread(linkedErrors, event.exception.values);\n return event;\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.prototype._walkErrorTree = function (error, key, stack) {\n if (stack === void 0) { stack = []; }\n if (!isInstanceOf(error[key], Error) || stack.length + 1 >= this._limit) {\n return stack;\n }\n var stacktrace = computeStackTrace(error[key]);\n var exception = exceptionFromStacktrace(stacktrace);\n return this._walkErrorTree(error[key], key, tslib_1.__spread([exception], stack));\n };\n /**\n * @inheritDoc\n */\n LinkedErrors.id = 'LinkedErrors';\n return LinkedErrors;\n}());\nexport { LinkedErrors };\n//# sourceMappingURL=linkederrors.js.map","import * as tslib_1 from \"tslib\";\nimport { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\nvar global = getGlobalObject();\n/** UserAgent */\nvar UserAgent = /** @class */ (function () {\n function UserAgent() {\n /**\n * @inheritDoc\n */\n this.name = UserAgent.id;\n }\n /**\n * @inheritDoc\n */\n UserAgent.prototype.setupOnce = function () {\n addGlobalEventProcessor(function (event) {\n if (getCurrentHub().getIntegration(UserAgent)) {\n if (!global.navigator || !global.location) {\n return event;\n }\n // Request Interface: https://docs.sentry.io/development/sdk-dev/event-payloads/request/\n var request = event.request || {};\n request.url = request.url || global.location.href;\n request.headers = request.headers || {};\n request.headers['User-Agent'] = global.navigator.userAgent;\n return tslib_1.__assign({}, event, { request: request });\n }\n return event;\n });\n };\n /**\n * @inheritDoc\n */\n UserAgent.id = 'UserAgent';\n return UserAgent;\n}());\nexport { UserAgent };\n//# sourceMappingURL=useragent.js.map","import { getCurrentHub, initAndBind, Integrations as CoreIntegrations } from '@sentry/core';\nimport { getGlobalObject, SyncPromise } from '@sentry/utils';\nimport { BrowserClient } from './client';\nimport { wrap as internalWrap } from './helpers';\nimport { Breadcrumbs, GlobalHandlers, LinkedErrors, TryCatch, UserAgent } from './integrations';\nexport var defaultIntegrations = [\n new CoreIntegrations.InboundFilters(),\n new CoreIntegrations.FunctionToString(),\n new TryCatch(),\n new Breadcrumbs(),\n new GlobalHandlers(),\n new LinkedErrors(),\n new UserAgent(),\n];\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n * dsn: '__DSN__',\n * // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { configureScope } from '@sentry/browser';\n * configureScope((scope: Scope) => {\n * scope.setExtra({ battery: 0.7 });\n * scope.setTag({ user_mode: 'admin' });\n * scope.setUser({ id: '4711' });\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n * message: 'My Breadcrumb',\n * // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n * message: 'Manual',\n * stacktrace: [\n * // ...\n * ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nexport function init(options) {\n if (options === void 0) { options = {}; }\n if (options.defaultIntegrations === undefined) {\n options.defaultIntegrations = defaultIntegrations;\n }\n if (options.release === undefined) {\n var window_1 = getGlobalObject();\n // This supports the variable that sentry-webpack-plugin injects\n if (window_1.SENTRY_RELEASE && window_1.SENTRY_RELEASE.id) {\n options.release = window_1.SENTRY_RELEASE.id;\n }\n }\n initAndBind(BrowserClient, options);\n}\n/**\n * Present the user with a report dialog.\n *\n * @param options Everything is optional, we try to fetch all info need from the global scope.\n */\nexport function showReportDialog(options) {\n if (options === void 0) { options = {}; }\n if (!options.eventId) {\n options.eventId = getCurrentHub().lastEventId();\n }\n var client = getCurrentHub().getClient();\n if (client) {\n client.showReportDialog(options);\n }\n}\n/**\n * This is the getter for lastEventId.\n *\n * @returns The last event id of a captured event.\n */\nexport function lastEventId() {\n return getCurrentHub().lastEventId();\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function forceLoad() {\n // Noop\n}\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nexport function onLoad(callback) {\n callback();\n}\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function flush(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.flush(timeout);\n }\n return SyncPromise.reject(false);\n}\n/**\n * A promise that resolves when all current events have been sent.\n * If you provide a timeout and the queue takes longer to drain the promise returns false.\n *\n * @param timeout Maximum time in ms the client should wait.\n */\nexport function close(timeout) {\n var client = getCurrentHub().getClient();\n if (client) {\n return client.close(timeout);\n }\n return SyncPromise.reject(false);\n}\n/**\n * Wrap code within a try/catch block so the SDK is able to capture errors.\n *\n * @param fn A function to wrap.\n *\n * @returns The result of wrapped function call.\n */\nexport function wrap(fn) {\n return internalWrap(fn)(); // tslint:disable-line:no-unsafe-any\n}\n//# sourceMappingURL=sdk.js.map","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = (i >= 0) ? arguments[i] : process.cwd();\n\n // Skip empty and invalid entries\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n }\n\n // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n\n // Normalize the path\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n\n return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/';\n\n // Normalize the path\n path = normalizeArray(filter(path.split('/'), function(p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function(p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n return p;\n }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== '') break;\n }\n\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== '') break;\n }\n\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n\n var fromParts = trim(from.split('/'));\n var toParts = trim(to.split('/'));\n\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push('..');\n }\n\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n if (typeof path !== 'string') path = path + '';\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47 /*/*/;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n // We saw the first non-path separator\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) {\n // return '//';\n // Backwards-compat fix:\n return '/';\n }\n return path.slice(0, end);\n};\n\nfunction basename(path) {\n if (typeof path !== 'string') path = path + '';\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // path component\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n};\n\nexports.extname = function (path) {\n if (typeof path !== 'string') path = path + '';\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n // We saw the first non-path separator, mark this as the end of our\n // extension\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n // If this is our first dot, mark it as the start of our extension\n if (startDot === -1)\n startDot = i;\n else if (preDotState !== 1)\n preDotState = 1;\n } else if (startDot !== -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension\n preDotState = -1;\n }\n }\n\n if (startDot === -1 || end === -1 ||\n // We saw a non-dot character immediately before the dot\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly '..'\n preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return '';\n }\n return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n ? function (str, start, len) { return str.substr(start, len) }\n : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n }\n;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","import { getGlobalObject, isPlainObject, logger } from '@sentry/utils';\n/** JSDoc */\nvar Vue = /** @class */ (function () {\n /**\n * @inheritDoc\n */\n function Vue(options) {\n if (options === void 0) { options = {}; }\n /**\n * @inheritDoc\n */\n this.name = Vue.id;\n /**\n * When set to false, Sentry will suppress reporting all props data\n * from your Vue components for privacy concerns.\n */\n this._attachProps = true;\n /**\n * When set to true, original Vue's `logError` will be called as well.\n * https://github.com/vuejs/vue/blob/c2b1cfe9ccd08835f2d99f6ce60f67b4de55187f/src/core/util/error.js#L38-L48\n */\n this._logErrors = false;\n // tslint:disable-next-line: no-unsafe-any\n this._Vue = options.Vue || getGlobalObject().Vue;\n if (options.logErrors !== undefined) {\n this._logErrors = options.logErrors;\n }\n if (options.attachProps === false) {\n this._attachProps = false;\n }\n }\n /** JSDoc */\n Vue.prototype._formatComponentName = function (vm) {\n // tslint:disable:no-unsafe-any\n if (vm.$root === vm) {\n return 'root instance';\n }\n var name = vm._isVue ? vm.$options.name || vm.$options._componentTag : vm.name;\n return ((name ? \"component <\" + name + \">\" : 'anonymous component') +\n (vm._isVue && vm.$options.__file ? \" at \" + vm.$options.__file : ''));\n };\n /**\n * @inheritDoc\n */\n Vue.prototype.setupOnce = function (_, getCurrentHub) {\n // tslint:disable:no-unsafe-any\n var _this = this;\n if (!this._Vue || !this._Vue.config) {\n logger.error('VueIntegration is missing a Vue instance');\n return;\n }\n var oldOnError = this._Vue.config.errorHandler;\n this._Vue.config.errorHandler = function (error, vm, info) {\n var metadata = {};\n if (isPlainObject(vm)) {\n metadata.componentName = _this._formatComponentName(vm);\n if (_this._attachProps) {\n metadata.propsData = vm.$options.propsData;\n }\n }\n if (info !== void 0) {\n metadata.lifecycleHook = info;\n }\n if (getCurrentHub().getIntegration(Vue)) {\n // This timeout makes sure that any breadcrumbs are recorded before sending it off the sentry\n setTimeout(function () {\n getCurrentHub().withScope(function (scope) {\n scope.setContext('vue', metadata);\n getCurrentHub().captureException(error);\n });\n });\n }\n if (typeof oldOnError === 'function') {\n oldOnError.call(_this._Vue, error, vm, info);\n }\n if (_this._logErrors) {\n _this._Vue.util.warn(\"Error in \" + info + \": \\\"\" + error.toString() + \"\\\"\", vm);\n // tslint:disable-next-line:no-console\n console.error(error);\n }\n };\n };\n /**\n * @inheritDoc\n */\n Vue.id = 'Vue';\n return Vue;\n}());\nexport { Vue };\n//# sourceMappingURL=vue.js.map","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","function validate(binding) {\r\n if (typeof binding.value !== 'function') {\r\n console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\r\n return false\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction isPopup(popupItem, elements) {\r\n if (!popupItem || !elements)\r\n return false\r\n\r\n for (var i = 0, len = elements.length; i < len; i++) {\r\n try {\r\n if (popupItem.contains(elements[i])) {\r\n return true\r\n }\r\n if (elements[i].contains(popupItem)) {\r\n return false\r\n }\r\n } catch(e) {\r\n return false\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction isServer(vNode) {\r\n return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\r\n}\r\n\r\nexports = module.exports = {\r\n bind: function (el, binding, vNode) {\r\n if (!validate(binding)) return\r\n\r\n // Define Handler and cache it on the element\r\n function handler(e) {\r\n if (!vNode.context) return\r\n\r\n // some components may have related popup item, on which we shall prevent the click outside event handler.\r\n var elements = e.path || (e.composedPath && e.composedPath())\r\n elements && elements.length > 0 && elements.unshift(e.target)\r\n \r\n if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\r\n\r\n el.__vueClickOutside__.callback(e)\r\n }\r\n\r\n // add Event Listeners\r\n el.__vueClickOutside__ = {\r\n handler: handler,\r\n callback: binding.value\r\n }\r\n !isServer(vNode) && document.addEventListener('click', handler)\r\n },\r\n\r\n update: function (el, binding) {\r\n if (validate(binding)) el.__vueClickOutside__.callback = binding.value\r\n },\r\n \r\n unbind: function (el, binding, vNode) {\r\n // Remove Event Listeners\r\n !isServer(vNode) && document.removeEventListener('click', el.__vueClickOutside__.handler)\r\n delete el.__vueClickOutside__\r\n }\r\n}\r\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';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","import * as tslib_1 from \"tslib\";\nimport { isElement, isError, isEvent, isInstanceOf, isPlainObject, isPrimitive, isSyntheticEvent } from './is';\nimport { Memo } from './memo';\nimport { getFunctionName, htmlTreeAsString } from './misc';\nimport { truncate } from './string';\n/**\n * Wrap a given object method with a higher-order function\n *\n * @param source An object that contains a method to be wrapped.\n * @param name A name of method to be wrapped.\n * @param replacement A function that should be used to wrap a given method.\n * @returns void\n */\nexport function fill(source, name, replacement) {\n if (!(name in source)) {\n return;\n }\n var original = source[name];\n var wrapped = replacement(original);\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n // tslint:disable-next-line:strict-type-predicates\n if (typeof wrapped === 'function') {\n try {\n wrapped.prototype = wrapped.prototype || {};\n Object.defineProperties(wrapped, {\n __sentry_original__: {\n enumerable: false,\n value: original,\n },\n });\n }\n catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n source[name] = wrapped;\n}\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nexport function urlEncode(object) {\n return Object.keys(object)\n .map(\n // tslint:disable-next-line:no-unsafe-any\n function (key) { return encodeURIComponent(key) + \"=\" + encodeURIComponent(object[key]); })\n .join('&');\n}\n/**\n * Transforms any object into an object literal with all it's attributes\n * attached to it.\n *\n * @param value Initial source that we have to transform in order to be usable by the serializer\n */\nfunction getWalkSource(value) {\n if (isError(value)) {\n var error = value;\n var err = {\n message: error.message,\n name: error.name,\n stack: error.stack,\n };\n for (var i in error) {\n if (Object.prototype.hasOwnProperty.call(error, i)) {\n err[i] = error[i];\n }\n }\n return err;\n }\n if (isEvent(value)) {\n var event_1 = value;\n var source = {};\n source.type = event_1.type;\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n source.target = isElement(event_1.target)\n ? htmlTreeAsString(event_1.target)\n : Object.prototype.toString.call(event_1.target);\n }\n catch (_oO) {\n source.target = '<unknown>';\n }\n try {\n source.currentTarget = isElement(event_1.currentTarget)\n ? htmlTreeAsString(event_1.currentTarget)\n : Object.prototype.toString.call(event_1.currentTarget);\n }\n catch (_oO) {\n source.currentTarget = '<unknown>';\n }\n // tslint:disable-next-line:strict-type-predicates\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n source.detail = event_1.detail;\n }\n for (var i in event_1) {\n if (Object.prototype.hasOwnProperty.call(event_1, i)) {\n source[i] = event_1;\n }\n }\n return source;\n }\n return value;\n}\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n // tslint:disable-next-line:no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n/** Calculates bytes size of input object */\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n/** JSDoc */\nexport function normalizeToSize(object, \n// Default Node.js REPL depth\ndepth, \n// 100kB, as 200kB is max payload size, so half sounds reasonable\nmaxSize) {\n if (depth === void 0) { depth = 3; }\n if (maxSize === void 0) { maxSize = 100 * 1024; }\n var serialized = normalize(object, depth);\n if (jsonSize(serialized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n return serialized;\n}\n/** Transforms any input value into a string form, either primitive value or a type of the input */\nfunction serializeValue(value) {\n var type = Object.prototype.toString.call(value);\n // Node.js REPL notation\n if (typeof value === 'string') {\n return value;\n }\n if (type === '[object Object]') {\n return '[Object]';\n }\n if (type === '[object Array]') {\n return '[Array]';\n }\n var normalized = normalizeValue(value);\n return isPrimitive(normalized) ? normalized : type;\n}\n/**\n * normalizeValue()\n *\n * Takes unserializable input and make it serializable friendly\n *\n * - translates undefined/NaN values to \"[undefined]\"/\"[NaN]\" respectively,\n * - serializes Error objects\n * - filter global objects\n */\n// tslint:disable-next-line:cyclomatic-complexity\nfunction normalizeValue(value, key) {\n if (key === 'domain' && value && typeof value === 'object' && value._events) {\n return '[Domain]';\n }\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n // tslint:disable-next-line:no-tautology-expression\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n if (value === void 0) {\n return '[undefined]';\n }\n if (typeof value === 'function') {\n return \"[Function: \" + getFunctionName(value) + \"]\";\n }\n return value;\n}\n/**\n * Walks an object to perform a normalization on it\n *\n * @param key of object that's walked in current iteration\n * @param value object to be walked\n * @param depth Optional number indicating how deep should walking be performed\n * @param memo Optional Memo class handling decycling\n */\nexport function walk(key, value, depth, memo) {\n if (depth === void 0) { depth = +Infinity; }\n if (memo === void 0) { memo = new Memo(); }\n // If we reach the maximum depth, serialize whatever has left\n if (depth === 0) {\n return serializeValue(value);\n }\n // If value implements `toJSON` method, call it and return early\n // tslint:disable:no-unsafe-any\n if (value !== null && value !== undefined && typeof value.toJSON === 'function') {\n return value.toJSON();\n }\n // tslint:enable:no-unsafe-any\n // If normalized value is a primitive, there are no branches left to walk, so we can just bail out, as theres no point in going down that branch any further\n var normalized = normalizeValue(value, key);\n if (isPrimitive(normalized)) {\n return normalized;\n }\n // Create source that we will use for next itterations, either objectified error object (Error type with extracted keys:value pairs) or the input itself\n var source = getWalkSource(value);\n // Create an accumulator that will act as a parent for all future itterations of that branch\n var acc = Array.isArray(value) ? [] : {};\n // If we already walked that branch, bail out, as it's circular reference\n if (memo.memoize(value)) {\n return '[Circular ~]';\n }\n // Walk all keys of the source\n for (var innerKey in source) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(source, innerKey)) {\n continue;\n }\n // Recursively walk through all the child nodes\n acc[innerKey] = walk(innerKey, source[innerKey], depth - 1, memo);\n }\n // Once walked through all the branches, remove the parent from memo storage\n memo.unmemoize(value);\n // Return accumulated values\n return acc;\n}\n/**\n * normalize()\n *\n * - Creates a copy to prevent original input mutation\n * - Skip non-enumerablers\n * - Calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializeable values (undefined/NaN/Functions) to serializable format\n * - Translates known global objects/Classes to a string representations\n * - Takes care of Error objects serialization\n * - Optionally limit depth of final output\n */\nexport function normalize(input, depth) {\n try {\n // tslint:disable-next-line:no-unsafe-any\n return JSON.parse(JSON.stringify(input, function (key, value) { return walk(key, value, depth); }));\n }\n catch (_oO) {\n return '**non-serializable**';\n }\n}\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nexport function extractExceptionKeysForMessage(exception, maxLength) {\n if (maxLength === void 0) { maxLength = 40; }\n // tslint:disable:strict-type-predicates\n var keys = Object.keys(getWalkSource(exception));\n keys.sort();\n if (!keys.length) {\n return '[object has no keys]';\n }\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n for (var includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n var serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n return '';\n}\n/**\n * Given any object, return the new object with removed keys that value was `undefined`.\n * Works recursively on objects and arrays.\n */\nexport function dropUndefinedKeys(val) {\n var e_1, _a;\n if (isPlainObject(val)) {\n var obj = val;\n var rv = {};\n try {\n for (var _b = tslib_1.__values(Object.keys(obj)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n if (typeof obj[key] !== 'undefined') {\n rv[key] = dropUndefinedKeys(obj[key]);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return rv;\n }\n if (Array.isArray(val)) {\n return val.map(dropUndefinedKeys);\n }\n return val;\n}\n//# sourceMappingURL=object.js.map","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","import { consoleSandbox, getGlobalObject } from './misc';\n// TODO: Implement different loggers for different environments\nvar global = getGlobalObject();\n/** Prefix for logging strings */\nvar PREFIX = 'Sentry Logger ';\n/** JSDoc */\nvar Logger = /** @class */ (function () {\n /** JSDoc */\n function Logger() {\n this._enabled = false;\n }\n /** JSDoc */\n Logger.prototype.disable = function () {\n this._enabled = false;\n };\n /** JSDoc */\n Logger.prototype.enable = function () {\n this._enabled = true;\n };\n /** JSDoc */\n Logger.prototype.log = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.log(PREFIX + \"[Log]: \" + args.join(' ')); // tslint:disable-line:no-console\n });\n };\n /** JSDoc */\n Logger.prototype.warn = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.warn(PREFIX + \"[Warn]: \" + args.join(' ')); // tslint:disable-line:no-console\n });\n };\n /** JSDoc */\n Logger.prototype.error = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.error(PREFIX + \"[Error]: \" + args.join(' ')); // tslint:disable-line:no-console\n });\n };\n return Logger;\n}());\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nglobal.__SENTRY__ = global.__SENTRY__ || {};\nvar logger = global.__SENTRY__.logger || (global.__SENTRY__.logger = new Logger());\nexport { logger };\n//# sourceMappingURL=logger.js.map","/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat) {\n switch (Object.prototype.toString.call(wat)) {\n case '[object Error]':\n return true;\n case '[object Exception]':\n return true;\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat) {\n return Object.prototype.toString.call(wat) === '[object ErrorEvent]';\n}\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMError]';\n}\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMException]';\n}\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat) {\n return Object.prototype.toString.call(wat) === '[object String]';\n}\n/**\n * Checks whether given value's is a primitive (undefined, null, number, boolean, string)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat) {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat) {\n return Object.prototype.toString.call(wat) === '[object Object]';\n}\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat) {\n // tslint:disable-next-line:strict-type-predicates\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat) {\n // tslint:disable-next-line:strict-type-predicates\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat) {\n return Object.prototype.toString.call(wat) === '[object RegExp]';\n}\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat) {\n // tslint:disable:no-unsafe-any\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n // tslint:enable:no-unsafe-any\n}\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat) {\n // tslint:disable-next-line:no-unsafe-any\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nexport function isInstanceOf(wat, base) {\n try {\n // tslint:disable-next-line:no-unsafe-any\n return wat instanceof base;\n }\n catch (_e) {\n return false;\n }\n}\n//# sourceMappingURL=is.js.map","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'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","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","import { isString } from './is';\nimport { snipLine } from './string';\n/**\n * Requires a module which is protected against bundler minification.\n *\n * @param request The module path to resolve\n */\nexport function dynamicRequire(mod, request) {\n // tslint:disable-next-line: no-unsafe-any\n return mod.require(request);\n}\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\nexport function isNodeEnv() {\n // tslint:disable:strict-type-predicates\n return Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';\n}\nvar fallbackGlobalObject = {};\n/**\n * Safely get global scope object\n *\n * @returns Global scope object\n */\nexport function getGlobalObject() {\n return (isNodeEnv()\n ? global\n : typeof window !== 'undefined'\n ? window\n : typeof self !== 'undefined'\n ? self\n : fallbackGlobalObject);\n}\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nexport function uuid4() {\n var global = getGlobalObject();\n var crypto = global.crypto || global.msCrypto;\n if (!(crypto === void 0) && crypto.getRandomValues) {\n // Use window.crypto API if available\n var arr = new Uint16Array(8);\n crypto.getRandomValues(arr);\n // set 4 in byte 7\n // tslint:disable-next-line:no-bitwise\n arr[3] = (arr[3] & 0xfff) | 0x4000;\n // set 2 most significant bits of byte 9 to '10'\n // tslint:disable-next-line:no-bitwise\n arr[4] = (arr[4] & 0x3fff) | 0x8000;\n var pad = function (num) {\n var v = num.toString(16);\n while (v.length < 4) {\n v = \"0\" + v;\n }\n return v;\n };\n return (pad(arr[0]) + pad(arr[1]) + pad(arr[2]) + pad(arr[3]) + pad(arr[4]) + pad(arr[5]) + pad(arr[6]) + pad(arr[7]));\n }\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n // tslint:disable-next-line:no-bitwise\n var r = (Math.random() * 16) | 0;\n // tslint:disable-next-line:no-bitwise\n var v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not <a/> href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nexport function parseUrl(url) {\n if (!url) {\n return {};\n }\n var match = url.match(/^(([^:\\/?#]+):)?(\\/\\/([^\\/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n if (!match) {\n return {};\n }\n // coerce to undefined values to empty string so we don't get 'undefined'\n var query = match[6] || '';\n var fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n relative: match[5] + query + fragment,\n };\n}\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nexport function getEventDescription(event) {\n if (event.message) {\n return event.message;\n }\n if (event.exception && event.exception.values && event.exception.values[0]) {\n var exception = event.exception.values[0];\n if (exception.type && exception.value) {\n return exception.type + \": \" + exception.value;\n }\n return exception.type || exception.value || event.event_id || '<unknown>';\n }\n return event.event_id || '<unknown>';\n}\n/** JSDoc */\nexport function consoleSandbox(callback) {\n var global = getGlobalObject();\n var levels = ['debug', 'info', 'warn', 'error', 'log', 'assert'];\n if (!('console' in global)) {\n return callback();\n }\n var originalConsole = global.console;\n var wrappedLevels = {};\n // Restore all wrapped console methods\n levels.forEach(function (level) {\n if (level in global.console && originalConsole[level].__sentry_original__) {\n wrappedLevels[level] = originalConsole[level];\n originalConsole[level] = originalConsole[level].__sentry_original__;\n }\n });\n // Perform callback manipulations\n var result = callback();\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(function (level) {\n originalConsole[level] = wrappedLevels[level];\n });\n return result;\n}\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nexport function addExceptionTypeValue(event, value, type) {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].value = event.exception.values[0].value || value || '';\n event.exception.values[0].type = event.exception.values[0].type || type || 'Error';\n}\n/**\n * Adds exception mechanism to a given event.\n * @param event The event to modify.\n * @param mechanism Mechanism of the mechanism.\n * @hidden\n */\nexport function addExceptionMechanism(event, mechanism) {\n if (mechanism === void 0) { mechanism = {}; }\n // TODO: Use real type with `keyof Mechanism` thingy and maybe make it better?\n try {\n // @ts-ignore\n // tslint:disable:no-non-null-assertion\n event.exception.values[0].mechanism = event.exception.values[0].mechanism || {};\n Object.keys(mechanism).forEach(function (key) {\n // @ts-ignore\n event.exception.values[0].mechanism[key] = mechanism[key];\n });\n }\n catch (_oO) {\n // no-empty\n }\n}\n/**\n * A safe form of location.href\n */\nexport function getLocationHref() {\n try {\n return document.location.href;\n }\n catch (oO) {\n return '';\n }\n}\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(elem) {\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n var currentElem = elem;\n var MAX_TRAVERSE_HEIGHT = 5;\n var MAX_OUTPUT_LEN = 80;\n var out = [];\n var height = 0;\n var len = 0;\n var separator = ' > ';\n var sepLength = separator.length;\n var nextStr = void 0;\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n out.push(nextStr);\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n return out.reverse().join(separator);\n }\n catch (_oO) {\n return '<unknown>';\n }\n}\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el) {\n var elem = el;\n var out = [];\n var className;\n var classes;\n var key;\n var attr;\n var i;\n if (!elem || !elem.tagName) {\n return '';\n }\n out.push(elem.tagName.toLowerCase());\n if (elem.id) {\n out.push(\"#\" + elem.id);\n }\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(\".\" + classes[i]);\n }\n }\n var attrWhitelist = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < attrWhitelist.length; i++) {\n key = attrWhitelist[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(\"[\" + key + \"=\\\"\" + attr + \"\\\"]\");\n }\n }\n return out.join('');\n}\nvar INITIAL_TIME = Date.now();\nvar prevNow = 0;\nvar performanceFallback = {\n now: function () {\n var now = Date.now() - INITIAL_TIME;\n if (now < prevNow) {\n now = prevNow;\n }\n prevNow = now;\n return now;\n },\n timeOrigin: INITIAL_TIME,\n};\nexport var crossPlatformPerformance = (function () {\n if (isNodeEnv()) {\n try {\n var perfHooks = dynamicRequire(module, 'perf_hooks');\n return perfHooks.performance;\n }\n catch (_) {\n return performanceFallback;\n }\n }\n if (getGlobalObject().performance) {\n // Polyfill for performance.timeOrigin.\n //\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // tslint:disable-next-line:strict-type-predicates\n if (performance.timeOrigin === undefined) {\n // As of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always a\n // valid fallback. In the absence of a initial time provided by the browser, fallback to INITIAL_TIME.\n // @ts-ignore\n // tslint:disable-next-line:deprecation\n performance.timeOrigin = (performance.timing && performance.timing.navigationStart) || INITIAL_TIME;\n }\n }\n return getGlobalObject().performance || performanceFallback;\n})();\n/**\n * Returns a timestamp in seconds with milliseconds precision since the UNIX epoch calculated with the monotonic clock.\n */\nexport function timestampWithMs() {\n return (crossPlatformPerformance.timeOrigin + crossPlatformPerformance.now()) / 1000;\n}\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nvar SEMVER_REGEXP = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nexport function parseSemver(input) {\n var match = input.match(SEMVER_REGEXP) || [];\n var major = parseInt(match[1], 10);\n var minor = parseInt(match[2], 10);\n var patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\nvar defaultRetryAfter = 60 * 1000; // 60 seconds\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param now current unix timestamp\n * @param header string representation of 'Retry-After' header\n */\nexport function parseRetryAfterHeader(now, header) {\n if (!header) {\n return defaultRetryAfter;\n }\n var headerDelay = parseInt(\"\" + header, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n var headerDate = Date.parse(\"\" + header);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n return defaultRetryAfter;\n}\nvar defaultFunctionName = '<anonymous>';\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn) {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n }\n catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nexport function addContextToFrame(lines, frame, linesOfContext) {\n if (linesOfContext === void 0) { linesOfContext = 5; }\n var lineno = frame.lineno || 0;\n var maxLines = lines.length;\n var sourceLine = Math.max(Math.min(maxLines, lineno - 1), 0);\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map(function (line) { return snipLine(line, 0); });\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map(function (line) { return snipLine(line, 0); });\n}\n//# sourceMappingURL=misc.js.map","import { isRegExp, isString } from './is';\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function truncate(str, max) {\n if (max === void 0) { max = 0; }\n // tslint:disable-next-line:strict-type-predicates\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : str.substr(0, max) + \"...\";\n}\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line, colno) {\n var newLine = line;\n var ll = newLine.length;\n if (ll <= 150) {\n return newLine;\n }\n if (colno > ll) {\n colno = ll; // tslint:disable-line:no-parameter-reassignment\n }\n var start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n var end = Math.min(start + 140, ll);\n if (end > ll - 5) {\n end = ll;\n }\n if (end === ll) {\n start = Math.max(end - 140, 0);\n }\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = \"'{snip} \" + newLine;\n }\n if (end < ll) {\n newLine += ' {snip}';\n }\n return newLine;\n}\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\nexport function safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n var output = [];\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < input.length; i++) {\n var value = input[i];\n try {\n output.push(String(value));\n }\n catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n return output.join(delimiter);\n}\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nexport function isMatchingPattern(value, pattern) {\n if (!isString(value)) {\n return false;\n }\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}\n//# sourceMappingURL=string.js.map","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n"],"sourceRoot":""}