{"version":3,"sources":["webpack://mdb/webpack/universalModuleDefinition","webpack://mdb/webpack/bootstrap","webpack://mdb/./node_modules/core-js/internals/fails.js","webpack://mdb/./node_modules/core-js/internals/export.js","webpack://mdb/./node_modules/core-js/internals/well-known-symbol.js","webpack://mdb/./node_modules/core-js/modules/es.array.for-each.js","webpack://mdb/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://mdb/./node_modules/core-js/modules/es.object.to-string.js","webpack://mdb/./node_modules/core-js/internals/global.js","webpack://mdb/./node_modules/core-js/modules/es.symbol.js","webpack://mdb/./node_modules/core-js/modules/es.object.keys.js","webpack://mdb/./node_modules/core-js/modules/es.regexp.exec.js","webpack://mdb/./node_modules/core-js/internals/descriptors.js","webpack://mdb/./node_modules/core-js/internals/is-object.js","webpack://mdb/./node_modules/core-js/internals/has.js","webpack://mdb/./node_modules/core-js/internals/an-object.js","webpack://mdb/./node_modules/core-js/modules/es.array.iterator.js","webpack://mdb/./node_modules/core-js/modules/es.string.iterator.js","webpack://mdb/./node_modules/core-js/modules/es.array.filter.js","webpack://mdb/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://mdb/./node_modules/core-js/modules/es.symbol.description.js","webpack://mdb/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://mdb/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://mdb/./node_modules/core-js/internals/object-define-property.js","webpack://mdb/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://mdb/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://mdb/./node_modules/core-js/internals/to-indexed-object.js","webpack://mdb/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://mdb/./node_modules/core-js/modules/es.array.concat.js","webpack://mdb/./node_modules/core-js/modules/es.array.find.js","webpack://mdb/./node_modules/core-js/internals/to-object.js","webpack://mdb/./node_modules/core-js/modules/es.array.slice.js","webpack://mdb/./node_modules/core-js/internals/redefine.js","webpack://mdb/./node_modules/core-js/internals/to-length.js","webpack://mdb/./node_modules/core-js/modules/es.array.from.js","webpack://mdb/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://mdb/./node_modules/core-js/internals/require-object-coercible.js","webpack://mdb/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://mdb/./node_modules/core-js/modules/es.string.split.js","webpack://mdb/./node_modules/core-js/modules/es.function.name.js","webpack://mdb/./node_modules/core-js/modules/es.array.map.js","webpack://mdb/./node_modules/core-js/internals/classof-raw.js","webpack://mdb/./node_modules/core-js/internals/get-built-in.js","webpack://mdb/./node_modules/core-js/internals/array-method-uses-to-length.js","webpack://mdb/./node_modules/core-js/modules/es.string.match.js","webpack://mdb/./node_modules/core-js/modules/es.array.index-of.js","webpack://mdb/./node_modules/core-js/modules/es.string.replace.js","webpack://mdb/./node_modules/popper.js/dist/esm/popper.js","webpack://mdb/./node_modules/core-js/internals/create-property-descriptor.js","webpack://mdb/./node_modules/core-js/internals/to-primitive.js","webpack://mdb/./node_modules/core-js/internals/internal-state.js","webpack://mdb/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://mdb/./node_modules/core-js/internals/array-iteration.js","webpack://mdb/./node_modules/core-js/internals/object-create.js","webpack://mdb/./node_modules/core-js/internals/iterators.js","webpack://mdb/./node_modules/core-js/internals/indexed-object.js","webpack://mdb/./node_modules/core-js/internals/shared-key.js","webpack://mdb/./node_modules/core-js/internals/is-pure.js","webpack://mdb/./node_modules/core-js/internals/hidden-keys.js","webpack://mdb/./node_modules/core-js/internals/to-integer.js","webpack://mdb/./node_modules/core-js/internals/a-function.js","webpack://mdb/./node_modules/core-js/internals/is-array.js","webpack://mdb/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://mdb/./node_modules/core-js/internals/create-property.js","webpack://mdb/./node_modules/core-js/internals/object-keys.js","webpack://mdb/./node_modules/core-js/internals/regexp-exec.js","webpack://mdb/./node_modules/core-js/modules/es.string.trim.js","webpack://mdb/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://mdb/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://mdb/./node_modules/core-js/internals/set-global.js","webpack://mdb/./node_modules/core-js/internals/shared.js","webpack://mdb/./node_modules/core-js/internals/uid.js","webpack://mdb/./node_modules/core-js/internals/enum-bug-keys.js","webpack://mdb/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://mdb/./node_modules/core-js/internals/is-forced.js","webpack://mdb/./node_modules/core-js/internals/native-symbol.js","webpack://mdb/./node_modules/core-js/internals/array-method-is-strict.js","webpack://mdb/./node_modules/core-js/internals/to-string-tag-support.js","webpack://mdb/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://mdb/./node_modules/core-js/internals/regexp-flags.js","webpack://mdb/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://mdb/./node_modules/core-js/internals/advance-string-index.js","webpack://mdb/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://mdb/./node_modules/core-js/internals/set-to-string-tag.js","webpack://mdb/./node_modules/core-js/modules/es.number.constructor.js","webpack://mdb/(webpack)/buildin/global.js","webpack://mdb/./node_modules/core-js/internals/ie8-dom-define.js","webpack://mdb/./node_modules/core-js/internals/document-create-element.js","webpack://mdb/./node_modules/core-js/internals/inspect-source.js","webpack://mdb/./node_modules/core-js/internals/shared-store.js","webpack://mdb/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://mdb/./node_modules/core-js/internals/own-keys.js","webpack://mdb/./node_modules/core-js/internals/path.js","webpack://mdb/./node_modules/core-js/internals/object-keys-internal.js","webpack://mdb/./node_modules/core-js/internals/array-includes.js","webpack://mdb/./node_modules/core-js/internals/to-absolute-index.js","webpack://mdb/./node_modules/core-js/internals/function-bind-context.js","webpack://mdb/./node_modules/core-js/internals/array-species-create.js","webpack://mdb/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://mdb/./node_modules/core-js/internals/engine-v8-version.js","webpack://mdb/./node_modules/core-js/internals/array-for-each.js","webpack://mdb/./node_modules/core-js/internals/classof.js","webpack://mdb/./node_modules/core-js/internals/inherit-if-required.js","webpack://mdb/./node_modules/core-js/internals/is-regexp.js","webpack://mdb/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://mdb/./node_modules/core-js/internals/string-multibyte.js","webpack://mdb/./node_modules/core-js/internals/string-trim.js","webpack://mdb/./node_modules/core-js/internals/whitespaces.js","webpack://mdb/./node_modules/core-js/internals/dom-iterables.js","webpack://mdb/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://mdb/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://mdb/./node_modules/core-js/internals/add-to-unscopables.js","webpack://mdb/./node_modules/core-js/internals/define-iterator.js","webpack://mdb/./node_modules/core-js/internals/iterators-core.js","webpack://mdb/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://mdb/./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack://mdb/./node_modules/core-js/modules/es.object.set-prototype-of.js","webpack://mdb/./node_modules/core-js/modules/es.reflect.construct.js","webpack://mdb/./node_modules/core-js/modules/es.array.join.js","webpack://mdb/./node_modules/core-js/internals/native-weak-map.js","webpack://mdb/./node_modules/core-js/internals/engine-user-agent.js","webpack://mdb/./node_modules/core-js/internals/object-to-string.js","webpack://mdb/./node_modules/core-js/internals/a-possible-prototype.js","webpack://mdb/./node_modules/core-js/internals/set-species.js","webpack://mdb/./node_modules/core-js/internals/species-constructor.js","webpack://mdb/./node_modules/core-js/internals/string-trim-forced.js","webpack://mdb/./node_modules/core-js/internals/object-define-properties.js","webpack://mdb/./node_modules/core-js/internals/html.js","webpack://mdb/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://mdb/./node_modules/core-js/internals/array-from.js","webpack://mdb/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://mdb/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://mdb/./node_modules/core-js/internals/get-iterator-method.js","webpack://mdb/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://mdb/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://mdb/./node_modules/core-js/internals/function-bind.js","webpack://mdb/./node_modules/core-js/modules/es.object.assign.js","webpack://mdb/./node_modules/core-js/internals/object-assign.js","webpack://mdb/./node_modules/detect-autofill/dist/detect-autofill.js","webpack://mdb/./node_modules/core-js/modules/es.reflect.get.js","webpack://mdb/./src/js/bootstrap/src/util/index.js","webpack://mdb/./src/js/bootstrap/src/dom/data.js","webpack://mdb/./src/js/bootstrap/src/dom/polyfill.js","webpack://mdb/./src/js/bootstrap/src/dom/event-handler.js","webpack://mdb/./src/js/bootstrap/src/alert.js","webpack://mdb/./src/js/bootstrap/src/button.js","webpack://mdb/./src/js/bootstrap/src/dom/manipulator.js","webpack://mdb/./src/js/bootstrap/src/dom/selector-engine.js","webpack://mdb/./src/js/bootstrap/src/carousel.js","webpack://mdb/./src/js/bootstrap/src/collapse.js","webpack://mdb/./src/js/bootstrap/src/modal.js","webpack://mdb/./src/js/bootstrap/src/util/sanitizer.js","webpack://mdb/./src/js/bootstrap/src/tooltip.js","webpack://mdb/./src/js/bootstrap/src/popover.js","webpack://mdb/./src/js/bootstrap/src/scrollspy.js","webpack://mdb/./src/js/bootstrap/src/tab.js","webpack://mdb/./src/js/bootstrap/src/toast.js","webpack://mdb/./src/js/mdb/util/index.js","webpack://mdb/./src/js/mdb/dom/data.js","webpack://mdb/./src/js/mdb/dom/manipulator.js","webpack://mdb/./src/js/mdb/dom/polyfill.js","webpack://mdb/./src/js/mdb/dom/selector-engine.js","webpack://mdb/./src/js/free/input.js","webpack://mdb/./src/js/bootstrap/src/dropdown.js","webpack://mdb/./src/js/free/dropdown.js","webpack://mdb/./src/js/free/treeview.js","webpack://mdb/./src/js/free/ripple.js","webpack://mdb/./src/js/mdb.free.js"],"names":["root","factory","exports","module","define","amd","this","installedModules","__webpack_require__","m","exec","error","global","getOwnPropertyDescriptor","f","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","key","targetProperty","sourceProperty","descriptor","TARGET","target","GLOBAL","STATIC","stat","prototype","noTargetGet","value","forced","undefined","sham","shared","has","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","Symbol","createWellKnownSymbol","withoutSetter","name","$","forEach","proto","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","TO_STRING_TAG_SUPPORT","toString","Object","unsafe","it","Math","check","globalThis","window","self","Function","wrap","tag","description","symbol","AllSymbols","nativeObjectCreate","$Symbol","PROTOTYPE","setInternalState","type","SYMBOL","DESCRIPTORS","$defineProperties","O","Properties","anObject","properties","toIndexedObject","keys","objectKeys","concat","$getOwnPropertySymbols","$forEach","$propertyIsEnumerable","call","$defineProperty","$getOwnPropertyDescriptor","P","toPrimitive","ObjectPrototype","ObjectPrototypeSymbols","nativeGetOwnPropertyDescriptor","HIDDEN","enumerable","$getOwnPropertyNames","names","nativeGetOwnPropertyNames","result","hiddenKeys","push","getBuiltIn","IS_PURE","fails","isArray","isObject","toObject","createPropertyDescriptor","getOwnPropertyNamesModule","getOwnPropertyNamesExternal","getOwnPropertySymbolsModule","getOwnPropertyDescriptorModule","definePropertyModule","propertyIsEnumerableModule","sharedKey","wellKnownSymbol","wrappedWellKnownSymbolModule","defineWellKnownSymbol","setToStringTag","InternalStateModule","TO_PRIMITIVE","set","getInternalState","getterFor","$stringify","nativeDefineProperty","nativePropertyIsEnumerable","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","get","a","Attributes","ObjectPrototypeDescriptor","isSymbol","V","IS_OBJECT_PROTOTYPE","TypeError","arguments","length","String","setter","configurable","string","keyFor","sym","useSetter","useSimple","create","defineProperty","defineProperties","getOwnPropertyNames","getOwnPropertySymbols","stringify","replacer","space","$replacer","args","index","apply","valueOf","nativeKeys","hasOwnProperty","addToUnscopables","Iterators","defineIterator","ARRAY_ITERATOR","Array","iterated","kind","state","done","Arguments","charAt","STRING_ITERATOR","point","$filter","filter","arrayMethodHasSpeciesSupport","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","callbackfn","flags","TO_STRING","RegExpPrototype","RegExp","nativeToString","NOT_GENERIC","INCORRECT_NAME","R","p","rf","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","regexp","NativeSymbol","constructor","desc","slice","replace","ArrayIteratorMethods","ITERATOR","TO_STRING_TAG","ArrayValues","values","METHOD_NAME","IE8_DOM_DEFINE","FAILS_ON_PRIMITIVES","ownKeys","createProperty","getOwnPropertyDescriptors","object","IndexedObject","requireObjectCoercible","toLength","arraySpeciesCreate","V8_VERSION","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","arg","k","len","E","A","n","i","spreadable","isConcatSpreadable","$find","find","FIND","SKIPS_HOLES","argument","toAbsoluteIndex","ACCESSORS","0","1","SPECIES","nativeSlice","max","start","end","Constructor","fin","inspectSource","enforceInternalState","enforce","TEMPLATE","split","simple","join","toInteger","min","from","checkCorrectnessOfIteration","iterable","inheritIfRequired","isRegExp","getFlags","stickyHelpers","setSpecies","MATCH","NativeRegExp","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","RegExpWrapper","pattern","sticky","thisIsRegExp","patternIsRegExp","flagsAreUndefined","indexOf","proxy","fixRegExpWellKnownSymbolLogic","speciesConstructor","advanceStringIndex","callRegExpExec","regexpExec","arrayPush","MAX_UINT32","SUPPORTS_Y","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","lim","match","lastIndex","lastLength","output","ignoreCase","multiline","unicode","lastLastIndex","separatorCopy","test","splitter","res","rx","S","C","unicodeMatching","q","e","z","FunctionPrototype","FunctionPrototypeToString","nameRE","$map","map","aFunction","variable","path","namespace","method","thrower","cache","argument0","argument1","regExpExec","nativeMatch","matcher","fullUnicode","matchStr","$indexOf","arrayMethodIsStrict","nativeIndexOf","NEGATIVE_ZERO","STRICT_METHOD","searchElement","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","nativeReplace","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","position","captures","j","replacerArgs","namedCaptures","groups","replacement","str","tailPos","symbols","ch","capture","getSubstitution","isBrowser","document","navigator","timeoutDuration","longerTimeoutBrowsers","userAgent","debounce","Promise","fn","called","resolve","then","scheduled","setTimeout","isFunction","functionToCheck","getStyleComputedProperty","element","property","nodeType","css","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","upperSide","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","parseInt","getWindowSizes","height","width","classCallCheck","instance","createClass","protoProps","staticProps","props","writable","obj","_extends","assign","getClientRect","offsets","right","left","bottom","top","getBoundingClientRect","scrollTop","scrollLeft","rect","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundariesNode","_getWindowSizes","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","isFixed","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","_ref","sort","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","runModifiers","modifiers","data","ends","prop","findIndex","cur","console","warn","enabled","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","toUpperCase","prefix","toCheck","style","getWindow","setupEventListeners","updateBound","addEventListener","passive","scrollElement","attachToScrollParents","event","callback","scrollParents","isBody","eventsEnabled","disableEventListeners","cancelAnimationFrame","scheduleUpdate","removeEventListener","isNumeric","isNaN","isFinite","setStyles","unit","getRoundedOffsets","shouldRound","noRound","v","_data$offsets","round","referenceWidth","popperWidth","isVertical","isVariation","horizontalToInteger","verticalToInteger","isFirefox","isModifierRequired","requestingName","requestedName","_requesting","requested","requesting","isRequired","placements","validPlacements","clockwise","counter","reverse","BEHAVIORS","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","op","mergeWithPrevious","reduce","toValue","index2","Defaults","positionFixed","removeOnDestroy","onCreate","onUpdate","shift","side","shiftOffsets","shiftvariation","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","flip","flipped","originalPlacement","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","inner","subtractLength","hide","bound","attributes","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","invertTop","invertLeft","offsetParentRect","devicePixelRatio","prefixedProperty","willChange","arrowStyles","applyStyle","setAttribute","removeAttribute","onLoad","modifierOptions","Popper","isDestroyed","isCreated","removeChild","_this","requestAnimationFrame","update","bind","jquery","enableEventListeners","Utils","PopperUtils","bitmap","input","PREFERRED_STRING","val","store","wmget","wmhas","wmset","STATE","NATIVE_WEAK_MAP","objectHas","WeakMap","metadata","TYPE","internalObjectKeys","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","that","specificCreate","boundFunction","every","EmptyConstructor","scriptTag","content","LT","SCRIPT","activeXDocument","enumBugKeys","documentCreateElement","IE_PROTO","NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","write","close","temp","parentWindow","NullProtoObjectViaActiveX","display","appendChild","src","contentWindow","open","F","classof","propertyIsEnumerable","ceil","foo","Boolean","propertyKey","regexpFlags","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","BROKEN_CARET","NPCG_INCLUDED","reCopy","re","charsAdded","strCopy","$trim","forcedStringTrimMethod","CORRECT_PROTOTYPE_GETTER","getPrototypeOf","NASHORN_BUG","mode","copyright","id","postfix","random","feature","detection","normalize","POLYFILL","NATIVE","aPossiblePrototype","setPrototypeOf","CORRECT_SETTER","__proto__","dotAll","REPLACE_SUPPORTS_NAMED_GROUPS","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","KEY","nativeRegExpMethod","methods","stringMethod","regexMethod","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeMethod","arg2","forceStringMethod","TAG","toNumber","first","third","radix","maxCode","digits","code","charCodeAt","NaN","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","NumberWrapper","dummy","g","createElement","EXISTS","functionToString","SHARED","IS_INCLUDES","fromIndex","includes","integer","c","originalArray","iterator","process","versions","v8","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","Wrapper","NewTarget","NewTargetPrototype","RE","s","CONVERT_TO_STRING","pos","second","size","codeAt","ltrim","rtrim","whitespace","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","NAME","UNSCOPABLES","ArrayPrototype","returnThis","createIteratorConstructor","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","VALUES","ENTRIES","Iterable","IteratorConstructor","next","DEFAULT","IS_SET","FORCED","getIterationMethod","KIND","defaultIterator","IterablePrototype","CurrentIteratorPrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","PrototypeOfArrayIteratorPrototype","arrayIterator","nativeGetPrototypeOf","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","construct","Target","newTarget","$args","nativeJoin","ES3_STRINGS","CONSTRUCTOR_NAME","defaultConstructor","whitespaces","windowNames","getWindowNames","callWithSafeIterationClosing","isArrayIteratorMethod","getIteratorMethod","arrayLike","argumentsLength","mapfn","mapping","iteratorMethod","returnMethod","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","factories","partArgs","argsLength","list","nativeAssign","B","alphabet","chr","T","o","t","r","l","hasAttribute","CustomEvent","bubbles","cancelable","detail","dispatchEvent","animationName","inputType","__esModule","default","insert","singleton","locals","HTMLIFrameElement","contentDocument","head","u","identifier","base","d","media","sourceMap","references","updater","btoa","unescape","encodeURIComponent","JSON","styleSheet","cssText","firstChild","createTextNode","nonce","nc","Error","childNodes","insertBefore","all","atob","splice","sources","sourceRoot","preventDefault","defaultPrevented","createEvent","initCustomEvent","Event","toStringTag","receiver","getUID","getElementById","getSelector","hrefAttr","selector","getAttribute","getElementFromSelector","getTransitionDurationFromElement","transitionDuration","transitionDelay","floatTransitionDuration","floatTransitionDelay","triggerTransitionEnd","TRANSITION_END","isElement","emulateTransitionEnd","duration","emulatedDuration","listener","typeCheckConfig","componentName","config","configTypes","expectedTypes","valueType","isVisible","elementStyle","parentNodeStyle","visibility","noop","reflow","getjQuery","jQuery","storeData","getSelectorFromElement","mapData","keyProperties","delete","Data","setData","getData","removeData","Element","querySelectorAll","findOne","defaultPreventedPreservedOnDispatch","scopeSelectorRegex","_","hasId","nodeList","matches","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","getUidEvent","getEvent","findHandler","events","handler","delegationSelector","uidEventList","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","custom","addHandler","oneOff","handlers","previousFn","domElements","EventHandler","off","removeHandler","on","one","inNamespace","isNamespace","elementEvent","storeElementEvent","handlerKey","keyHandlers","trigger","jQueryEvent","isNative","nativeDispatch","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","initEvent","DATA_KEY","EVENT_KEY","EVENT_CLOSE","EVENT_CLOSED","EVENT_CLICK_DATA_API","Alert","_element","each","alertInstance","rootElement","_getRootElement","customEvent","_triggerCloseEvent","_removeElement","closest","classList","remove","_destroyElement","handleDismiss","JQUERY_NO_CONFLICT","jQueryInterface","noConflict","SELECTOR_DATA_TOGGLE","Button","toggle","button","normalizeData","Number","normalizeDataKey","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","dataset","getDataAttribute","offsetTop","offsetLeft","toggleClass","className","add","SelectorEngine","findFn","child","parents","ancestor","ELEMENT_NODE","prev","previous","previousElementSibling","DATA_API_KEY","Default","interval","keyboard","slide","pause","touch","DefaultType","DIRECTION_NEXT","DIRECTION_PREV","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE_ITEM","SELECTOR_INDICATORS","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","action","to","ride","cycle","carouselInterface","slideIndex","_slide","hidden","clearInterval","setInterval","visibilityState","nextWhenVisible","activeIndex","_getItemIndex","direction","absDeltax","abs","_keydown","_addTouchEventListeners","pointerType","clientX","touches","_handleSwipe","clearTimeout","itemImg","tagName","activeElement","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","relatedTarget","eventDirectionName","targetIndex","indicators","nextIndicator","directionalClassName","orderClassName","nextElementInterval","activeElementIndex","nextElement","_getItemByDirection","nextElementIndex","isCycling","_triggerSlideEvent","_setActiveIndicatorElement","defaultInterval","dataApiClickHandler","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_parent","_getParent","_addAriaAndCollapsedClass","collapseInterface","show","actives","dimension","capitalizedDimension","scrollSize","container","activesData","tempActiveData","elemActive","_getDimension","setTransitioning","triggerArrayLength","isTransitioning","selected","triggerArray","isOpen","triggerData","backdrop","focus","EVENT_HIDE_PREVENTED","EVENT_FOCUSIN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_STATIC","SELECTOR_DIALOG","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","showEvent","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","htmlElement","modalBody","_enforceFocus","transitionComplete","_triggerBackdropTransition","_resetAdjustments","_resetScrollbar","callbackRemove","backdropTransitionDuration","animate","currentTarget","_removeBackdrop","modalTransitionDuration","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","actualPadding","calculatedPadding","actualMargin","calculatedMargin","margin","scrollDiv","scrollbarWidth","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","DefaultWhitelist","br","col","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","pre","small","span","sub","sup","strong","ul","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","elName","attributeList","whitelistedAttributes","attr","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","fallbackPlacement","boundary","sanitize","popperConfig","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","HOVER_STATE_SHOW","TRIGGER_HOVER","TRIGGER_FOCUS","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","tip","_setListeners","dataKey","context","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","destroy","isWithContent","shadowRoot","findShadowRoot","attachShadow","getRootNode","ShadowRoot","isInTheDom","tipId","setContent","attachment","_getAttachment","_addAttachmentClass","_getContainer","_getPopperConfig","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","setElementContent","textContent","_getOffset","_handlePopperPlacementChange","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","tabClass","token","tClass","popperData","popperInstance","initConfigAnimation","Popover","_getContent","EVENT_ACTIVATE","EVENT_SCROLL","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_NAV_LINKS","SELECTOR_LIST_ITEMS","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","item","pageYOffset","maxScroll","_getOffsetHeight","_activate","_clear","queries","link","listGroup","navItem","spy","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","Tab","listElement","itemSelector","hideEvent","_transitionComplete","active","dropdownChild","dropdown","CLASS_NAME_SHOWING","autohide","Toast","addClass","addStyle","findElements","findElement","CLASSNAME_WRAPPER","OUTLINE_INPUT","OUTLINE_TEXTAREA","Input","_label","_labelWidth","_labelMarginLeft","_notchLeading","_notchMiddle","_notchTrailing","_deactivate","_getLabelData","_applyDivs","_applyNotch","_getNotchData","_removeBorder","_getLabelWidth","_getLabelPositionInInputGroup","notchWrapper","append","border","_getElements","prevLabelWidth","activate","deactivate","getInstance","targetId","href","init","forceActive","ESCAPE_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","REGEXP_KEYDOWN","EVENT_CLICK","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DISABLED","CLASS_NAME_MENURIGHT","SELECTOR_MENU","Dropdown","_menu","_getMenuElement","_inNavbar","_detectNavbar","dropdownInterface","toggles","dropdownMenu","getParentFromElement","clickEvent","stopPropagation","disabled","items","isActive","clearMenus","referenceElement","parentDropdown","_getPlacement","dataApiKeydownHandler","ANIMATION_CLASS","ANIMATION_SHOW_CLASS","ANIMATION_HIDE_CLASS","BSDropdown","_options","_menuStyle","_xPlacement","_init","_bindShowEvent","_bindHideEvent","_bindHiddenEvent","_dropdownAnimationStart","_bindAnimationEnd","CLASSNAME_TREEVIEW","Treeview","_data","_createHTMLNodes","_setData","_constructTreeview","_toggleSubmenu","_toggleIcon","faClasses","current","icon1","icon2","innerText","toggleSubmenu","CLASSNAME_RIPPLE","SELECTOR_COMPONENT","CLASSNAME_UNBOUND","DEFAULT_RIPPLE_COLOR","BOOTSTRAP_COLORS","rippleCentered","rippleColor","rippleDuration","rippleRadius","rippleUnbound","Ripple","_autoInit","_method","_addClickEvent","_createRipple","offsetX","layerX","offsetY","layerY","_durationToMsNumber","diameterOptions","diameter","_getDiameter","radiusValue","opacity","rippleHTML","_createHTMLRipple","wrapper","ripple","_removeHTMLRipple","_removeOldColorClasses","_addColor","_toggleUnbound","_appendRipple","time","pythagorean","sqrt","positionCenter","quadrant","getCorner","topLeft","topRight","bottomLeft","bottomRight","rgbValue","gradientImage","color","_colorToRGB","backgroundImage","REGEXP_CLASS_COLOR","substr","tempElem","flag","slector","autoInitial","tooltips","popovers","tooltip","popover","getter","ns","moduleId","modules"],"mappings":"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","file":"js/mdb.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"mdb\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mdb\"] = factory();\n\telse\n\t\troot[\"mdb\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 139);\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\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","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 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","'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","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\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","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","'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","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'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","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var $ = 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 $ = 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","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var 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","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\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","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var 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 $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\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","// `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 DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setInternalState = require('../internals/internal-state').set;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.github.io/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.github.io/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\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","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 fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var 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 internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var 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","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","module.exports = {};\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 shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = false;\n","module.exports = {};\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","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var 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","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var 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","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var 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.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var 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';\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 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 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","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var 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 DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var 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 store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","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 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_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');\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';\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","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\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 wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","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","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar 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","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","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.github.io/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","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 getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\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","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","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.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');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","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","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\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","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\n\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 wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var 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 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","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\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","'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","!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=0)}([function(e,t,n){\"use strict\";n.r(t);n(1),n(5);function o(e){if(!e.hasAttribute(\"autocompleted\")){e.setAttribute(\"autocompleted\",\"\");var t=new window.CustomEvent(\"onautocomplete\",{bubbles:!0,cancelable:!0,detail:null});e.dispatchEvent(t)||(e.value=\"\")}}function r(e){e.hasAttribute(\"autocompleted\")&&(e.removeAttribute(\"autocompleted\"),e.dispatchEvent(new window.CustomEvent(\"onautocomplete\",{bubbles:!0,cancelable:!1,detail:null})))}document.addEventListener(\"animationstart\",(function(e){\"onautofillstart\"===e.animationName?o(e.target):r(e.target)}),!0),document.addEventListener(\"input\",(function(e){\"insertReplacementText\"!==e.inputType&&\"data\"in e?r(e.target):o(e.target)}),!0)},function(e,t,n){var o=n(2),r=n(3);\"string\"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.i,r,\"\"]]);var a={insert:\"head\",singleton:!1},i=(o(r,a),r.locals?r.locals:{});e.exports=i},function(e,t,n){\"use strict\";var o,r=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},a=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),i=[];function u(e){for(var t=-1,n=0;n {\r\n if (obj === null || obj === undefined) {\r\n return `${obj}`;\r\n }\r\n\r\n return {}.toString\r\n .call(obj)\r\n .match(/\\s([a-z]+)/i)[1]\r\n .toLowerCase();\r\n};\r\n\r\n/**\r\n * --------------------------------------------------------------------------\r\n * Public Util Api\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst getUID = (prefix) => {\r\n do {\r\n prefix += Math.floor(Math.random() * MAX_UID);\r\n } while (document.getElementById(prefix));\r\n\r\n return prefix;\r\n};\r\n\r\nconst getSelector = (element) => {\r\n let selector = element.getAttribute('data-target');\r\n\r\n if (!selector || selector === '#') {\r\n const hrefAttr = element.getAttribute('href');\r\n\r\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;\r\n }\r\n\r\n return selector;\r\n};\r\n\r\nconst getSelectorFromElement = (element) => {\r\n const selector = getSelector(element);\r\n\r\n if (selector) {\r\n return document.querySelector(selector) ? selector : null;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst getElementFromSelector = (element) => {\r\n const selector = getSelector(element);\r\n\r\n return selector ? document.querySelector(selector) : null;\r\n};\r\n\r\nconst getTransitionDurationFromElement = (element) => {\r\n if (!element) {\r\n return 0;\r\n }\r\n\r\n // Get transition-duration of the element\r\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element);\r\n\r\n const floatTransitionDuration = parseFloat(transitionDuration);\r\n const floatTransitionDelay = parseFloat(transitionDelay);\r\n\r\n // Return 0 if element or transition duration is not found\r\n if (!floatTransitionDuration && !floatTransitionDelay) {\r\n return 0;\r\n }\r\n\r\n // If multiple durations are defined, take the first\r\n transitionDuration = transitionDuration.split(',')[0];\r\n transitionDelay = transitionDelay.split(',')[0];\r\n\r\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\r\n};\r\n\r\nconst triggerTransitionEnd = (element) => {\r\n element.dispatchEvent(new Event(TRANSITION_END));\r\n};\r\n\r\nconst isElement = (obj) => (obj[0] || obj).nodeType;\r\n\r\nconst emulateTransitionEnd = (element, duration) => {\r\n let called = false;\r\n const durationPadding = 5;\r\n const emulatedDuration = duration + durationPadding;\r\n function listener() {\r\n called = true;\r\n element.removeEventListener(TRANSITION_END, listener);\r\n }\r\n\r\n element.addEventListener(TRANSITION_END, listener);\r\n setTimeout(() => {\r\n if (!called) {\r\n triggerTransitionEnd(element);\r\n }\r\n }, emulatedDuration);\r\n};\r\n\r\nconst typeCheckConfig = (componentName, config, configTypes) => {\r\n Object.keys(configTypes).forEach((property) => {\r\n const expectedTypes = configTypes[property];\r\n const value = config[property];\r\n const valueType = value && isElement(value) ? 'element' : toType(value);\r\n\r\n if (!new RegExp(expectedTypes).test(valueType)) {\r\n throw new Error(\r\n `${componentName.toUpperCase()}: ` +\r\n `Option \"${property}\" provided type \"${valueType}\" ` +\r\n `but expected type \"${expectedTypes}\".`\r\n );\r\n }\r\n });\r\n};\r\n\r\nconst isVisible = (element) => {\r\n if (!element) {\r\n return false;\r\n }\r\n\r\n if (element.style && element.parentNode && element.parentNode.style) {\r\n const elementStyle = getComputedStyle(element);\r\n const parentNodeStyle = getComputedStyle(element.parentNode);\r\n\r\n return (\r\n elementStyle.display !== 'none' &&\r\n parentNodeStyle.display !== 'none' &&\r\n elementStyle.visibility !== 'hidden'\r\n );\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst findShadowRoot = (element) => {\r\n if (!document.documentElement.attachShadow) {\r\n return null;\r\n }\r\n\r\n // Can find the shadow root otherwise it'll return the document\r\n if (typeof element.getRootNode === 'function') {\r\n const root = element.getRootNode();\r\n return root instanceof ShadowRoot ? root : null;\r\n }\r\n\r\n if (element instanceof ShadowRoot) {\r\n return element;\r\n }\r\n\r\n // when we don't find a shadow root\r\n if (!element.parentNode) {\r\n return null;\r\n }\r\n\r\n return findShadowRoot(element.parentNode);\r\n};\r\n\r\nconst noop = () => function () {};\r\n\r\nconst reflow = (element) => element.offsetHeight;\r\n\r\nconst getjQuery = () => {\r\n const { jQuery } = window;\r\n\r\n if (jQuery && !document.body.hasAttribute('data-no-jquery')) {\r\n return jQuery;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport {\r\n getjQuery,\r\n TRANSITION_END,\r\n getUID,\r\n getSelectorFromElement,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n triggerTransitionEnd,\r\n isElement,\r\n emulateTransitionEnd,\r\n typeCheckConfig,\r\n isVisible,\r\n findShadowRoot,\r\n noop,\r\n reflow,\r\n};\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/data.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst mapData = (() => {\r\n const storeData = {};\r\n let id = 1;\r\n return {\r\n set(element, key, data) {\r\n if (typeof element.key === 'undefined') {\r\n element.key = {\r\n key,\r\n id,\r\n };\r\n id++;\r\n }\r\n\r\n storeData[element.key.id] = data;\r\n },\r\n get(element, key) {\r\n if (!element || typeof element.key === 'undefined') {\r\n return null;\r\n }\r\n\r\n const keyProperties = element.key;\r\n if (keyProperties.key === key) {\r\n return storeData[keyProperties.id];\r\n }\r\n\r\n return null;\r\n },\r\n delete(element, key) {\r\n if (typeof element.key === 'undefined') {\r\n return;\r\n }\r\n\r\n const keyProperties = element.key;\r\n if (keyProperties.key === key) {\r\n delete storeData[keyProperties.id];\r\n delete element.key;\r\n }\r\n },\r\n };\r\n})();\r\n\r\nconst Data = {\r\n setData(instance, key, data) {\r\n mapData.set(instance, key, data);\r\n },\r\n getData(instance, key) {\r\n return mapData.get(instance, key);\r\n },\r\n removeData(instance, key) {\r\n mapData.delete(instance, key);\r\n },\r\n};\r\n\r\nexport default Data;\r\n","/* istanbul ignore file */\r\n\r\n/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/polyfill.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getUID } from '../util/index';\r\n\r\nlet find = Element.prototype.querySelectorAll;\r\nlet findOne = Element.prototype.querySelector;\r\n\r\n// MSEdge resets defaultPrevented flag upon dispatchEvent call if at least one listener is attached\r\nconst defaultPreventedPreservedOnDispatch = (() => {\r\n const e = new CustomEvent('Bootstrap', {\r\n cancelable: true,\r\n });\r\n\r\n const element = document.createElement('div');\r\n element.addEventListener('Bootstrap', () => null);\r\n\r\n e.preventDefault();\r\n element.dispatchEvent(e);\r\n return e.defaultPrevented;\r\n})();\r\n\r\nconst scopeSelectorRegex = /:scope\\b/;\r\nconst supportScopeQuery = (() => {\r\n const element = document.createElement('div');\r\n\r\n try {\r\n element.querySelectorAll(':scope *');\r\n } catch (_) {\r\n return false;\r\n }\r\n\r\n return true;\r\n})();\r\n\r\nif (!supportScopeQuery) {\r\n find = function (selector) {\r\n if (!scopeSelectorRegex.test(selector)) {\r\n return this.querySelectorAll(selector);\r\n }\r\n\r\n const hasId = Boolean(this.id);\r\n\r\n if (!hasId) {\r\n this.id = getUID('scope');\r\n }\r\n\r\n let nodeList = null;\r\n try {\r\n selector = selector.replace(scopeSelectorRegex, `#${this.id}`);\r\n nodeList = this.querySelectorAll(selector);\r\n } finally {\r\n if (!hasId) {\r\n this.removeAttribute('id');\r\n }\r\n }\r\n\r\n return nodeList;\r\n };\r\n\r\n findOne = function (selector) {\r\n if (!scopeSelectorRegex.test(selector)) {\r\n return this.querySelector(selector);\r\n }\r\n\r\n const matches = find.call(this, selector);\r\n\r\n if (typeof matches[0] !== 'undefined') {\r\n return matches[0];\r\n }\r\n\r\n return null;\r\n };\r\n}\r\n\r\nexport { find, findOne, defaultPreventedPreservedOnDispatch };\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/event-handler.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getjQuery } from '../util/index';\r\nimport { defaultPreventedPreservedOnDispatch } from './polyfill';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst $ = getjQuery();\r\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\r\nconst stripNameRegex = /\\..*/;\r\nconst stripUidRegex = /::\\d+$/;\r\nconst eventRegistry = {}; // Events storage\r\nlet uidEvent = 1;\r\nconst customEvents = {\r\n mouseenter: 'mouseover',\r\n mouseleave: 'mouseout',\r\n};\r\nconst nativeEvents = [\r\n 'click',\r\n 'dblclick',\r\n 'mouseup',\r\n 'mousedown',\r\n 'contextmenu',\r\n 'mousewheel',\r\n 'DOMMouseScroll',\r\n 'mouseover',\r\n 'mouseout',\r\n 'mousemove',\r\n 'selectstart',\r\n 'selectend',\r\n 'keydown',\r\n 'keypress',\r\n 'keyup',\r\n 'orientationchange',\r\n 'touchstart',\r\n 'touchmove',\r\n 'touchend',\r\n 'touchcancel',\r\n 'pointerdown',\r\n 'pointermove',\r\n 'pointerup',\r\n 'pointerleave',\r\n 'pointercancel',\r\n 'gesturestart',\r\n 'gesturechange',\r\n 'gestureend',\r\n 'focus',\r\n 'blur',\r\n 'change',\r\n 'reset',\r\n 'select',\r\n 'submit',\r\n 'focusin',\r\n 'focusout',\r\n 'load',\r\n 'unload',\r\n 'beforeunload',\r\n 'resize',\r\n 'move',\r\n 'DOMContentLoaded',\r\n 'readystatechange',\r\n 'error',\r\n 'abort',\r\n 'scroll',\r\n];\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Private methods\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nfunction getUidEvent(element, uid) {\r\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++;\r\n}\r\n\r\nfunction getEvent(element) {\r\n const uid = getUidEvent(element);\r\n\r\n element.uidEvent = uid;\r\n eventRegistry[uid] = eventRegistry[uid] || {};\r\n\r\n return eventRegistry[uid];\r\n}\r\n\r\nfunction bootstrapHandler(element, fn) {\r\n return function handler(event) {\r\n if (handler.oneOff) {\r\n EventHandler.off(element, event.type, fn);\r\n }\r\n\r\n return fn.apply(element, [event]);\r\n };\r\n}\r\n\r\nfunction bootstrapDelegationHandler(element, selector, fn) {\r\n return function handler(event) {\r\n const domElements = element.querySelectorAll(selector);\r\n\r\n for (let { target } = event; target && target !== this; target = target.parentNode) {\r\n for (let i = domElements.length; i--; ) {\r\n if (domElements[i] === target) {\r\n if (handler.oneOff) {\r\n EventHandler.off(element, event.type, fn);\r\n }\r\n\r\n return fn.apply(target, [event]);\r\n }\r\n }\r\n }\r\n\r\n // To please ESLint\r\n return null;\r\n };\r\n}\r\n\r\nfunction findHandler(events, handler, delegationSelector = null) {\r\n const uidEventList = Object.keys(events);\r\n\r\n for (let i = 0, len = uidEventList.length; i < len; i++) {\r\n const event = events[uidEventList[i]];\r\n\r\n if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {\r\n return event;\r\n }\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction normalizeParams(originalTypeEvent, handler, delegationFn) {\r\n const delegation = typeof handler === 'string';\r\n const originalHandler = delegation ? delegationFn : handler;\r\n\r\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\r\n let typeEvent = originalTypeEvent.replace(stripNameRegex, '');\r\n const custom = customEvents[typeEvent];\r\n\r\n if (custom) {\r\n typeEvent = custom;\r\n }\r\n\r\n const isNative = nativeEvents.indexOf(typeEvent) > -1;\r\n\r\n if (!isNative) {\r\n typeEvent = originalTypeEvent;\r\n }\r\n\r\n return [delegation, originalHandler, typeEvent];\r\n}\r\n\r\nfunction addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {\r\n if (typeof originalTypeEvent !== 'string' || !element) {\r\n return;\r\n }\r\n\r\n if (!handler) {\r\n handler = delegationFn;\r\n delegationFn = null;\r\n }\r\n\r\n const [delegation, originalHandler, typeEvent] = normalizeParams(\r\n originalTypeEvent,\r\n handler,\r\n delegationFn\r\n );\r\n const events = getEvent(element);\r\n const handlers = events[typeEvent] || (events[typeEvent] = {});\r\n const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);\r\n\r\n if (previousFn) {\r\n previousFn.oneOff = previousFn.oneOff && oneOff;\r\n\r\n return;\r\n }\r\n\r\n const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));\r\n const fn = delegation\r\n ? bootstrapDelegationHandler(element, handler, delegationFn)\r\n : bootstrapHandler(element, handler);\r\n\r\n fn.delegationSelector = delegation ? handler : null;\r\n fn.originalHandler = originalHandler;\r\n fn.oneOff = oneOff;\r\n fn.uidEvent = uid;\r\n handlers[uid] = fn;\r\n\r\n element.addEventListener(typeEvent, fn, delegation);\r\n}\r\n\r\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\r\n const fn = findHandler(events[typeEvent], handler, delegationSelector);\r\n\r\n if (!fn) {\r\n return;\r\n }\r\n\r\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\r\n delete events[typeEvent][fn.uidEvent];\r\n}\r\n\r\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\r\n const storeElementEvent = events[typeEvent] || {};\r\n\r\n Object.keys(storeElementEvent).forEach((handlerKey) => {\r\n if (handlerKey.indexOf(namespace) > -1) {\r\n const event = storeElementEvent[handlerKey];\r\n\r\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);\r\n }\r\n });\r\n}\r\n\r\nconst EventHandler = {\r\n on(element, event, handler, delegationFn) {\r\n addHandler(element, event, handler, delegationFn, false);\r\n },\r\n\r\n one(element, event, handler, delegationFn) {\r\n addHandler(element, event, handler, delegationFn, true);\r\n },\r\n\r\n off(element, originalTypeEvent, handler, delegationFn) {\r\n if (typeof originalTypeEvent !== 'string' || !element) {\r\n return;\r\n }\r\n\r\n const [delegation, originalHandler, typeEvent] = normalizeParams(\r\n originalTypeEvent,\r\n handler,\r\n delegationFn\r\n );\r\n const inNamespace = typeEvent !== originalTypeEvent;\r\n const events = getEvent(element);\r\n const isNamespace = originalTypeEvent.charAt(0) === '.';\r\n\r\n if (typeof originalHandler !== 'undefined') {\r\n // Simplest case: handler is passed, remove that listener ONLY.\r\n if (!events || !events[typeEvent]) {\r\n return;\r\n }\r\n\r\n removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);\r\n return;\r\n }\r\n\r\n if (isNamespace) {\r\n Object.keys(events).forEach((elementEvent) => {\r\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\r\n });\r\n }\r\n\r\n const storeElementEvent = events[typeEvent] || {};\r\n Object.keys(storeElementEvent).forEach((keyHandlers) => {\r\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\r\n\r\n if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {\r\n const event = storeElementEvent[keyHandlers];\r\n\r\n removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);\r\n }\r\n });\r\n },\r\n\r\n trigger(element, event, args) {\r\n if (typeof event !== 'string' || !element) {\r\n return null;\r\n }\r\n\r\n const typeEvent = event.replace(stripNameRegex, '');\r\n const inNamespace = event !== typeEvent;\r\n const isNative = nativeEvents.indexOf(typeEvent) > -1;\r\n\r\n let jQueryEvent;\r\n let bubbles = true;\r\n let nativeDispatch = true;\r\n let defaultPrevented = false;\r\n let evt = null;\r\n\r\n if (inNamespace && $) {\r\n jQueryEvent = $.Event(event, args);\r\n\r\n $(element).trigger(jQueryEvent);\r\n bubbles = !jQueryEvent.isPropagationStopped();\r\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\r\n defaultPrevented = jQueryEvent.isDefaultPrevented();\r\n }\r\n\r\n if (isNative) {\r\n evt = document.createEvent('HTMLEvents');\r\n evt.initEvent(typeEvent, bubbles, true);\r\n } else {\r\n evt = new CustomEvent(event, {\r\n bubbles,\r\n cancelable: true,\r\n });\r\n }\r\n\r\n // merge custom informations in our event\r\n if (typeof args !== 'undefined') {\r\n Object.keys(args).forEach((key) => {\r\n Object.defineProperty(evt, key, {\r\n get() {\r\n return args[key];\r\n },\r\n });\r\n });\r\n }\r\n\r\n if (defaultPrevented) {\r\n evt.preventDefault();\r\n\r\n if (!defaultPreventedPreservedOnDispatch) {\r\n Object.defineProperty(evt, 'defaultPrevented', {\r\n get: () => true,\r\n });\r\n }\r\n }\r\n\r\n if (nativeDispatch) {\r\n element.dispatchEvent(evt);\r\n }\r\n\r\n if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {\r\n jQueryEvent.preventDefault();\r\n }\r\n\r\n return evt;\r\n },\r\n};\r\n\r\nexport default EventHandler;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): alert.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'alert';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.alert';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]';\r\n\r\nconst EVENT_CLOSE = `close${EVENT_KEY}`;\r\nconst EVENT_CLOSED = `closed${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASSNAME_ALERT = 'alert';\r\nconst CLASSNAME_FADE = 'fade';\r\nconst CLASSNAME_SHOW = 'show';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Alert {\r\n constructor(element) {\r\n this._element = element;\r\n\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n // Public\r\n\r\n close(element) {\r\n let rootElement = this._element;\r\n if (element) {\r\n rootElement = this._getRootElement(element);\r\n }\r\n\r\n const customEvent = this._triggerCloseEvent(rootElement);\r\n\r\n if (customEvent === null || customEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._removeElement(rootElement);\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Private\r\n\r\n _getRootElement(element) {\r\n return getElementFromSelector(element) || element.closest(`.${CLASSNAME_ALERT}`);\r\n }\r\n\r\n _triggerCloseEvent(element) {\r\n return EventHandler.trigger(element, EVENT_CLOSE);\r\n }\r\n\r\n _removeElement(element) {\r\n element.classList.remove(CLASSNAME_SHOW);\r\n\r\n if (!element.classList.contains(CLASSNAME_FADE)) {\r\n this._destroyElement(element);\r\n return;\r\n }\r\n\r\n const transitionDuration = getTransitionDurationFromElement(element);\r\n\r\n EventHandler.one(element, TRANSITION_END, () => this._destroyElement(element));\r\n emulateTransitionEnd(element, transitionDuration);\r\n }\r\n\r\n _destroyElement(element) {\r\n if (element.parentNode) {\r\n element.parentNode.removeChild(element);\r\n }\r\n\r\n EventHandler.trigger(element, EVENT_CLOSED);\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n\r\n if (!data) {\r\n data = new Alert(this);\r\n }\r\n\r\n if (config === 'close') {\r\n data[config](this);\r\n }\r\n });\r\n }\r\n\r\n static handleDismiss(alertInstance) {\r\n return function (event) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n alertInstance.close(this);\r\n };\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()));\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .alert to jQuery only if jQuery is present\r\n */\r\n\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Alert.jQueryInterface;\r\n $.fn[NAME].Constructor = Alert;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Alert.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Alert;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): button.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getjQuery } from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'button';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.button';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst CLASS_NAME_ACTIVE = 'active';\r\n\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]';\r\n\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Button {\r\n constructor(element) {\r\n this._element = element;\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\r\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE));\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n\r\n if (!data) {\r\n data = new Button(this);\r\n }\r\n\r\n if (config === 'toggle') {\r\n data[config]();\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, (event) => {\r\n event.preventDefault();\r\n\r\n const button = event.target.closest(SELECTOR_DATA_TOGGLE);\r\n\r\n let data = Data.getData(button, DATA_KEY);\r\n if (!data) {\r\n data = new Button(button);\r\n }\r\n\r\n data.toggle();\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .button to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Button.jQueryInterface;\r\n $.fn[NAME].Constructor = Button;\r\n\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Button.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Button;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/manipulator.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nfunction normalizeData(val) {\r\n if (val === 'true') {\r\n return true;\r\n }\r\n\r\n if (val === 'false') {\r\n return false;\r\n }\r\n\r\n if (val === Number(val).toString()) {\r\n return Number(val);\r\n }\r\n\r\n if (val === '' || val === 'null') {\r\n return null;\r\n }\r\n\r\n return val;\r\n}\r\n\r\nfunction normalizeDataKey(key) {\r\n return key.replace(/[A-Z]/g, (chr) => `-${chr.toLowerCase()}`);\r\n}\r\n\r\nconst Manipulator = {\r\n setDataAttribute(element, key, value) {\r\n element.setAttribute(`data-${normalizeDataKey(key)}`, value);\r\n },\r\n\r\n removeDataAttribute(element, key) {\r\n element.removeAttribute(`data-${normalizeDataKey(key)}`);\r\n },\r\n\r\n getDataAttributes(element) {\r\n if (!element) {\r\n return {};\r\n }\r\n\r\n const attributes = {\r\n ...element.dataset,\r\n };\r\n\r\n Object.keys(attributes).forEach((key) => {\r\n attributes[key] = normalizeData(attributes[key]);\r\n });\r\n\r\n return attributes;\r\n },\r\n\r\n getDataAttribute(element, key) {\r\n return normalizeData(element.getAttribute(`data-${normalizeDataKey(key)}`));\r\n },\r\n\r\n offset(element) {\r\n const rect = element.getBoundingClientRect();\r\n\r\n return {\r\n top: rect.top + document.body.scrollTop,\r\n left: rect.left + document.body.scrollLeft,\r\n };\r\n },\r\n\r\n position(element) {\r\n return {\r\n top: element.offsetTop,\r\n left: element.offsetLeft,\r\n };\r\n },\r\n\r\n toggleClass(element, className) {\r\n if (!element) {\r\n return;\r\n }\r\n\r\n if (element.classList.contains(className)) {\r\n element.classList.remove(className);\r\n } else {\r\n element.classList.add(className);\r\n }\r\n },\r\n};\r\n\r\nexport default Manipulator;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/selector-engine.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { find as findFn, findOne } from './polyfill';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NODE_TEXT = 3;\r\n\r\nconst SelectorEngine = {\r\n matches(element, selector) {\r\n return element.matches(selector);\r\n },\r\n\r\n find(selector, element = document.documentElement) {\r\n return [].concat(...findFn.call(element, selector));\r\n },\r\n\r\n findOne(selector, element = document.documentElement) {\r\n return findOne.call(element, selector);\r\n },\r\n\r\n children(element, selector) {\r\n const children = [].concat(...element.children);\r\n\r\n return children.filter((child) => child.matches(selector));\r\n },\r\n\r\n parents(element, selector) {\r\n const parents = [];\r\n\r\n let ancestor = element.parentNode;\r\n\r\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\r\n if (this.matches(ancestor, selector)) {\r\n parents.push(ancestor);\r\n }\r\n\r\n ancestor = ancestor.parentNode;\r\n }\r\n\r\n return parents;\r\n },\r\n\r\n prev(element, selector) {\r\n let previous = element.previousElementSibling;\r\n\r\n while (previous) {\r\n if (previous.matches(selector)) {\r\n return [previous];\r\n }\r\n\r\n previous = previous.previousElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n\r\n next(element, selector) {\r\n let next = element.nextElementSibling;\r\n\r\n while (next) {\r\n if (this.matches(next, selector)) {\r\n return [next];\r\n }\r\n\r\n next = next.nextElementSibling;\r\n }\r\n\r\n return [];\r\n },\r\n};\r\n\r\nexport default SelectorEngine;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): carousel.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n isVisible,\r\n reflow,\r\n triggerTransitionEnd,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'carousel';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.carousel';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst ARROW_LEFT_KEY = 'ArrowLeft';\r\nconst ARROW_RIGHT_KEY = 'ArrowRight';\r\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\r\nconst SWIPE_THRESHOLD = 40;\r\n\r\nconst Default = {\r\n interval: 5000,\r\n keyboard: true,\r\n slide: false,\r\n pause: 'hover',\r\n wrap: true,\r\n touch: true,\r\n};\r\n\r\nconst DefaultType = {\r\n interval: '(number|boolean)',\r\n keyboard: 'boolean',\r\n slide: '(boolean|string)',\r\n pause: '(string|boolean)',\r\n wrap: 'boolean',\r\n touch: 'boolean',\r\n};\r\n\r\nconst DIRECTION_NEXT = 'next';\r\nconst DIRECTION_PREV = 'prev';\r\nconst DIRECTION_LEFT = 'left';\r\nconst DIRECTION_RIGHT = 'right';\r\n\r\nconst EVENT_SLIDE = `slide${EVENT_KEY}`;\r\nconst EVENT_SLID = `slid${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`;\r\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`;\r\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`;\r\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`;\r\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`;\r\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`;\r\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`;\r\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`;\r\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`;\r\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_CAROUSEL = 'carousel';\r\nconst CLASS_NAME_ACTIVE = 'active';\r\nconst CLASS_NAME_SLIDE = 'slide';\r\nconst CLASS_NAME_RIGHT = 'carousel-item-right';\r\nconst CLASS_NAME_LEFT = 'carousel-item-left';\r\nconst CLASS_NAME_NEXT = 'carousel-item-next';\r\nconst CLASS_NAME_PREV = 'carousel-item-prev';\r\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event';\r\n\r\nconst SELECTOR_ACTIVE = '.active';\r\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item';\r\nconst SELECTOR_ITEM = '.carousel-item';\r\nconst SELECTOR_ITEM_IMG = '.carousel-item img';\r\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';\r\nconst SELECTOR_INDICATORS = '.carousel-indicators';\r\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';\r\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]';\r\n\r\nconst PointerType = {\r\n TOUCH: 'touch',\r\n PEN: 'pen',\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\nclass Carousel {\r\n constructor(element, config) {\r\n this._items = null;\r\n this._interval = null;\r\n this._activeElement = null;\r\n this._isPaused = false;\r\n this._isSliding = false;\r\n this.touchTimeout = null;\r\n this.touchStartX = 0;\r\n this.touchDeltaX = 0;\r\n\r\n this._config = this._getConfig(config);\r\n this._element = element;\r\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);\r\n this._touchSupported =\r\n 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\r\n this._pointerEvent = Boolean(window.PointerEvent);\r\n\r\n this._addEventListeners();\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n next() {\r\n if (!this._isSliding) {\r\n this._slide(DIRECTION_NEXT);\r\n }\r\n }\r\n\r\n nextWhenVisible() {\r\n // Don't call next when the page isn't visible\r\n // or the carousel or its parent isn't visible\r\n if (!document.hidden && isVisible(this._element)) {\r\n this.next();\r\n }\r\n }\r\n\r\n prev() {\r\n if (!this._isSliding) {\r\n this._slide(DIRECTION_PREV);\r\n }\r\n }\r\n\r\n pause(event) {\r\n if (!event) {\r\n this._isPaused = true;\r\n }\r\n\r\n if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {\r\n triggerTransitionEnd(this._element);\r\n this.cycle(true);\r\n }\r\n\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n }\r\n\r\n cycle(event) {\r\n if (!event) {\r\n this._isPaused = false;\r\n }\r\n\r\n if (this._interval) {\r\n clearInterval(this._interval);\r\n this._interval = null;\r\n }\r\n\r\n if (this._config && this._config.interval && !this._isPaused) {\r\n this._interval = setInterval(\r\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\r\n this._config.interval\r\n );\r\n }\r\n }\r\n\r\n to(index) {\r\n this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\r\n const activeIndex = this._getItemIndex(this._activeElement);\r\n\r\n if (index > this._items.length - 1 || index < 0) {\r\n return;\r\n }\r\n\r\n if (this._isSliding) {\r\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index));\r\n return;\r\n }\r\n\r\n if (activeIndex === index) {\r\n this.pause();\r\n this.cycle();\r\n return;\r\n }\r\n\r\n const direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;\r\n\r\n this._slide(direction, this._items[index]);\r\n }\r\n\r\n dispose() {\r\n EventHandler.off(this._element, EVENT_KEY);\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._items = null;\r\n this._config = null;\r\n this._element = null;\r\n this._interval = null;\r\n this._isPaused = null;\r\n this._isSliding = null;\r\n this._activeElement = null;\r\n this._indicatorsElement = null;\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...config,\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _handleSwipe() {\r\n const absDeltax = Math.abs(this.touchDeltaX);\r\n\r\n if (absDeltax <= SWIPE_THRESHOLD) {\r\n return;\r\n }\r\n\r\n const direction = absDeltax / this.touchDeltaX;\r\n\r\n this.touchDeltaX = 0;\r\n\r\n // swipe left\r\n if (direction > 0) {\r\n this.prev();\r\n }\r\n\r\n // swipe right\r\n if (direction < 0) {\r\n this.next();\r\n }\r\n }\r\n\r\n _addEventListeners() {\r\n if (this._config.keyboard) {\r\n EventHandler.on(this._element, EVENT_KEYDOWN, (event) => this._keydown(event));\r\n }\r\n\r\n if (this._config.pause === 'hover') {\r\n EventHandler.on(this._element, EVENT_MOUSEENTER, (event) => this.pause(event));\r\n EventHandler.on(this._element, EVENT_MOUSELEAVE, (event) => this.cycle(event));\r\n }\r\n\r\n if (this._config.touch && this._touchSupported) {\r\n this._addTouchEventListeners();\r\n }\r\n }\r\n\r\n _addTouchEventListeners() {\r\n const start = (event) => {\r\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\r\n this.touchStartX = event.clientX;\r\n } else if (!this._pointerEvent) {\r\n this.touchStartX = event.touches[0].clientX;\r\n }\r\n };\r\n\r\n const move = (event) => {\r\n // ensure swiping with one touch and not pinching\r\n if (event.touches && event.touches.length > 1) {\r\n this.touchDeltaX = 0;\r\n } else {\r\n this.touchDeltaX = event.touches[0].clientX - this.touchStartX;\r\n }\r\n };\r\n\r\n const end = (event) => {\r\n if (this._pointerEvent && PointerType[event.pointerType.toUpperCase()]) {\r\n this.touchDeltaX = event.clientX - this.touchStartX;\r\n }\r\n\r\n this._handleSwipe();\r\n if (this._config.pause === 'hover') {\r\n // If it's a touch-enabled device, mouseenter/leave are fired as\r\n // part of the mouse compatibility events on first tap - the carousel\r\n // would stop cycling until user tapped out of it;\r\n // here, we listen for touchend, explicitly pause the carousel\r\n // (as if it's the second time we tap on it, mouseenter compat event\r\n // is NOT fired) and after a timeout (to allow for mouse compatibility\r\n // events to fire) we explicitly restart cycling\r\n\r\n this.pause();\r\n if (this.touchTimeout) {\r\n clearTimeout(this.touchTimeout);\r\n }\r\n\r\n this.touchTimeout = setTimeout(\r\n (event) => this.cycle(event),\r\n TOUCHEVENT_COMPAT_WAIT + this._config.interval\r\n );\r\n }\r\n };\r\n\r\n SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach((itemImg) => {\r\n EventHandler.on(itemImg, EVENT_DRAG_START, (e) => e.preventDefault());\r\n });\r\n\r\n if (this._pointerEvent) {\r\n EventHandler.on(this._element, EVENT_POINTERDOWN, (event) => start(event));\r\n EventHandler.on(this._element, EVENT_POINTERUP, (event) => end(event));\r\n\r\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\r\n } else {\r\n EventHandler.on(this._element, EVENT_TOUCHSTART, (event) => start(event));\r\n EventHandler.on(this._element, EVENT_TOUCHMOVE, (event) => move(event));\r\n EventHandler.on(this._element, EVENT_TOUCHEND, (event) => end(event));\r\n }\r\n }\r\n\r\n _keydown(event) {\r\n if (/input|textarea/i.test(event.target.tagName)) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case ARROW_LEFT_KEY:\r\n event.preventDefault();\r\n this.prev();\r\n break;\r\n case ARROW_RIGHT_KEY:\r\n event.preventDefault();\r\n this.next();\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n _getItemIndex(element) {\r\n this._items =\r\n element && element.parentNode ? SelectorEngine.find(SELECTOR_ITEM, element.parentNode) : [];\r\n\r\n return this._items.indexOf(element);\r\n }\r\n\r\n _getItemByDirection(direction, activeElement) {\r\n const isNextDirection = direction === DIRECTION_NEXT;\r\n const isPrevDirection = direction === DIRECTION_PREV;\r\n const activeIndex = this._getItemIndex(activeElement);\r\n const lastItemIndex = this._items.length - 1;\r\n const isGoingToWrap =\r\n (isPrevDirection && activeIndex === 0) || (isNextDirection && activeIndex === lastItemIndex);\r\n\r\n if (isGoingToWrap && !this._config.wrap) {\r\n return activeElement;\r\n }\r\n\r\n const delta = direction === DIRECTION_PREV ? -1 : 1;\r\n const itemIndex = (activeIndex + delta) % this._items.length;\r\n\r\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\r\n }\r\n\r\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\r\n const targetIndex = this._getItemIndex(relatedTarget);\r\n const fromIndex = this._getItemIndex(\r\n SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\r\n );\r\n\r\n return EventHandler.trigger(this._element, EVENT_SLIDE, {\r\n relatedTarget,\r\n direction: eventDirectionName,\r\n from: fromIndex,\r\n to: targetIndex,\r\n });\r\n }\r\n\r\n _setActiveIndicatorElement(element) {\r\n if (this._indicatorsElement) {\r\n const indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement);\r\n for (let i = 0; i < indicators.length; i++) {\r\n indicators[i].classList.remove(CLASS_NAME_ACTIVE);\r\n }\r\n\r\n const nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\r\n\r\n if (nextIndicator) {\r\n nextIndicator.classList.add(CLASS_NAME_ACTIVE);\r\n }\r\n }\r\n }\r\n\r\n _slide(direction, element) {\r\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\r\n const activeElementIndex = this._getItemIndex(activeElement);\r\n const nextElement =\r\n element || (activeElement && this._getItemByDirection(direction, activeElement));\r\n\r\n const nextElementIndex = this._getItemIndex(nextElement);\r\n const isCycling = Boolean(this._interval);\r\n\r\n let directionalClassName;\r\n let orderClassName;\r\n let eventDirectionName;\r\n\r\n if (direction === DIRECTION_NEXT) {\r\n directionalClassName = CLASS_NAME_LEFT;\r\n orderClassName = CLASS_NAME_NEXT;\r\n eventDirectionName = DIRECTION_LEFT;\r\n } else {\r\n directionalClassName = CLASS_NAME_RIGHT;\r\n orderClassName = CLASS_NAME_PREV;\r\n eventDirectionName = DIRECTION_RIGHT;\r\n }\r\n\r\n if (nextElement && nextElement.classList.contains(CLASS_NAME_ACTIVE)) {\r\n this._isSliding = false;\r\n return;\r\n }\r\n\r\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\r\n if (slideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (!activeElement || !nextElement) {\r\n // Some weirdness is happening, so we bail\r\n return;\r\n }\r\n\r\n this._isSliding = true;\r\n\r\n if (isCycling) {\r\n this.pause();\r\n }\r\n\r\n this._setActiveIndicatorElement(nextElement);\r\n\r\n if (this._element.classList.contains(CLASS_NAME_SLIDE)) {\r\n nextElement.classList.add(orderClassName);\r\n\r\n reflow(nextElement);\r\n\r\n activeElement.classList.add(directionalClassName);\r\n nextElement.classList.add(directionalClassName);\r\n\r\n const nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);\r\n if (nextElementInterval) {\r\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\r\n this._config.interval = nextElementInterval;\r\n } else {\r\n this._config.interval = this._config.defaultInterval || this._config.interval;\r\n }\r\n\r\n const transitionDuration = getTransitionDurationFromElement(activeElement);\r\n\r\n EventHandler.one(activeElement, TRANSITION_END, () => {\r\n nextElement.classList.remove(directionalClassName, orderClassName);\r\n nextElement.classList.add(CLASS_NAME_ACTIVE);\r\n\r\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName);\r\n\r\n this._isSliding = false;\r\n\r\n setTimeout(() => {\r\n EventHandler.trigger(this._element, EVENT_SLID, {\r\n relatedTarget: nextElement,\r\n direction: eventDirectionName,\r\n from: activeElementIndex,\r\n to: nextElementIndex,\r\n });\r\n }, 0);\r\n });\r\n\r\n emulateTransitionEnd(activeElement, transitionDuration);\r\n } else {\r\n activeElement.classList.remove(CLASS_NAME_ACTIVE);\r\n nextElement.classList.add(CLASS_NAME_ACTIVE);\r\n\r\n this._isSliding = false;\r\n EventHandler.trigger(this._element, EVENT_SLID, {\r\n relatedTarget: nextElement,\r\n direction: eventDirectionName,\r\n from: activeElementIndex,\r\n to: nextElementIndex,\r\n });\r\n }\r\n\r\n if (isCycling) {\r\n this.cycle();\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static carouselInterface(element, config) {\r\n let data = Data.getData(element, DATA_KEY);\r\n let _config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(element),\r\n };\r\n\r\n if (typeof config === 'object') {\r\n _config = {\r\n ..._config,\r\n ...config,\r\n };\r\n }\r\n\r\n const action = typeof config === 'string' ? config : _config.slide;\r\n\r\n if (!data) {\r\n data = new Carousel(element, _config);\r\n }\r\n\r\n if (typeof config === 'number') {\r\n data.to(config);\r\n } else if (typeof action === 'string') {\r\n if (typeof data[action] === 'undefined') {\r\n throw new TypeError(`No method named \"${action}\"`);\r\n }\r\n\r\n data[action]();\r\n } else if (_config.interval && _config.ride) {\r\n data.pause();\r\n data.cycle();\r\n }\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n Carousel.carouselInterface(this, config);\r\n });\r\n }\r\n\r\n static dataApiClickHandler(event) {\r\n const target = getElementFromSelector(this);\r\n\r\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\r\n return;\r\n }\r\n\r\n const config = {\r\n ...Manipulator.getDataAttributes(target),\r\n ...Manipulator.getDataAttributes(this),\r\n };\r\n const slideIndex = this.getAttribute('data-slide-to');\r\n\r\n if (slideIndex) {\r\n config.interval = false;\r\n }\r\n\r\n Carousel.carouselInterface(target, config);\r\n\r\n if (slideIndex) {\r\n Data.getData(target, DATA_KEY).to(slideIndex);\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);\r\n\r\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\r\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\r\n\r\n for (let i = 0, len = carousels.length; i < len; i++) {\r\n Carousel.carouselInterface(carousels[i], Data.getData(carousels[i], DATA_KEY));\r\n }\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .carousel to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Carousel.jQueryInterface;\r\n $.fn[NAME].Constructor = Carousel;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Carousel.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Carousel;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): collapse.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getSelectorFromElement,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n isElement,\r\n reflow,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'collapse';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.collapse';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst Default = {\r\n toggle: true,\r\n parent: '',\r\n};\r\n\r\nconst DefaultType = {\r\n toggle: 'boolean',\r\n parent: '(string|element)',\r\n};\r\n\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_COLLAPSE = 'collapse';\r\nconst CLASS_NAME_COLLAPSING = 'collapsing';\r\nconst CLASS_NAME_COLLAPSED = 'collapsed';\r\n\r\nconst WIDTH = 'width';\r\nconst HEIGHT = 'height';\r\n\r\nconst SELECTOR_ACTIVES = '.show, .collapsing';\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Collapse {\r\n constructor(element, config) {\r\n this._isTransitioning = false;\r\n this._element = element;\r\n this._config = this._getConfig(config);\r\n this._triggerArray = SelectorEngine.find(\r\n `${SELECTOR_DATA_TOGGLE}[href=\"#${element.id}\"],` +\r\n `${SELECTOR_DATA_TOGGLE}[data-target=\"#${element.id}\"]`\r\n );\r\n\r\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE);\r\n\r\n for (let i = 0, len = toggleList.length; i < len; i++) {\r\n const elem = toggleList[i];\r\n const selector = getSelectorFromElement(elem);\r\n const filterElement = SelectorEngine.find(selector).filter(\r\n (foundElem) => foundElem === element\r\n );\r\n\r\n if (selector !== null && filterElement.length) {\r\n this._selector = selector;\r\n this._triggerArray.push(elem);\r\n }\r\n }\r\n\r\n this._parent = this._config.parent ? this._getParent() : null;\r\n\r\n if (!this._config.parent) {\r\n this._addAriaAndCollapsedClass(this._element, this._triggerArray);\r\n }\r\n\r\n if (this._config.toggle) {\r\n this.toggle();\r\n }\r\n\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n this.hide();\r\n } else {\r\n this.show();\r\n }\r\n }\r\n\r\n show() {\r\n if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n return;\r\n }\r\n\r\n let actives;\r\n let activesData;\r\n\r\n if (this._parent) {\r\n actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent).filter((elem) => {\r\n if (typeof this._config.parent === 'string') {\r\n return elem.getAttribute('data-parent') === this._config.parent;\r\n }\r\n\r\n return elem.classList.contains(CLASS_NAME_COLLAPSE);\r\n });\r\n\r\n if (actives.length === 0) {\r\n actives = null;\r\n }\r\n }\r\n\r\n const container = SelectorEngine.findOne(this._selector);\r\n if (actives) {\r\n const tempActiveData = actives.filter((elem) => container !== elem);\r\n activesData = tempActiveData[0] ? Data.getData(tempActiveData[0], DATA_KEY) : null;\r\n\r\n if (activesData && activesData._isTransitioning) {\r\n return;\r\n }\r\n }\r\n\r\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW);\r\n if (startEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (actives) {\r\n actives.forEach((elemActive) => {\r\n if (container !== elemActive) {\r\n Collapse.collapseInterface(elemActive, 'hide');\r\n }\r\n\r\n if (!activesData) {\r\n Data.setData(elemActive, DATA_KEY, null);\r\n }\r\n });\r\n }\r\n\r\n const dimension = this._getDimension();\r\n\r\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\r\n this._element.classList.add(CLASS_NAME_COLLAPSING);\r\n\r\n this._element.style[dimension] = 0;\r\n\r\n if (this._triggerArray.length) {\r\n this._triggerArray.forEach((element) => {\r\n element.classList.remove(CLASS_NAME_COLLAPSED);\r\n element.setAttribute('aria-expanded', true);\r\n });\r\n }\r\n\r\n this.setTransitioning(true);\r\n\r\n const complete = () => {\r\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\r\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);\r\n\r\n this._element.style[dimension] = '';\r\n\r\n this.setTransitioning(false);\r\n\r\n EventHandler.trigger(this._element, EVENT_SHOWN);\r\n };\r\n\r\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\r\n const scrollSize = `scroll${capitalizedDimension}`;\r\n const transitionDuration = getTransitionDurationFromElement(this._element);\r\n\r\n EventHandler.one(this._element, TRANSITION_END, complete);\r\n\r\n emulateTransitionEnd(this._element, transitionDuration);\r\n this._element.style[dimension] = `${this._element[scrollSize]}px`;\r\n }\r\n\r\n hide() {\r\n if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n return;\r\n }\r\n\r\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n if (startEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n const dimension = this._getDimension();\r\n\r\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;\r\n\r\n reflow(this._element);\r\n\r\n this._element.classList.add(CLASS_NAME_COLLAPSING);\r\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);\r\n\r\n const triggerArrayLength = this._triggerArray.length;\r\n if (triggerArrayLength > 0) {\r\n for (let i = 0; i < triggerArrayLength; i++) {\r\n const trigger = this._triggerArray[i];\r\n const elem = getElementFromSelector(trigger);\r\n\r\n if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {\r\n trigger.classList.add(CLASS_NAME_COLLAPSED);\r\n trigger.setAttribute('aria-expanded', false);\r\n }\r\n }\r\n }\r\n\r\n this.setTransitioning(true);\r\n\r\n const complete = () => {\r\n this.setTransitioning(false);\r\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\r\n this._element.classList.add(CLASS_NAME_COLLAPSE);\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n };\r\n\r\n this._element.style[dimension] = '';\r\n const transitionDuration = getTransitionDurationFromElement(this._element);\r\n\r\n EventHandler.one(this._element, TRANSITION_END, complete);\r\n emulateTransitionEnd(this._element, transitionDuration);\r\n }\r\n\r\n setTransitioning(isTransitioning) {\r\n this._isTransitioning = isTransitioning;\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._config = null;\r\n this._parent = null;\r\n this._element = null;\r\n this._triggerArray = null;\r\n this._isTransitioning = null;\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...config,\r\n };\r\n config.toggle = Boolean(config.toggle); // Coerce string values\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getDimension() {\r\n const hasWidth = this._element.classList.contains(WIDTH);\r\n return hasWidth ? WIDTH : HEIGHT;\r\n }\r\n\r\n _getParent() {\r\n let { parent } = this._config;\r\n\r\n if (isElement(parent)) {\r\n // it's a jQuery object\r\n if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {\r\n parent = parent[0];\r\n }\r\n } else {\r\n parent = SelectorEngine.findOne(parent);\r\n }\r\n\r\n const selector = `${SELECTOR_DATA_TOGGLE}[data-parent=\"${parent}\"]`;\r\n\r\n SelectorEngine.find(selector, parent).forEach((element) => {\r\n const selected = getElementFromSelector(element);\r\n\r\n this._addAriaAndCollapsedClass(selected, [element]);\r\n });\r\n\r\n return parent;\r\n }\r\n\r\n _addAriaAndCollapsedClass(element, triggerArray) {\r\n if (element) {\r\n const isOpen = element.classList.contains(CLASS_NAME_SHOW);\r\n\r\n if (triggerArray.length) {\r\n triggerArray.forEach((elem) => {\r\n if (isOpen) {\r\n elem.classList.remove(CLASS_NAME_COLLAPSED);\r\n } else {\r\n elem.classList.add(CLASS_NAME_COLLAPSED);\r\n }\r\n\r\n elem.setAttribute('aria-expanded', isOpen);\r\n });\r\n }\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static collapseInterface(element, config) {\r\n let data = Data.getData(element, DATA_KEY);\r\n const _config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(element),\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\r\n _config.toggle = false;\r\n }\r\n\r\n if (!data) {\r\n data = new Collapse(element, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n }\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n Collapse.collapseInterface(this, config);\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n // preventDefault only for elements (which change the URL) not inside the collapsible element\r\n if (event.target.tagName === 'A') {\r\n event.preventDefault();\r\n }\r\n\r\n const triggerData = Manipulator.getDataAttributes(this);\r\n const selector = getSelectorFromElement(this);\r\n const selectorElements = SelectorEngine.find(selector);\r\n\r\n selectorElements.forEach((element) => {\r\n const data = Data.getData(element, DATA_KEY);\r\n let config;\r\n if (data) {\r\n // update parent attribute\r\n if (data._parent === null && typeof triggerData.parent === 'string') {\r\n data._config.parent = triggerData.parent;\r\n data._parent = data._getParent();\r\n }\r\n\r\n config = 'toggle';\r\n } else {\r\n config = triggerData;\r\n }\r\n\r\n Collapse.collapseInterface(element, config);\r\n });\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .collapse to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Collapse.jQueryInterface;\r\n $.fn[NAME].Constructor = Collapse;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Collapse.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Collapse;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): modal.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n getElementFromSelector,\r\n getTransitionDurationFromElement,\r\n isVisible,\r\n reflow,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'modal';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.modal';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\nconst ESCAPE_KEY = 'Escape';\r\n\r\nconst Default = {\r\n backdrop: true,\r\n keyboard: true,\r\n focus: true,\r\n show: true,\r\n};\r\n\r\nconst DefaultType = {\r\n backdrop: '(boolean|string)',\r\n keyboard: 'boolean',\r\n focus: 'boolean',\r\n show: 'boolean',\r\n};\r\n\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`;\r\nconst EVENT_RESIZE = `resize${EVENT_KEY}`;\r\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;\r\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;\r\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`;\r\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';\r\nconst CLASS_NAME_BACKDROP = 'modal-backdrop';\r\nconst CLASS_NAME_OPEN = 'modal-open';\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_STATIC = 'modal-static';\r\n\r\nconst SELECTOR_DIALOG = '.modal-dialog';\r\nconst SELECTOR_MODAL_BODY = '.modal-body';\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]';\r\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]';\r\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\r\nconst SELECTOR_STICKY_CONTENT = '.sticky-top';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Modal {\r\n constructor(element, config) {\r\n this._config = this._getConfig(config);\r\n this._element = element;\r\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, element);\r\n this._backdrop = null;\r\n this._isShown = false;\r\n this._isBodyOverflowing = false;\r\n this._ignoreBackdropClick = false;\r\n this._isTransitioning = false;\r\n this._scrollbarWidth = 0;\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n toggle(relatedTarget) {\r\n return this._isShown ? this.hide() : this.show(relatedTarget);\r\n }\r\n\r\n show(relatedTarget) {\r\n if (this._isShown || this._isTransitioning) {\r\n return;\r\n }\r\n\r\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\r\n this._isTransitioning = true;\r\n }\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\r\n relatedTarget,\r\n });\r\n\r\n if (this._isShown || showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._isShown = true;\r\n\r\n this._checkScrollbar();\r\n this._setScrollbar();\r\n\r\n this._adjustDialog();\r\n\r\n this._setEscapeEvent();\r\n this._setResizeEvent();\r\n\r\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, (event) =>\r\n this.hide(event)\r\n );\r\n\r\n EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, () => {\r\n EventHandler.one(this._element, EVENT_MOUSEUP_DISMISS, (event) => {\r\n if (event.target === this._element) {\r\n this._ignoreBackdropClick = true;\r\n }\r\n });\r\n });\r\n\r\n this._showBackdrop(() => this._showElement(relatedTarget));\r\n }\r\n\r\n hide(event) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n if (!this._isShown || this._isTransitioning) {\r\n return;\r\n }\r\n\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);\r\n\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._isShown = false;\r\n const transition = this._element.classList.contains(CLASS_NAME_FADE);\r\n\r\n if (transition) {\r\n this._isTransitioning = true;\r\n }\r\n\r\n this._setEscapeEvent();\r\n this._setResizeEvent();\r\n\r\n EventHandler.off(document, EVENT_FOCUSIN);\r\n\r\n this._element.classList.remove(CLASS_NAME_SHOW);\r\n\r\n EventHandler.off(this._element, EVENT_CLICK_DISMISS);\r\n EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);\r\n\r\n if (transition) {\r\n const transitionDuration = getTransitionDurationFromElement(this._element);\r\n\r\n EventHandler.one(this._element, TRANSITION_END, (event) => this._hideModal(event));\r\n emulateTransitionEnd(this._element, transitionDuration);\r\n } else {\r\n this._hideModal();\r\n }\r\n }\r\n\r\n dispose() {\r\n [window, this._element, this._dialog].forEach((htmlElement) =>\r\n EventHandler.off(htmlElement, EVENT_KEY)\r\n );\r\n\r\n /**\r\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\r\n * Do not move `document` in `htmlElements` array\r\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\r\n */\r\n EventHandler.off(document, EVENT_FOCUSIN);\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._config = null;\r\n this._element = null;\r\n this._dialog = null;\r\n this._backdrop = null;\r\n this._isShown = null;\r\n this._isBodyOverflowing = null;\r\n this._ignoreBackdropClick = null;\r\n this._isTransitioning = null;\r\n this._scrollbarWidth = null;\r\n }\r\n\r\n handleUpdate() {\r\n this._adjustDialog();\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...config,\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _showElement(relatedTarget) {\r\n const transition = this._element.classList.contains(CLASS_NAME_FADE);\r\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\r\n\r\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\r\n // Don't move modal's DOM position\r\n document.body.appendChild(this._element);\r\n }\r\n\r\n this._element.style.display = 'block';\r\n this._element.removeAttribute('aria-hidden');\r\n this._element.setAttribute('aria-modal', true);\r\n this._element.setAttribute('role', 'dialog');\r\n this._element.scrollTop = 0;\r\n\r\n if (modalBody) {\r\n modalBody.scrollTop = 0;\r\n }\r\n\r\n if (transition) {\r\n reflow(this._element);\r\n }\r\n\r\n this._element.classList.add(CLASS_NAME_SHOW);\r\n\r\n if (this._config.focus) {\r\n this._enforceFocus();\r\n }\r\n\r\n const transitionComplete = () => {\r\n if (this._config.focus) {\r\n this._element.focus();\r\n }\r\n\r\n this._isTransitioning = false;\r\n EventHandler.trigger(this._element, EVENT_SHOWN, {\r\n relatedTarget,\r\n });\r\n };\r\n\r\n if (transition) {\r\n const transitionDuration = getTransitionDurationFromElement(this._dialog);\r\n\r\n EventHandler.one(this._dialog, TRANSITION_END, transitionComplete);\r\n emulateTransitionEnd(this._dialog, transitionDuration);\r\n } else {\r\n transitionComplete();\r\n }\r\n }\r\n\r\n _enforceFocus() {\r\n EventHandler.off(document, EVENT_FOCUSIN); // guard against infinite focus loop\r\n EventHandler.on(document, EVENT_FOCUSIN, (event) => {\r\n if (\r\n document !== event.target &&\r\n this._element !== event.target &&\r\n !this._element.contains(event.target)\r\n ) {\r\n this._element.focus();\r\n }\r\n });\r\n }\r\n\r\n _setEscapeEvent() {\r\n if (this._isShown) {\r\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, (event) => {\r\n if (this._config.keyboard && event.key === ESCAPE_KEY) {\r\n event.preventDefault();\r\n this.hide();\r\n } else if (!this._config.keyboard && event.key === ESCAPE_KEY) {\r\n this._triggerBackdropTransition();\r\n }\r\n });\r\n } else {\r\n EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS);\r\n }\r\n }\r\n\r\n _setResizeEvent() {\r\n if (this._isShown) {\r\n EventHandler.on(window, EVENT_RESIZE, () => this._adjustDialog());\r\n } else {\r\n EventHandler.off(window, EVENT_RESIZE);\r\n }\r\n }\r\n\r\n _hideModal() {\r\n this._element.style.display = 'none';\r\n this._element.setAttribute('aria-hidden', true);\r\n this._element.removeAttribute('aria-modal');\r\n this._element.removeAttribute('role');\r\n this._isTransitioning = false;\r\n this._showBackdrop(() => {\r\n document.body.classList.remove(CLASS_NAME_OPEN);\r\n this._resetAdjustments();\r\n this._resetScrollbar();\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n });\r\n }\r\n\r\n _removeBackdrop() {\r\n this._backdrop.parentNode.removeChild(this._backdrop);\r\n this._backdrop = null;\r\n }\r\n\r\n _showBackdrop(callback) {\r\n const animate = this._element.classList.contains(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';\r\n\r\n if (this._isShown && this._config.backdrop) {\r\n this._backdrop = document.createElement('div');\r\n this._backdrop.className = CLASS_NAME_BACKDROP;\r\n\r\n if (animate) {\r\n this._backdrop.classList.add(animate);\r\n }\r\n\r\n document.body.appendChild(this._backdrop);\r\n\r\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, (event) => {\r\n if (this._ignoreBackdropClick) {\r\n this._ignoreBackdropClick = false;\r\n return;\r\n }\r\n\r\n if (event.target !== event.currentTarget) {\r\n return;\r\n }\r\n\r\n this._triggerBackdropTransition();\r\n });\r\n\r\n if (animate) {\r\n reflow(this._backdrop);\r\n }\r\n\r\n this._backdrop.classList.add(CLASS_NAME_SHOW);\r\n\r\n if (!animate) {\r\n callback();\r\n return;\r\n }\r\n\r\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);\r\n\r\n EventHandler.one(this._backdrop, TRANSITION_END, callback);\r\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration);\r\n } else if (!this._isShown && this._backdrop) {\r\n this._backdrop.classList.remove(CLASS_NAME_SHOW);\r\n\r\n const callbackRemove = () => {\r\n this._removeBackdrop();\r\n callback();\r\n };\r\n\r\n if (this._element.classList.contains(CLASS_NAME_FADE)) {\r\n const backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);\r\n EventHandler.one(this._backdrop, TRANSITION_END, callbackRemove);\r\n emulateTransitionEnd(this._backdrop, backdropTransitionDuration);\r\n } else {\r\n callbackRemove();\r\n }\r\n } else {\r\n callback();\r\n }\r\n }\r\n\r\n _triggerBackdropTransition() {\r\n if (this._config.backdrop === 'static') {\r\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n this._element.classList.add(CLASS_NAME_STATIC);\r\n const modalTransitionDuration = getTransitionDurationFromElement(this._element);\r\n EventHandler.one(this._element, TRANSITION_END, () => {\r\n this._element.classList.remove(CLASS_NAME_STATIC);\r\n });\r\n emulateTransitionEnd(this._element, modalTransitionDuration);\r\n this._element.focus();\r\n } else {\r\n this.hide();\r\n }\r\n }\r\n\r\n // ----------------------------------------------------------------------\r\n // the following methods are used to handle overflowing modals\r\n // ----------------------------------------------------------------------\r\n\r\n _adjustDialog() {\r\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\r\n\r\n if (!this._isBodyOverflowing && isModalOverflowing) {\r\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`;\r\n }\r\n\r\n if (this._isBodyOverflowing && !isModalOverflowing) {\r\n this._element.style.paddingRight = `${this._scrollbarWidth}px`;\r\n }\r\n }\r\n\r\n _resetAdjustments() {\r\n this._element.style.paddingLeft = '';\r\n this._element.style.paddingRight = '';\r\n }\r\n\r\n _checkScrollbar() {\r\n const rect = document.body.getBoundingClientRect();\r\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;\r\n this._scrollbarWidth = this._getScrollbarWidth();\r\n }\r\n\r\n _setScrollbar() {\r\n if (this._isBodyOverflowing) {\r\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\r\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\r\n\r\n // Adjust fixed content padding\r\n SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach((element) => {\r\n const actualPadding = element.style.paddingRight;\r\n const calculatedPadding = window.getComputedStyle(element)['padding-right'];\r\n Manipulator.setDataAttribute(element, 'padding-right', actualPadding);\r\n element.style.paddingRight = `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`;\r\n });\r\n\r\n // Adjust sticky content margin\r\n SelectorEngine.find(SELECTOR_STICKY_CONTENT).forEach((element) => {\r\n const actualMargin = element.style.marginRight;\r\n const calculatedMargin = window.getComputedStyle(element)['margin-right'];\r\n Manipulator.setDataAttribute(element, 'margin-right', actualMargin);\r\n element.style.marginRight = `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`;\r\n });\r\n\r\n // Adjust body padding\r\n const actualPadding = document.body.style.paddingRight;\r\n const calculatedPadding = window.getComputedStyle(document.body)['padding-right'];\r\n\r\n Manipulator.setDataAttribute(document.body, 'padding-right', actualPadding);\r\n document.body.style.paddingRight = `${\r\n parseFloat(calculatedPadding) + this._scrollbarWidth\r\n }px`;\r\n }\r\n\r\n document.body.classList.add(CLASS_NAME_OPEN);\r\n }\r\n\r\n _resetScrollbar() {\r\n // Restore fixed content padding\r\n SelectorEngine.find(SELECTOR_FIXED_CONTENT).forEach((element) => {\r\n const padding = Manipulator.getDataAttribute(element, 'padding-right');\r\n if (typeof padding !== 'undefined') {\r\n Manipulator.removeDataAttribute(element, 'padding-right');\r\n element.style.paddingRight = padding;\r\n }\r\n });\r\n\r\n // Restore sticky content and navbar-toggler margin\r\n SelectorEngine.find(`${SELECTOR_STICKY_CONTENT}`).forEach((element) => {\r\n const margin = Manipulator.getDataAttribute(element, 'margin-right');\r\n if (typeof margin !== 'undefined') {\r\n Manipulator.removeDataAttribute(element, 'margin-right');\r\n element.style.marginRight = margin;\r\n }\r\n });\r\n\r\n // Restore body padding\r\n const padding = Manipulator.getDataAttribute(document.body, 'padding-right');\r\n if (typeof padding === 'undefined') {\r\n document.body.style.paddingRight = '';\r\n } else {\r\n Manipulator.removeDataAttribute(document.body, 'padding-right');\r\n document.body.style.paddingRight = padding;\r\n }\r\n }\r\n\r\n _getScrollbarWidth() {\r\n // thx d.walsh\r\n const scrollDiv = document.createElement('div');\r\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;\r\n document.body.appendChild(scrollDiv);\r\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\r\n document.body.removeChild(scrollDiv);\r\n return scrollbarWidth;\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config, relatedTarget) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this),\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n if (!data) {\r\n data = new Modal(this, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config](relatedTarget);\r\n } else if (_config.show) {\r\n data.show(relatedTarget);\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n const target = getElementFromSelector(this);\r\n\r\n if (this.tagName === 'A' || this.tagName === 'AREA') {\r\n event.preventDefault();\r\n }\r\n\r\n EventHandler.one(target, EVENT_SHOW, (showEvent) => {\r\n if (showEvent.defaultPrevented) {\r\n // only register focus restorer if modal will actually get shown\r\n return;\r\n }\r\n\r\n EventHandler.one(target, EVENT_HIDDEN, () => {\r\n if (isVisible(this)) {\r\n this.focus();\r\n }\r\n });\r\n });\r\n\r\n let data = Data.getData(target, DATA_KEY);\r\n if (!data) {\r\n const config = {\r\n ...Manipulator.getDataAttributes(target),\r\n ...Manipulator.getDataAttributes(this),\r\n };\r\n\r\n data = new Modal(target, config);\r\n }\r\n\r\n data.show(this);\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .modal to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Modal.jQueryInterface;\r\n $.fn[NAME].Constructor = Modal;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Modal.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Modal;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): util/sanitizer.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst uriAttrs = [\r\n 'background',\r\n 'cite',\r\n 'href',\r\n 'itemtype',\r\n 'longdesc',\r\n 'poster',\r\n 'src',\r\n 'xlink:href',\r\n];\r\n\r\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\r\n\r\n/**\r\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\r\n *\r\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;\r\n\r\n/**\r\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\r\n *\r\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\r\n */\r\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\r\n\r\nconst allowedAttribute = (attr, allowedAttributeList) => {\r\n const attrName = attr.nodeName.toLowerCase();\r\n\r\n if (allowedAttributeList.indexOf(attrName) !== -1) {\r\n if (uriAttrs.indexOf(attrName) !== -1) {\r\n return Boolean(\r\n attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN)\r\n );\r\n }\r\n\r\n return true;\r\n }\r\n\r\n const regExp = allowedAttributeList.filter((attrRegex) => attrRegex instanceof RegExp);\r\n\r\n // Check if a regular expression validates the attribute.\r\n for (let i = 0, len = regExp.length; i < len; i++) {\r\n if (attrName.match(regExp[i])) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nexport const DefaultWhitelist = {\r\n // Global attributes allowed on any supplied element below.\r\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\r\n a: ['target', 'href', 'title', 'rel'],\r\n area: [],\r\n b: [],\r\n br: [],\r\n col: [],\r\n code: [],\r\n div: [],\r\n em: [],\r\n hr: [],\r\n h1: [],\r\n h2: [],\r\n h3: [],\r\n h4: [],\r\n h5: [],\r\n h6: [],\r\n i: [],\r\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\r\n li: [],\r\n ol: [],\r\n p: [],\r\n pre: [],\r\n s: [],\r\n small: [],\r\n span: [],\r\n sub: [],\r\n sup: [],\r\n strong: [],\r\n u: [],\r\n ul: [],\r\n};\r\n\r\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\r\n if (!unsafeHtml.length) {\r\n return unsafeHtml;\r\n }\r\n\r\n if (sanitizeFn && typeof sanitizeFn === 'function') {\r\n return sanitizeFn(unsafeHtml);\r\n }\r\n\r\n const domParser = new window.DOMParser();\r\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\r\n const whitelistKeys = Object.keys(whiteList);\r\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'));\r\n\r\n for (let i = 0, len = elements.length; i < len; i++) {\r\n const el = elements[i];\r\n const elName = el.nodeName.toLowerCase();\r\n\r\n if (whitelistKeys.indexOf(elName) === -1) {\r\n el.parentNode.removeChild(el);\r\n\r\n continue;\r\n }\r\n\r\n const attributeList = [].concat(...el.attributes);\r\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\r\n\r\n attributeList.forEach((attr) => {\r\n if (!allowedAttribute(attr, whitelistedAttributes)) {\r\n el.removeAttribute(attr.nodeName);\r\n }\r\n });\r\n }\r\n\r\n return createdDocument.body.innerHTML;\r\n}\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): tooltip.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n TRANSITION_END,\r\n emulateTransitionEnd,\r\n findShadowRoot,\r\n getTransitionDurationFromElement,\r\n getUID,\r\n isElement,\r\n noop,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport { DefaultWhitelist, sanitizeHtml } from './util/sanitizer';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport Popper from 'popper.js';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'tooltip';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.tooltip';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst CLASS_PREFIX = 'bs-tooltip';\r\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g');\r\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\r\n\r\nconst DefaultType = {\r\n animation: 'boolean',\r\n template: 'string',\r\n title: '(string|element|function)',\r\n trigger: 'string',\r\n delay: '(number|object)',\r\n html: 'boolean',\r\n selector: '(string|boolean)',\r\n placement: '(string|function)',\r\n offset: '(number|string|function)',\r\n container: '(string|element|boolean)',\r\n fallbackPlacement: '(string|array)',\r\n boundary: '(string|element)',\r\n sanitize: 'boolean',\r\n sanitizeFn: '(null|function)',\r\n whiteList: 'object',\r\n popperConfig: '(null|object)',\r\n};\r\n\r\nconst AttachmentMap = {\r\n AUTO: 'auto',\r\n TOP: 'top',\r\n RIGHT: 'right',\r\n BOTTOM: 'bottom',\r\n LEFT: 'left',\r\n};\r\n\r\nconst Default = {\r\n animation: true,\r\n template:\r\n '
' +\r\n '
' +\r\n '
',\r\n trigger: 'hover focus',\r\n title: '',\r\n delay: 0,\r\n html: false,\r\n selector: false,\r\n placement: 'top',\r\n offset: 0,\r\n container: false,\r\n fallbackPlacement: 'flip',\r\n boundary: 'scrollParent',\r\n sanitize: true,\r\n sanitizeFn: null,\r\n whiteList: DefaultWhitelist,\r\n popperConfig: null,\r\n};\r\n\r\nconst Event = {\r\n HIDE: `hide${EVENT_KEY}`,\r\n HIDDEN: `hidden${EVENT_KEY}`,\r\n SHOW: `show${EVENT_KEY}`,\r\n SHOWN: `shown${EVENT_KEY}`,\r\n INSERTED: `inserted${EVENT_KEY}`,\r\n CLICK: `click${EVENT_KEY}`,\r\n FOCUSIN: `focusin${EVENT_KEY}`,\r\n FOCUSOUT: `focusout${EVENT_KEY}`,\r\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\r\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\r\n};\r\n\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_MODAL = 'modal';\r\nconst CLASS_NAME_SHOW = 'show';\r\n\r\nconst HOVER_STATE_SHOW = 'show';\r\nconst HOVER_STATE_OUT = 'out';\r\n\r\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\r\n\r\nconst TRIGGER_HOVER = 'hover';\r\nconst TRIGGER_FOCUS = 'focus';\r\nconst TRIGGER_CLICK = 'click';\r\nconst TRIGGER_MANUAL = 'manual';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Tooltip {\r\n constructor(element, config) {\r\n if (typeof Popper === 'undefined') {\r\n throw new TypeError(\"Bootstrap's tooltips require Popper.js (https://popper.js.org)\");\r\n }\r\n\r\n // private\r\n this._isEnabled = true;\r\n this._timeout = 0;\r\n this._hoverState = '';\r\n this._activeTrigger = {};\r\n this._popper = null;\r\n\r\n // Protected\r\n this.element = element;\r\n this.config = this._getConfig(config);\r\n this.tip = null;\r\n\r\n this._setListeners();\r\n Data.setData(element, this.constructor.DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n static get DATA_KEY() {\r\n return DATA_KEY;\r\n }\r\n\r\n static get Event() {\r\n return Event;\r\n }\r\n\r\n static get EVENT_KEY() {\r\n return EVENT_KEY;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n // Public\r\n\r\n enable() {\r\n this._isEnabled = true;\r\n }\r\n\r\n disable() {\r\n this._isEnabled = false;\r\n }\r\n\r\n toggleEnabled() {\r\n this._isEnabled = !this._isEnabled;\r\n }\r\n\r\n toggle(event) {\r\n if (!this._isEnabled) {\r\n return;\r\n }\r\n\r\n if (event) {\r\n const dataKey = this.constructor.DATA_KEY;\r\n let context = Data.getData(event.target, dataKey);\r\n\r\n if (!context) {\r\n context = new this.constructor(event.target, this._getDelegateConfig());\r\n Data.setData(event.target, dataKey, context);\r\n }\r\n\r\n context._activeTrigger.click = !context._activeTrigger.click;\r\n\r\n if (context._isWithActiveTrigger()) {\r\n context._enter(null, context);\r\n } else {\r\n context._leave(null, context);\r\n }\r\n } else {\r\n if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\r\n this._leave(null, this);\r\n return;\r\n }\r\n\r\n this._enter(null, this);\r\n }\r\n }\r\n\r\n dispose() {\r\n clearTimeout(this._timeout);\r\n\r\n Data.removeData(this.element, this.constructor.DATA_KEY);\r\n\r\n EventHandler.off(this.element, this.constructor.EVENT_KEY);\r\n EventHandler.off(\r\n this.element.closest(`.${CLASS_NAME_MODAL}`),\r\n 'hide.bs.modal',\r\n this._hideModalHandler\r\n );\r\n\r\n if (this.tip) {\r\n this.tip.parentNode.removeChild(this.tip);\r\n }\r\n\r\n this._isEnabled = null;\r\n this._timeout = null;\r\n this._hoverState = null;\r\n this._activeTrigger = null;\r\n if (this._popper) {\r\n this._popper.destroy();\r\n }\r\n\r\n this._popper = null;\r\n this.element = null;\r\n this.config = null;\r\n this.tip = null;\r\n }\r\n\r\n show() {\r\n if (this.element.style.display === 'none') {\r\n throw new Error('Please use show on visible elements');\r\n }\r\n\r\n if (this.isWithContent() && this._isEnabled) {\r\n const showEvent = EventHandler.trigger(this.element, this.constructor.Event.SHOW);\r\n const shadowRoot = findShadowRoot(this.element);\r\n const isInTheDom =\r\n shadowRoot === null\r\n ? this.element.ownerDocument.documentElement.contains(this.element)\r\n : shadowRoot.contains(this.element);\r\n\r\n if (showEvent.defaultPrevented || !isInTheDom) {\r\n return;\r\n }\r\n\r\n const tip = this.getTipElement();\r\n const tipId = getUID(this.constructor.NAME);\r\n\r\n tip.setAttribute('id', tipId);\r\n this.element.setAttribute('aria-describedby', tipId);\r\n\r\n this.setContent();\r\n\r\n if (this.config.animation) {\r\n tip.classList.add(CLASS_NAME_FADE);\r\n }\r\n\r\n const placement =\r\n typeof this.config.placement === 'function'\r\n ? this.config.placement.call(this, tip, this.element)\r\n : this.config.placement;\r\n\r\n const attachment = this._getAttachment(placement);\r\n this._addAttachmentClass(attachment);\r\n\r\n const container = this._getContainer();\r\n Data.setData(tip, this.constructor.DATA_KEY, this);\r\n\r\n if (!this.element.ownerDocument.documentElement.contains(this.tip)) {\r\n container.appendChild(tip);\r\n }\r\n\r\n EventHandler.trigger(this.element, this.constructor.Event.INSERTED);\r\n\r\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));\r\n\r\n tip.classList.add(CLASS_NAME_SHOW);\r\n\r\n // If this is a touch-enabled device we add extra\r\n // empty mouseover listeners to the body's immediate children;\r\n // only needed because of broken event delegation on iOS\r\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\r\n if ('ontouchstart' in document.documentElement) {\r\n [].concat(...document.body.children).forEach((element) => {\r\n EventHandler.on(element, 'mouseover', noop());\r\n });\r\n }\r\n\r\n const complete = () => {\r\n if (this.config.animation) {\r\n this._fixTransition();\r\n }\r\n\r\n const prevHoverState = this._hoverState;\r\n this._hoverState = null;\r\n\r\n EventHandler.trigger(this.element, this.constructor.Event.SHOWN);\r\n\r\n if (prevHoverState === HOVER_STATE_OUT) {\r\n this._leave(null, this);\r\n }\r\n };\r\n\r\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\r\n const transitionDuration = getTransitionDurationFromElement(this.tip);\r\n EventHandler.one(this.tip, TRANSITION_END, complete);\r\n emulateTransitionEnd(this.tip, transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n }\r\n }\r\n\r\n hide() {\r\n const tip = this.getTipElement();\r\n const complete = () => {\r\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\r\n tip.parentNode.removeChild(tip);\r\n }\r\n\r\n this._cleanTipClass();\r\n this.element.removeAttribute('aria-describedby');\r\n EventHandler.trigger(this.element, this.constructor.Event.HIDDEN);\r\n this._popper.destroy();\r\n };\r\n\r\n const hideEvent = EventHandler.trigger(this.element, this.constructor.Event.HIDE);\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n tip.classList.remove(CLASS_NAME_SHOW);\r\n\r\n // If this is a touch-enabled device we remove the extra\r\n // empty mouseover listeners we added for iOS support\r\n if ('ontouchstart' in document.documentElement) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((element) => EventHandler.off(element, 'mouseover', noop));\r\n }\r\n\r\n this._activeTrigger[TRIGGER_CLICK] = false;\r\n this._activeTrigger[TRIGGER_FOCUS] = false;\r\n this._activeTrigger[TRIGGER_HOVER] = false;\r\n\r\n if (this.tip.classList.contains(CLASS_NAME_FADE)) {\r\n const transitionDuration = getTransitionDurationFromElement(tip);\r\n\r\n EventHandler.one(tip, TRANSITION_END, complete);\r\n emulateTransitionEnd(tip, transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n\r\n this._hoverState = '';\r\n }\r\n\r\n update() {\r\n if (this._popper !== null) {\r\n this._popper.scheduleUpdate();\r\n }\r\n }\r\n\r\n // Protected\r\n\r\n isWithContent() {\r\n return Boolean(this.getTitle());\r\n }\r\n\r\n getTipElement() {\r\n if (this.tip) {\r\n return this.tip;\r\n }\r\n\r\n const element = document.createElement('div');\r\n element.innerHTML = this.config.template;\r\n\r\n this.tip = element.children[0];\r\n return this.tip;\r\n }\r\n\r\n setContent() {\r\n const tip = this.getTipElement();\r\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle());\r\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);\r\n }\r\n\r\n setElementContent(element, content) {\r\n if (element === null) {\r\n return;\r\n }\r\n\r\n if (typeof content === 'object' && isElement(content)) {\r\n if (content.jquery) {\r\n content = content[0];\r\n }\r\n\r\n // content is a DOM node or a jQuery\r\n if (this.config.html) {\r\n if (content.parentNode !== element) {\r\n element.innerHTML = '';\r\n element.appendChild(content);\r\n }\r\n } else {\r\n element.textContent = content.textContent;\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (this.config.html) {\r\n if (this.config.sanitize) {\r\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);\r\n }\r\n\r\n element.innerHTML = content;\r\n } else {\r\n element.textContent = content;\r\n }\r\n }\r\n\r\n getTitle() {\r\n let title = this.element.getAttribute('data-original-title');\r\n\r\n if (!title) {\r\n title =\r\n typeof this.config.title === 'function'\r\n ? this.config.title.call(this.element)\r\n : this.config.title;\r\n }\r\n\r\n return title;\r\n }\r\n\r\n // Private\r\n\r\n _getPopperConfig(attachment) {\r\n const defaultBsConfig = {\r\n placement: attachment,\r\n modifiers: {\r\n offset: this._getOffset(),\r\n flip: {\r\n behavior: this.config.fallbackPlacement,\r\n },\r\n arrow: {\r\n element: `.${this.constructor.NAME}-arrow`,\r\n },\r\n preventOverflow: {\r\n boundariesElement: this.config.boundary,\r\n },\r\n },\r\n onCreate: (data) => {\r\n if (data.originalPlacement !== data.placement) {\r\n this._handlePopperPlacementChange(data);\r\n }\r\n },\r\n onUpdate: (data) => this._handlePopperPlacementChange(data),\r\n };\r\n\r\n return {\r\n ...defaultBsConfig,\r\n ...this.config.popperConfig,\r\n };\r\n }\r\n\r\n _addAttachmentClass(attachment) {\r\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`);\r\n }\r\n\r\n _getOffset() {\r\n const offset = {};\r\n\r\n if (typeof this.config.offset === 'function') {\r\n offset.fn = (data) => {\r\n data.offsets = {\r\n ...data.offsets,\r\n ...(this.config.offset(data.offsets, this.element) || {}),\r\n };\r\n\r\n return data;\r\n };\r\n } else {\r\n offset.offset = this.config.offset;\r\n }\r\n\r\n return offset;\r\n }\r\n\r\n _getContainer() {\r\n if (this.config.container === false) {\r\n return document.body;\r\n }\r\n\r\n if (isElement(this.config.container)) {\r\n return this.config.container;\r\n }\r\n\r\n return SelectorEngine.findOne(this.config.container);\r\n }\r\n\r\n _getAttachment(placement) {\r\n return AttachmentMap[placement.toUpperCase()];\r\n }\r\n\r\n _setListeners() {\r\n const triggers = this.config.trigger.split(' ');\r\n\r\n triggers.forEach((trigger) => {\r\n if (trigger === 'click') {\r\n EventHandler.on(this.element, this.constructor.Event.CLICK, this.config.selector, (event) =>\r\n this.toggle(event)\r\n );\r\n } else if (trigger !== TRIGGER_MANUAL) {\r\n const eventIn =\r\n trigger === TRIGGER_HOVER\r\n ? this.constructor.Event.MOUSEENTER\r\n : this.constructor.Event.FOCUSIN;\r\n const eventOut =\r\n trigger === TRIGGER_HOVER\r\n ? this.constructor.Event.MOUSELEAVE\r\n : this.constructor.Event.FOCUSOUT;\r\n\r\n EventHandler.on(this.element, eventIn, this.config.selector, (event) => this._enter(event));\r\n EventHandler.on(this.element, eventOut, this.config.selector, (event) =>\r\n this._leave(event)\r\n );\r\n }\r\n });\r\n\r\n this._hideModalHandler = () => {\r\n if (this.element) {\r\n this.hide();\r\n }\r\n };\r\n\r\n EventHandler.on(\r\n this.element.closest(`.${CLASS_NAME_MODAL}`),\r\n 'hide.bs.modal',\r\n this._hideModalHandler\r\n );\r\n\r\n if (this.config.selector) {\r\n this.config = {\r\n ...this.config,\r\n trigger: 'manual',\r\n selector: '',\r\n };\r\n } else {\r\n this._fixTitle();\r\n }\r\n }\r\n\r\n _fixTitle() {\r\n const titleType = typeof this.element.getAttribute('data-original-title');\r\n\r\n if (this.element.getAttribute('title') || titleType !== 'string') {\r\n this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\r\n\r\n this.element.setAttribute('title', '');\r\n }\r\n }\r\n\r\n _enter(event, context) {\r\n const dataKey = this.constructor.DATA_KEY;\r\n context = context || Data.getData(event.target, dataKey);\r\n\r\n if (!context) {\r\n context = new this.constructor(event.target, this._getDelegateConfig());\r\n Data.setData(event.target, dataKey, context);\r\n }\r\n\r\n if (event) {\r\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\r\n }\r\n\r\n if (\r\n context.getTipElement().classList.contains(CLASS_NAME_SHOW) ||\r\n context._hoverState === HOVER_STATE_SHOW\r\n ) {\r\n context._hoverState = HOVER_STATE_SHOW;\r\n return;\r\n }\r\n\r\n clearTimeout(context._timeout);\r\n\r\n context._hoverState = HOVER_STATE_SHOW;\r\n\r\n if (!context.config.delay || !context.config.delay.show) {\r\n context.show();\r\n return;\r\n }\r\n\r\n context._timeout = setTimeout(() => {\r\n if (context._hoverState === HOVER_STATE_SHOW) {\r\n context.show();\r\n }\r\n }, context.config.delay.show);\r\n }\r\n\r\n _leave(event, context) {\r\n const dataKey = this.constructor.DATA_KEY;\r\n context = context || Data.getData(event.target, dataKey);\r\n\r\n if (!context) {\r\n context = new this.constructor(event.target, this._getDelegateConfig());\r\n Data.setData(event.target, dataKey, context);\r\n }\r\n\r\n if (event) {\r\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;\r\n }\r\n\r\n if (context._isWithActiveTrigger()) {\r\n return;\r\n }\r\n\r\n clearTimeout(context._timeout);\r\n\r\n context._hoverState = HOVER_STATE_OUT;\r\n\r\n if (!context.config.delay || !context.config.delay.hide) {\r\n context.hide();\r\n return;\r\n }\r\n\r\n context._timeout = setTimeout(() => {\r\n if (context._hoverState === HOVER_STATE_OUT) {\r\n context.hide();\r\n }\r\n }, context.config.delay.hide);\r\n }\r\n\r\n _isWithActiveTrigger() {\r\n for (const trigger in this._activeTrigger) {\r\n if (this._activeTrigger[trigger]) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n _getConfig(config) {\r\n const dataAttributes = Manipulator.getDataAttributes(this.element);\r\n\r\n Object.keys(dataAttributes).forEach((dataAttr) => {\r\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\r\n delete dataAttributes[dataAttr];\r\n }\r\n });\r\n\r\n if (config && typeof config.container === 'object' && config.container.jquery) {\r\n config.container = config.container[0];\r\n }\r\n\r\n config = {\r\n ...this.constructor.Default,\r\n ...dataAttributes,\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n if (typeof config.delay === 'number') {\r\n config.delay = {\r\n show: config.delay,\r\n hide: config.delay,\r\n };\r\n }\r\n\r\n if (typeof config.title === 'number') {\r\n config.title = config.title.toString();\r\n }\r\n\r\n if (typeof config.content === 'number') {\r\n config.content = config.content.toString();\r\n }\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n if (config.sanitize) {\r\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);\r\n }\r\n\r\n return config;\r\n }\r\n\r\n _getDelegateConfig() {\r\n const config = {};\r\n\r\n if (this.config) {\r\n for (const key in this.config) {\r\n if (this.constructor.Default[key] !== this.config[key]) {\r\n config[key] = this.config[key];\r\n }\r\n }\r\n }\r\n\r\n return config;\r\n }\r\n\r\n _cleanTipClass() {\r\n const tip = this.getTipElement();\r\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);\r\n if (tabClass !== null && tabClass.length > 0) {\r\n tabClass.map((token) => token.trim()).forEach((tClass) => tip.classList.remove(tClass));\r\n }\r\n }\r\n\r\n _handlePopperPlacementChange(popperData) {\r\n const popperInstance = popperData.instance;\r\n this.tip = popperInstance.popper;\r\n this._cleanTipClass();\r\n this._addAttachmentClass(this._getAttachment(popperData.placement));\r\n }\r\n\r\n _fixTransition() {\r\n const tip = this.getTipElement();\r\n const initConfigAnimation = this.config.animation;\r\n if (tip.getAttribute('x-placement') !== null) {\r\n return;\r\n }\r\n\r\n tip.classList.remove(CLASS_NAME_FADE);\r\n this.config.animation = false;\r\n this.hide();\r\n this.show();\r\n this.config.animation = initConfigAnimation;\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === 'object' && config;\r\n\r\n if (!data && /dispose|hide/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Tooltip(this, _config);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .tooltip to jQuery only if jQuery is present\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Tooltip.jQueryInterface;\r\n $.fn[NAME].Constructor = Tooltip;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Tooltip.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Tooltip;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): popover.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getjQuery } from './util/index';\r\nimport Data from './dom/data';\r\nimport SelectorEngine from './dom/selector-engine';\r\nimport Tooltip from './tooltip';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'popover';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.popover';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst CLASS_PREFIX = 'bs-popover';\r\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g');\r\n\r\nconst Default = {\r\n ...Tooltip.Default,\r\n placement: 'right',\r\n trigger: 'click',\r\n content: '',\r\n template:\r\n '
' +\r\n '
' +\r\n '

' +\r\n '
',\r\n};\r\n\r\nconst DefaultType = {\r\n ...Tooltip.DefaultType,\r\n content: '(string|element|function)',\r\n};\r\n\r\nconst Event = {\r\n HIDE: `hide${EVENT_KEY}`,\r\n HIDDEN: `hidden${EVENT_KEY}`,\r\n SHOW: `show${EVENT_KEY}`,\r\n SHOWN: `shown${EVENT_KEY}`,\r\n INSERTED: `inserted${EVENT_KEY}`,\r\n CLICK: `click${EVENT_KEY}`,\r\n FOCUSIN: `focusin${EVENT_KEY}`,\r\n FOCUSOUT: `focusout${EVENT_KEY}`,\r\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\r\n MOUSELEAVE: `mouseleave${EVENT_KEY}`,\r\n};\r\n\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_SHOW = 'show';\r\n\r\nconst SELECTOR_TITLE = '.popover-header';\r\nconst SELECTOR_CONTENT = '.popover-body';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Popover extends Tooltip {\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n static get DATA_KEY() {\r\n return DATA_KEY;\r\n }\r\n\r\n static get Event() {\r\n return Event;\r\n }\r\n\r\n static get EVENT_KEY() {\r\n return EVENT_KEY;\r\n }\r\n\r\n static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n // Overrides\r\n\r\n isWithContent() {\r\n return this.getTitle() || this._getContent();\r\n }\r\n\r\n setContent() {\r\n const tip = this.getTipElement();\r\n\r\n // we use append for html objects to maintain js events\r\n this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle());\r\n let content = this._getContent();\r\n if (typeof content === 'function') {\r\n content = content.call(this.element);\r\n }\r\n\r\n this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content);\r\n\r\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);\r\n }\r\n\r\n _addAttachmentClass(attachment) {\r\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`);\r\n }\r\n\r\n // Private\r\n\r\n _getContent() {\r\n return this.element.getAttribute('data-content') || this.config.content;\r\n }\r\n\r\n _cleanTipClass() {\r\n const tip = this.getTipElement();\r\n const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);\r\n if (tabClass !== null && tabClass.length > 0) {\r\n tabClass.map((token) => token.trim()).forEach((tClass) => tip.classList.remove(tClass));\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n let data = Data.getData(this, DATA_KEY);\r\n const _config = typeof config === 'object' ? config : null;\r\n\r\n if (!data && /dispose|hide/.test(config)) {\r\n return;\r\n }\r\n\r\n if (!data) {\r\n data = new Popover(this, _config);\r\n Data.setData(this, DATA_KEY, data);\r\n }\r\n\r\n if (typeof config === 'string') {\r\n if (typeof data[config] === 'undefined') {\r\n throw new TypeError(`No method named \"${config}\"`);\r\n }\r\n\r\n data[config]();\r\n }\r\n });\r\n }\r\n\r\n static getInstance(element) {\r\n return Data.getData(element, DATA_KEY);\r\n }\r\n}\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n */\r\n/* istanbul ignore if */\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Popover.jQueryInterface;\r\n $.fn[NAME].Constructor = Popover;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Popover.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Popover;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): scrollspy.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport {\r\n getjQuery,\r\n getSelectorFromElement,\r\n getUID,\r\n isElement,\r\n typeCheckConfig,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\r\nimport Manipulator from './dom/manipulator';\r\nimport SelectorEngine from './dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'scrollspy';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.scrollspy';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst Default = {\r\n offset: 10,\r\n method: 'auto',\r\n target: '',\r\n};\r\n\r\nconst DefaultType = {\r\n offset: 'number',\r\n method: 'string',\r\n target: '(string|element)',\r\n};\r\n\r\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`;\r\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`;\r\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\r\nconst CLASS_NAME_ACTIVE = 'active';\r\n\r\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]';\r\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\r\nconst SELECTOR_NAV_LINKS = '.nav-link';\r\nconst SELECTOR_NAV_ITEMS = '.nav-item';\r\nconst SELECTOR_LIST_ITEMS = '.list-group-item';\r\nconst SELECTOR_DROPDOWN = '.dropdown';\r\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\r\n\r\nconst METHOD_OFFSET = 'offset';\r\nconst METHOD_POSITION = 'position';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass ScrollSpy {\r\n constructor(element, config) {\r\n this._element = element;\r\n this._scrollElement = element.tagName === 'BODY' ? window : element;\r\n this._config = this._getConfig(config);\r\n this._selector =\r\n `${this._config.target} ${SELECTOR_NAV_LINKS},` +\r\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\r\n `${this._config.target} .${CLASS_NAME_DROPDOWN_ITEM}`;\r\n this._offsets = [];\r\n this._targets = [];\r\n this._activeTarget = null;\r\n this._scrollHeight = 0;\r\n\r\n EventHandler.on(this._scrollElement, EVENT_SCROLL, (event) => this._process(event));\r\n\r\n this.refresh();\r\n this._process();\r\n\r\n Data.setData(element, DATA_KEY, this);\r\n }\r\n\r\n // Getters\r\n\r\n static get VERSION() {\r\n return VERSION;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n refresh() {\r\n const autoMethod =\r\n this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;\r\n\r\n const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\r\n\r\n const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;\r\n\r\n this._offsets = [];\r\n this._targets = [];\r\n\r\n this._scrollHeight = this._getScrollHeight();\r\n\r\n const targets = SelectorEngine.find(this._selector);\r\n\r\n targets\r\n .map((element) => {\r\n let target;\r\n const targetSelector = getSelectorFromElement(element);\r\n\r\n if (targetSelector) {\r\n target = SelectorEngine.findOne(targetSelector);\r\n }\r\n\r\n if (target) {\r\n const targetBCR = target.getBoundingClientRect();\r\n if (targetBCR.width || targetBCR.height) {\r\n return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];\r\n }\r\n }\r\n\r\n return null;\r\n })\r\n .filter((item) => item)\r\n .sort((a, b) => a[0] - b[0])\r\n .forEach((item) => {\r\n this._offsets.push(item[0]);\r\n this._targets.push(item[1]);\r\n });\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n EventHandler.off(this._scrollElement, EVENT_KEY);\r\n\r\n this._element = null;\r\n this._scrollElement = null;\r\n this._config = null;\r\n this._selector = null;\r\n this._offsets = null;\r\n this._targets = null;\r\n this._activeTarget = null;\r\n this._scrollHeight = null;\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n if (typeof config.target !== 'string' && isElement(config.target)) {\r\n let { id } = config.target;\r\n if (!id) {\r\n id = getUID(NAME);\r\n config.target.id = id;\r\n }\r\n\r\n config.target = `#${id}`;\r\n }\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _getScrollTop() {\r\n return this._scrollElement === window\r\n ? this._scrollElement.pageYOffset\r\n : this._scrollElement.scrollTop;\r\n }\r\n\r\n _getScrollHeight() {\r\n return (\r\n this._scrollElement.scrollHeight ||\r\n Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)\r\n );\r\n }\r\n\r\n _getOffsetHeight() {\r\n return this._scrollElement === window\r\n ? window.innerHeight\r\n : this._scrollElement.getBoundingClientRect().height;\r\n }\r\n\r\n _process() {\r\n const scrollTop = this._getScrollTop() + this._config.offset;\r\n const scrollHeight = this._getScrollHeight();\r\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();\r\n\r\n if (this._scrollHeight !== scrollHeight) {\r\n this.refresh();\r\n }\r\n\r\n if (scrollTop >= maxScroll) {\r\n const target = this._targets[this._targets.length - 1];\r\n\r\n if (this._activeTarget !== target) {\r\n this._activate(target);\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\r\n this._activeTarget = null;\r\n this._clear();\r\n return;\r\n }\r\n\r\n for (let i = this._offsets.length; i--; ) {\r\n const isActiveTarget =\r\n this._activeTarget !== this._targets[i] &&\r\n scrollTop >= this._offsets[i] &&\r\n (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);\r\n\r\n if (isActiveTarget) {\r\n this._activate(this._targets[i]);\r\n }\r\n }\r\n }\r\n\r\n _activate(target) {\r\n this._activeTarget = target;\r\n\r\n this._clear();\r\n\r\n const queries = this._selector\r\n .split(',')\r\n .map((selector) => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`);\r\n\r\n const link = SelectorEngine.findOne(queries.join(','));\r\n\r\n if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\r\n SelectorEngine.findOne(\r\n SELECTOR_DROPDOWN_TOGGLE,\r\n link.closest(SELECTOR_DROPDOWN)\r\n ).classList.add(CLASS_NAME_ACTIVE);\r\n\r\n link.classList.add(CLASS_NAME_ACTIVE);\r\n } else {\r\n // Set triggered link as active\r\n link.classList.add(CLASS_NAME_ACTIVE);\r\n\r\n SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach((listGroup) => {\r\n // Set triggered links parents as active\r\n // With both