mdb-ui-kit/js/mdb.min.js.map
2020-12-30 15:30:27 +01:00

1 line
630 KiB
Plaintext

{"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.object.to-string.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.symbol.js","webpack://mdb/./node_modules/core-js/internals/global.js","webpack://mdb/./node_modules/core-js/modules/es.object.keys.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.regexp.exec.js","webpack://mdb/./node_modules/core-js/modules/es.array.filter.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.symbol.description.js","webpack://mdb/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://mdb/./node_modules/core-js/modules/es.regexp.to-string.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.from.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.function.name.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/internals/classof-raw.js","webpack://mdb/./node_modules/core-js/internals/get-built-in.js","webpack://mdb/./node_modules/core-js/modules/es.array.map.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/object-create.js","webpack://mdb/./node_modules/core-js/internals/array-iteration.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/is-array.js","webpack://mdb/./node_modules/core-js/internals/object-keys.js","webpack://mdb/./node_modules/core-js/internals/a-function.js","webpack://mdb/./node_modules/core-js/internals/create-property.js","webpack://mdb/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://mdb/./node_modules/core-js/internals/array-method-has-species-support.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-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/set-to-string-tag.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/array-method-is-strict.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/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/use-symbol-as-uid.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/function-bind-context.js","webpack://mdb/./node_modules/core-js/internals/array-species-create.js","webpack://mdb/./node_modules/core-js/internals/classof.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/internals/engine-v8-version.js","webpack://mdb/./node_modules/core-js/internals/string-multibyte.js","webpack://mdb/./node_modules/core-js/internals/dom-iterables.js","webpack://mdb/./node_modules/core-js/internals/array-for-each.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-trim.js","webpack://mdb/./node_modules/core-js/internals/whitespaces.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/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/a-possible-prototype.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/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/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","TO_STRING_TAG_SUPPORT","toString","Object","unsafe","$","forEach","proto","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","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","it","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","Math","check","globalThis","window","self","Function","nativeKeys","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","hasOwnProperty","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","regexp","NativeSymbol","constructor","desc","slice","replace","flags","TO_STRING","RegExpPrototype","RegExp","nativeToString","NOT_GENERIC","INCORRECT_NAME","R","p","rf","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","from","checkCorrectnessOfIteration","iterable","toAbsoluteIndex","ACCESSORS","0","1","SPECIES","nativeSlice","max","start","end","Constructor","fin","inspectSource","enforceInternalState","enforce","TEMPLATE","split","simple","join","toInteger","min","FunctionPrototype","FunctionPrototypeToString","nameRE","match","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","lastIndex","lastLength","output","ignoreCase","multiline","unicode","lastLastIndex","separatorCopy","test","splitter","res","rx","S","C","unicodeMatching","q","e","z","aFunction","variable","path","namespace","method","$map","map","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","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","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","that","specificCreate","boundFunction","every","classof","propertyIsEnumerable","ceil","propertyKey","CORRECT_PROTOTYPE_GETTER","getPrototypeOf","foo","Boolean","regexpFlags","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","BROKEN_CARET","NPCG_INCLUDED","reCopy","re","charsAdded","strCopy","$trim","forcedStringTrimMethod","NASHORN_BUG","mode","copyright","id","postfix","random","feature","detection","normalize","POLYFILL","NATIVE","TAG","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","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","iterator","NAME","c","originalArray","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","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","process","versions","v8","CONVERT_TO_STRING","pos","second","size","codeAt","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","Wrapper","NewTarget","NewTargetPrototype","RE","s","ltrim","rtrim","whitespace","nativeGetPrototypeOf","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","construct","Target","newTarget","$args","nativeJoin","ES3_STRINGS","windowNames","getWindowNames","callWithSafeIterationClosing","isArrayIteratorMethod","getIteratorMethod","arrayLike","argumentsLength","mapfn","mapping","iteratorMethod","returnMethod","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","CONSTRUCTOR_NAME","defaultConstructor","whitespaces","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","removeClass","hasClass","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","dropdownAnimation","ANIMATION_CLASS","ANIMATION_SHOW_CLASS","ANIMATION_HIDE_CLASS","BSDropdown","_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","_options","_clickHandler","_createRipple","_autoInit","_method","_addClickEvent","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","tooltip","popover","toast","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","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","'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","'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 check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var $ = require('../internals/export');\nvar 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 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 exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var 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","// `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","'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","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","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","'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 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","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 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","'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 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.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","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 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","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","module.exports = {};\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","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 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","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\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 has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\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 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","'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","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var 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';\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","'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, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n 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","'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 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 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 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 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 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 global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var 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","// 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","'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 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 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","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 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","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var 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","'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","'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<i.length;n++)if(i[n].identifier===e){t=n;break}return t}function c(e,t){for(var n={},o=[],r=0;r<e.length;r++){var a=e[r],c=t.base?a[0]+t.base:a[0],l=n[c]||0,f=\"\".concat(c,\" \").concat(l);n[c]=l+1;var s=u(f),d={css:a[1],media:a[2],sourceMap:a[3]};-1!==s?(i[s].references++,i[s].updater(d)):i.push({identifier:f,updater:m(d,t),references:1}),o.push(f)}return o}function l(e){var t=document.createElement(\"style\"),o=e.attributes||{};if(void 0===o.nonce){var r=n.nc;r&&(o.nonce=r)}if(Object.keys(o).forEach((function(e){t.setAttribute(e,o[e])})),\"function\"==typeof e.insert)e.insert(t);else{var i=a(e.insert||\"head\");if(!i)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");i.appendChild(t)}return t}var f,s=(f=[],function(e,t){return f[e]=t,f.filter(Boolean).join(\"\\n\")});function d(e,t,n,o){var r=n?\"\":o.media?\"@media \".concat(o.media,\" {\").concat(o.css,\"}\"):o.css;if(e.styleSheet)e.styleSheet.cssText=s(t,r);else{var a=document.createTextNode(r),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(a,i[t]):e.appendChild(a)}}function p(e,t,n){var o=n.css,r=n.media,a=n.sourceMap;if(r?e.setAttribute(\"media\",r):e.removeAttribute(\"media\"),a&&btoa&&(o+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}var v=null,b=0;function m(e,t){var n,o,r;if(t.singleton){var a=b++;n=v||(v=l(t)),o=d.bind(null,n,a,!1),r=d.bind(null,n,a,!0)}else n=l(t),o=p.bind(null,n,t),r=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else r()}}e.exports=function(e,t){(t=t||{}).singleton||\"boolean\"==typeof t.singleton||(t.singleton=r());var n=c(e=e||[],t);return function(e){if(e=e||[],\"[object Array]\"===Object.prototype.toString.call(e)){for(var o=0;o<n.length;o++){var r=u(n[o]);i[r].references--}for(var a=c(e,t),l=0;l<n.length;l++){var f=u(n[l]);0===i[f].references&&(i[f].updater(),i.splice(f,1))}n=a}}}},function(e,t,n){(t=n(4)(!1)).push([e.i,\"INPUT:-webkit-autofill,SELECT:-webkit-autofill,TEXTAREA:-webkit-autofill{animation-name:onautofillstart}INPUT:not(:-webkit-autofill),SELECT:not(:-webkit-autofill),TEXTAREA:not(:-webkit-autofill){animation-name:onautofillcancel}@keyframes onautofillstart{from{}}@keyframes onautofillcancel{from{}}\\n\",\"\"]),e.exports=t},function(e,t,n){\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||\"\",o=e[3];if(!o)return n;if(t&&\"function\"==typeof btoa){var r=(i=o,u=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),c=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(u),\"/*# \".concat(c,\" */\")),a=o.sources.map((function(e){return\"/*# sourceURL=\".concat(o.sourceRoot||\"\").concat(e,\" */\")}));return[n].concat(a).concat([r]).join(\"\\n\")}var i,u,c;return[n].join(\"\\n\")}(t,e);return t[2]?\"@media \".concat(t[2],\" {\").concat(n,\"}\"):n})).join(\"\")},t.i=function(e,n,o){\"string\"==typeof e&&(e=[[null,e,\"\"]]);var r={};if(o)for(var a=0;a<this.length;a++){var i=this[a][0];null!=i&&(r[i]=!0)}for(var u=0;u<e.length;u++){var c=[].concat(e[u]);o&&r[c[0]]||(n&&(c[2]?c[2]=\"\".concat(n,\" and \").concat(c[2]):c[2]=n),t.push(c))}},t}},function(e,t){!function(){if(\"undefined\"!=typeof window)try{var e=new window.CustomEvent(\"test\",{cancelable:!0});if(e.preventDefault(),!0!==e.defaultPrevented)throw new Error(\"Could not prevent default\")}catch(e){var t=function(e,t){var n,o;return(t=t||{}).bubbles=!!t.bubbles,t.cancelable=!!t.cancelable,(n=document.createEvent(\"CustomEvent\")).initCustomEvent(e,t.bubbles,t.cancelable,t.detail),o=n.preventDefault,n.preventDefault=function(){o.call(this);try{Object.defineProperty(this,\"defaultPrevented\",{get:function(){return!0}})}catch(e){this.defaultPrevented=!0}},n};t.prototype=window.Event.prototype,window.CustomEvent=t}}()}]);","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar has = require('../internals/has');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\n// `Reflect.get` method\n// https://tc39.github.io/ecma262/#sec-reflect.get\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var descriptor, prototype;\n if (anObject(target) === receiver) return target[propertyKey];\n if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n ? descriptor.value\n : descriptor.get === undefined\n ? undefined\n : descriptor.get.call(receiver);\n if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);\n}\n\n$({ target: 'Reflect', stat: true }, {\n get: get\n});\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): util/index.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst MAX_UID = 1000000;\r\nconst MILLISECONDS_MULTIPLIER = 1000;\r\nconst TRANSITION_END = 'transitionend';\r\n\r\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\r\nconst toType = (obj) => {\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 <a> 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 '<div class=\"tooltip\" role=\"tooltip\">' +\r\n '<div class=\"tooltip-arrow\"></div>' +\r\n '<div class=\"tooltip-inner\"></div></div>',\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 '<div class=\"popover\" role=\"tooltip\">' +\r\n '<div class=\"popover-arrow\"></div>' +\r\n '<h3 class=\"popover-header\"></h3>' +\r\n '<div class=\"popover-body\"></div></div>',\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 <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\r\n SelectorEngine.prev(\r\n listGroup,\r\n `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\r\n ).forEach((item) => item.classList.add(CLASS_NAME_ACTIVE));\r\n\r\n // Handle special case when .nav-link is inside .nav-item\r\n SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach((navItem) => {\r\n SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach((item) =>\r\n item.classList.add(CLASS_NAME_ACTIVE)\r\n );\r\n });\r\n });\r\n }\r\n\r\n EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {\r\n relatedTarget: target,\r\n });\r\n }\r\n\r\n _clear() {\r\n SelectorEngine.find(this._selector)\r\n .filter((node) => node.classList.contains(CLASS_NAME_ACTIVE))\r\n .forEach((node) => node.classList.remove(CLASS_NAME_ACTIVE));\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) {\r\n data = new ScrollSpy(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\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\r\n SelectorEngine.find(SELECTOR_DATA_SPY).forEach(\r\n (spy) => new ScrollSpy(spy, Manipulator.getDataAttributes(spy))\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] = ScrollSpy.jQueryInterface;\r\n $.fn[NAME].Constructor = ScrollSpy;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return ScrollSpy.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default ScrollSpy;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): tab.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 reflow,\r\n} from './util/index';\r\nimport Data from './dom/data';\r\nimport EventHandler from './dom/event-handler';\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 = 'tab';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.tab';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst EVENT_HIDE = `hide${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_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';\r\nconst CLASS_NAME_ACTIVE = 'active';\r\nconst CLASS_NAME_DISABLED = 'disabled';\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_SHOW = 'show';\r\n\r\nconst SELECTOR_DROPDOWN = '.dropdown';\r\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\r\nconst SELECTOR_ACTIVE = '.active';\r\nconst SELECTOR_ACTIVE_UL = ':scope > li > .active';\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]';\r\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\r\nconst SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope > .dropdown-menu .active';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Tab {\r\n constructor(element) {\r\n this._element = element;\r\n\r\n Data.setData(this._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 show() {\r\n if (\r\n (this._element.parentNode &&\r\n this._element.parentNode.nodeType === Node.ELEMENT_NODE &&\r\n this._element.classList.contains(CLASS_NAME_ACTIVE)) ||\r\n this._element.classList.contains(CLASS_NAME_DISABLED)\r\n ) {\r\n return;\r\n }\r\n\r\n let previous;\r\n const target = getElementFromSelector(this._element);\r\n const listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP);\r\n\r\n if (listElement) {\r\n const itemSelector =\r\n listElement.nodeName === 'UL' || listElement.nodeName === 'OL'\r\n ? SELECTOR_ACTIVE_UL\r\n : SELECTOR_ACTIVE;\r\n previous = SelectorEngine.find(itemSelector, listElement);\r\n previous = previous[previous.length - 1];\r\n }\r\n\r\n let hideEvent = null;\r\n\r\n if (previous) {\r\n hideEvent = EventHandler.trigger(previous, EVENT_HIDE, {\r\n relatedTarget: this._element,\r\n });\r\n }\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\r\n relatedTarget: previous,\r\n });\r\n\r\n if (showEvent.defaultPrevented || (hideEvent !== null && hideEvent.defaultPrevented)) {\r\n return;\r\n }\r\n\r\n this._activate(this._element, listElement);\r\n\r\n const complete = () => {\r\n EventHandler.trigger(previous, EVENT_HIDDEN, {\r\n relatedTarget: this._element,\r\n });\r\n EventHandler.trigger(this._element, EVENT_SHOWN, {\r\n relatedTarget: previous,\r\n });\r\n };\r\n\r\n if (target) {\r\n this._activate(target, target.parentNode, complete);\r\n } else {\r\n complete();\r\n }\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 _activate(element, container, callback) {\r\n const activeElements =\r\n container && (container.nodeName === 'UL' || container.nodeName === 'OL')\r\n ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container)\r\n : SelectorEngine.children(container, SELECTOR_ACTIVE);\r\n\r\n const active = activeElements[0];\r\n const isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE);\r\n\r\n const complete = () => this._transitionComplete(element, active, callback);\r\n\r\n if (active && isTransitioning) {\r\n const transitionDuration = getTransitionDurationFromElement(active);\r\n active.classList.remove(CLASS_NAME_SHOW);\r\n\r\n EventHandler.one(active, TRANSITION_END, complete);\r\n emulateTransitionEnd(active, transitionDuration);\r\n } else {\r\n complete();\r\n }\r\n }\r\n\r\n _transitionComplete(element, active, callback) {\r\n if (active) {\r\n active.classList.remove(CLASS_NAME_ACTIVE);\r\n\r\n const dropdownChild = SelectorEngine.findOne(\r\n SELECTOR_DROPDOWN_ACTIVE_CHILD,\r\n active.parentNode\r\n );\r\n\r\n if (dropdownChild) {\r\n dropdownChild.classList.remove(CLASS_NAME_ACTIVE);\r\n }\r\n\r\n if (active.getAttribute('role') === 'tab') {\r\n active.setAttribute('aria-selected', false);\r\n }\r\n }\r\n\r\n element.classList.add(CLASS_NAME_ACTIVE);\r\n if (element.getAttribute('role') === 'tab') {\r\n element.setAttribute('aria-selected', true);\r\n }\r\n\r\n reflow(element);\r\n\r\n if (element.classList.contains(CLASS_NAME_FADE)) {\r\n element.classList.add(CLASS_NAME_SHOW);\r\n }\r\n\r\n if (element.parentNode && element.parentNode.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {\r\n const dropdownElement = element.closest(SELECTOR_DROPDOWN);\r\n\r\n if (dropdownElement) {\r\n SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE).forEach((dropdown) =>\r\n dropdown.classList.add(CLASS_NAME_ACTIVE)\r\n );\r\n }\r\n\r\n element.setAttribute('aria-expanded', true);\r\n }\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n\r\n // Static\r\n\r\n static jQueryInterface(config) {\r\n return this.each(function () {\r\n const data = Data.getData(this, DATA_KEY) || new Tab(this);\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\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 event.preventDefault();\r\n\r\n const data = Data.getData(this, DATA_KEY) || new Tab(this);\r\n data.show();\r\n});\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .tab 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] = Tab.jQueryInterface;\r\n $.fn[NAME].Constructor = Tab;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Tab.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Tab;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): toast.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 getTransitionDurationFromElement,\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\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'toast';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.toast';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\n\r\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;\r\nconst EVENT_HIDE = `hide${EVENT_KEY}`;\r\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`;\r\nconst EVENT_SHOW = `show${EVENT_KEY}`;\r\nconst EVENT_SHOWN = `shown${EVENT_KEY}`;\r\n\r\nconst CLASS_NAME_FADE = 'fade';\r\nconst CLASS_NAME_HIDE = 'hide';\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_SHOWING = 'showing';\r\n\r\nconst DefaultType = {\r\n animation: 'boolean',\r\n autohide: 'boolean',\r\n delay: 'number',\r\n};\r\n\r\nconst Default = {\r\n animation: true,\r\n autohide: true,\r\n delay: 500,\r\n};\r\n\r\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Toast {\r\n constructor(element, config) {\r\n this._element = element;\r\n this._config = this._getConfig(config);\r\n this._timeout = null;\r\n this._setListeners();\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 DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n static get Default() {\r\n return Default;\r\n }\r\n\r\n // Public\r\n\r\n show() {\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW);\r\n\r\n if (showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (this._config.animation) {\r\n this._element.classList.add(CLASS_NAME_FADE);\r\n }\r\n\r\n const complete = () => {\r\n this._element.classList.remove(CLASS_NAME_SHOWING);\r\n this._element.classList.add(CLASS_NAME_SHOW);\r\n\r\n EventHandler.trigger(this._element, EVENT_SHOWN);\r\n\r\n if (this._config.autohide) {\r\n this._timeout = setTimeout(() => {\r\n this.hide();\r\n }, this._config.delay);\r\n }\r\n };\r\n\r\n this._element.classList.remove(CLASS_NAME_HIDE);\r\n reflow(this._element);\r\n this._element.classList.add(CLASS_NAME_SHOWING);\r\n if (this._config.animation) {\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 } else {\r\n complete();\r\n }\r\n }\r\n\r\n hide() {\r\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\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 const complete = () => {\r\n this._element.classList.add(CLASS_NAME_HIDE);\r\n EventHandler.trigger(this._element, EVENT_HIDDEN);\r\n };\r\n\r\n this._element.classList.remove(CLASS_NAME_SHOW);\r\n if (this._config.animation) {\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 } else {\r\n complete();\r\n }\r\n }\r\n\r\n dispose() {\r\n clearTimeout(this._timeout);\r\n this._timeout = null;\r\n\r\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\r\n this._element.classList.remove(CLASS_NAME_SHOW);\r\n }\r\n\r\n EventHandler.off(this._element, EVENT_CLICK_DISMISS);\r\n Data.removeData(this._element, DATA_KEY);\r\n\r\n this._element = null;\r\n this._config = null;\r\n }\r\n\r\n // Private\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...(typeof config === 'object' && config ? config : {}),\r\n };\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _setListeners() {\r\n EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide());\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) {\r\n data = new Toast(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](this);\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 .toast 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] = Toast.jQueryInterface;\r\n $.fn[NAME].Constructor = Toast;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Toast.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Toast;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): util/index.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nconst MAX_UID = 1000000;\r\nconst MILLISECONDS_MULTIPLIER = 1000;\r\nconst TRANSITION_END = 'transitionend';\r\n\r\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\r\nconst toType = (obj) => {\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\nconst array = (collection) => {\r\n return Array.from(collection);\r\n};\r\n\r\nconst element = (tag) => {\r\n return document.createElement(tag);\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 array,\r\n element,\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/master/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","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dom/manipulator.js\r\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 style(element, style) {\r\n Object.assign(element.style, style);\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 addClass(element, className) {\r\n if (element.classList.contains(className)) return;\r\n element.classList.add(className);\r\n },\r\n\r\n addStyle(element, style) {\r\n Object.keys(style).forEach((property) => {\r\n element.style[property] = style[property];\r\n });\r\n },\r\n\r\n removeClass(element, className) {\r\n if (!element.classList.contains(className)) return;\r\n element.classList.remove(className);\r\n },\r\n\r\n hasClass(element, className) {\r\n return element.classList.contains(className);\r\n },\r\n};\r\n\r\nexport default Manipulator;\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/master/LICENSE)\r\n * --------------------------------------------------------------------------\r\n */\r\n\r\nimport { getUID } from '../util/index';\r\n\r\nlet findElements = Element.prototype.querySelectorAll;\r\nlet findElement = 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 findElements = 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 findElement = 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\nconst find = findElements;\r\nconst findOne = findElement;\r\n\r\nexport { find, findOne, defaultPreventedPreservedOnDispatch };\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/master/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 closest(element, selector) {\r\n return element.closest(selector);\r\n },\r\n\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","import { element } from '../mdb/util/index';\r\nimport Data from '../mdb/dom/data';\r\nimport EventHandler from '../bootstrap/src/dom/event-handler';\r\nimport Manipulator from '../mdb/dom/manipulator';\r\nimport SelectorEngine from '../mdb/dom/selector-engine';\r\nimport 'detect-autofill';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'input';\r\nconst DATA_KEY = 'mdb.input';\r\nconst CLASSNAME_WRAPPER = 'form-outline';\r\nconst OUTLINE_INPUT = `.${CLASSNAME_WRAPPER} input`;\r\nconst OUTLINE_TEXTAREA = `.${CLASSNAME_WRAPPER} textarea`;\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Input {\r\n constructor(element) {\r\n this._element = element;\r\n this._label = null;\r\n this._labelWidth = 0;\r\n this._labelMarginLeft = 0;\r\n this._notchLeading = null;\r\n this._notchMiddle = null;\r\n this._notchTrailing = null;\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 static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n init() {\r\n this._getLabelData();\r\n this._applyDivs();\r\n this._applyNotch();\r\n this._activate();\r\n }\r\n\r\n update() {\r\n this._getLabelData();\r\n this._getNotchData();\r\n this._applyNotch();\r\n this._activate();\r\n }\r\n\r\n forceActive() {\r\n const input =\r\n SelectorEngine.findOne('input', this._element) ||\r\n SelectorEngine.findOne('textarea', this._element);\r\n Manipulator.addClass(input, 'active');\r\n }\r\n\r\n dispose() {\r\n this._removeBorder();\r\n\r\n Data.removeData(this._element, DATA_KEY);\r\n this._element = null;\r\n }\r\n\r\n // Private\r\n _getLabelData() {\r\n this._label = SelectorEngine.findOne('label', this._element);\r\n if (this._label === null) return;\r\n this._getLabelWidth();\r\n this._getLabelPositionInInputGroup();\r\n }\r\n\r\n _getNotchData() {\r\n this._notchMiddle = SelectorEngine.findOne('.form-notch-middle', this._element);\r\n this._notchLeading = SelectorEngine.findOne('.form-notch-leading', this._element);\r\n }\r\n\r\n _getLabelWidth() {\r\n this._labelWidth = this._label.clientWidth * 0.8 + 8;\r\n }\r\n\r\n _getLabelPositionInInputGroup() {\r\n this._labelMarginLeft = 0;\r\n\r\n if (!this._element.classList.contains('input-group')) return;\r\n const input =\r\n SelectorEngine.findOne('input', this._element) ||\r\n SelectorEngine.findOne('textarea', this._element);\r\n const prefix = SelectorEngine.prev(input, '.input-group-text')[0];\r\n if (prefix === undefined) {\r\n this._labelMarginLeft = 0;\r\n } else {\r\n this._labelMarginLeft = prefix.offsetWidth - 1;\r\n }\r\n }\r\n\r\n _applyDivs() {\r\n const notchWrapper = element('div');\r\n Manipulator.addClass(notchWrapper, 'form-notch');\r\n this._notchLeading = element('div');\r\n Manipulator.addClass(this._notchLeading, 'form-notch-leading');\r\n this._notchMiddle = element('div');\r\n Manipulator.addClass(this._notchMiddle, 'form-notch-middle');\r\n this._notchTrailing = element('div');\r\n Manipulator.addClass(this._notchTrailing, 'form-notch-trailing');\r\n\r\n notchWrapper.append(this._notchLeading);\r\n notchWrapper.append(this._notchMiddle);\r\n notchWrapper.append(this._notchTrailing);\r\n this._element.append(notchWrapper);\r\n }\r\n\r\n _applyNotch() {\r\n this._notchMiddle.style.width = `${this._labelWidth}px`;\r\n this._notchLeading.style.width = `${this._labelMarginLeft + 9}px`;\r\n\r\n if (this._label === null) return;\r\n this._label.style.marginLeft = `${this._labelMarginLeft}px`;\r\n }\r\n\r\n _removeBorder() {\r\n const border = SelectorEngine.findOne('.form-notch', this._element);\r\n if (border) border.remove();\r\n }\r\n\r\n _activate(event) {\r\n this._getElements(event);\r\n\r\n const input = event\r\n ? event.target\r\n : SelectorEngine.findOne('input', this._element) ||\r\n SelectorEngine.findOne('textarea', this._element);\r\n\r\n if (input.value !== '') {\r\n Manipulator.addClass(input, 'active');\r\n }\r\n }\r\n\r\n _getElements(event) {\r\n if (event) {\r\n this._element = event.target.parentNode;\r\n this._label = SelectorEngine.findOne('label', this._element);\r\n }\r\n\r\n if (event && this._label) {\r\n const prevLabelWidth = this._labelWidth;\r\n this._getLabelData();\r\n\r\n if (prevLabelWidth !== this._labelWidth) {\r\n this._notchMiddle = SelectorEngine.findOne('.form-notch-middle', event.target.parentNode);\r\n this._notchLeading = SelectorEngine.findOne('.form-notch-leading', event.target.parentNode);\r\n this._applyNotch();\r\n }\r\n }\r\n }\r\n\r\n _deactivate(event) {\r\n const input = event\r\n ? event.target\r\n : SelectorEngine.findOne('input', this._element) ||\r\n SelectorEngine.findOne('textarea', this._element);\r\n if (input.value === '') {\r\n input.classList.remove('active');\r\n }\r\n }\r\n\r\n static activate(instance) {\r\n return function (event) {\r\n instance._activate(event);\r\n };\r\n }\r\n\r\n static deactivate(instance) {\r\n return function (event) {\r\n instance._deactivate(event);\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\nEventHandler.on(document, 'focus', OUTLINE_INPUT, Input.activate(new Input()));\r\nEventHandler.on(document, 'input', OUTLINE_INPUT, Input.activate(new Input()));\r\nEventHandler.on(document, 'blur', OUTLINE_INPUT, Input.deactivate(new Input()));\r\n\r\nEventHandler.on(document, 'focus', OUTLINE_TEXTAREA, Input.activate(new Input()));\r\nEventHandler.on(document, 'input', OUTLINE_TEXTAREA, Input.activate(new Input()));\r\nEventHandler.on(document, 'blur', OUTLINE_TEXTAREA, Input.deactivate(new Input()));\r\n\r\nEventHandler.on(window, 'shown.bs.modal', (e) => {\r\n SelectorEngine.find(OUTLINE_INPUT, e.target).forEach((element) => {\r\n const instance = Input.getInstance(element.parentNode);\r\n if (!instance) return;\r\n instance.update();\r\n });\r\n SelectorEngine.find(OUTLINE_TEXTAREA, e.target).forEach((element) => {\r\n const instance = Input.getInstance(element.parentNode);\r\n if (!instance) return;\r\n instance.update();\r\n });\r\n});\r\n\r\nEventHandler.on(window, 'shown.bs.dropdown', (e) => {\r\n SelectorEngine.find(OUTLINE_INPUT, e.target).forEach((element) => {\r\n const instance = Input.getInstance(element.parentNode);\r\n if (!instance) return;\r\n instance.update();\r\n });\r\n SelectorEngine.find(OUTLINE_TEXTAREA, e.target).forEach((element) => {\r\n const instance = Input.getInstance(element.parentNode);\r\n if (!instance) return;\r\n instance.update();\r\n });\r\n});\r\n\r\nEventHandler.on(window, 'shown.bs.tab', (e) => {\r\n const targetId = e.target.href.split('#')[1];\r\n const target = SelectorEngine.findOne(`#${targetId}`);\r\n SelectorEngine.find(OUTLINE_INPUT, target).forEach((element) => {\r\n const instance = Input.getInstance(element.parentNode);\r\n if (!instance) return;\r\n instance.update();\r\n });\r\n SelectorEngine.find(OUTLINE_TEXTAREA, target).forEach((element) => {\r\n const instance = Input.getInstance(element.parentNode);\r\n if (!instance) return;\r\n instance.update();\r\n });\r\n});\r\n\r\n// auto-init\r\nSelectorEngine.find(`.${CLASSNAME_WRAPPER}`).forEach((element) => {\r\n new Input(element).init();\r\n});\r\n\r\n// auto-fill\r\nEventHandler.on(window, 'onautocomplete', (e) => {\r\n const instance = Input.getInstance(e.target.parentNode);\r\n if (!instance) return;\r\n instance.forceActive();\r\n});\r\n\r\nexport default Input;\r\n","/**\r\n * --------------------------------------------------------------------------\r\n * Bootstrap (v5.0.0-alpha1): dropdown.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 getElementFromSelector,\r\n isElement,\r\n isVisible,\r\n noop,\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 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 = 'dropdown';\r\nconst VERSION = '5.0.0-alpha1';\r\nconst DATA_KEY = 'bs.dropdown';\r\nconst EVENT_KEY = `.${DATA_KEY}`;\r\nconst DATA_API_KEY = '.data-api';\r\n\r\nconst ESCAPE_KEY = 'Escape';\r\nconst SPACE_KEY = 'Space';\r\nconst TAB_KEY = 'Tab';\r\nconst ARROW_UP_KEY = 'ArrowUp';\r\nconst ARROW_DOWN_KEY = 'ArrowDown';\r\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\r\n\r\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY}`);\r\n\r\nconst EVENT_HIDE = `hide${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_CLICK = `click${EVENT_KEY}`;\r\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`;\r\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`;\r\n\r\nconst CLASS_NAME_DISABLED = 'disabled';\r\nconst CLASS_NAME_SHOW = 'show';\r\nconst CLASS_NAME_DROPUP = 'dropup';\r\nconst CLASS_NAME_DROPRIGHT = 'dropright';\r\nconst CLASS_NAME_DROPLEFT = 'dropleft';\r\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right';\r\nconst CLASS_NAME_NAVBAR = 'navbar';\r\nconst CLASS_NAME_POSITION_STATIC = 'position-static';\r\n\r\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]';\r\nconst SELECTOR_FORM_CHILD = '.dropdown form';\r\nconst SELECTOR_MENU = '.dropdown-menu';\r\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav';\r\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\r\n\r\nconst PLACEMENT_TOP = 'top-start';\r\nconst PLACEMENT_TOPEND = 'top-end';\r\nconst PLACEMENT_BOTTOM = 'bottom-start';\r\nconst PLACEMENT_BOTTOMEND = 'bottom-end';\r\nconst PLACEMENT_RIGHT = 'right-start';\r\nconst PLACEMENT_LEFT = 'left-start';\r\n\r\nconst Default = {\r\n offset: 0,\r\n flip: true,\r\n boundary: 'scrollParent',\r\n reference: 'toggle',\r\n display: 'dynamic',\r\n popperConfig: null,\r\n};\r\n\r\nconst DefaultType = {\r\n offset: '(number|string|function)',\r\n flip: 'boolean',\r\n boundary: '(string|element)',\r\n reference: '(string|element)',\r\n display: 'string',\r\n popperConfig: '(null|object)',\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Dropdown {\r\n constructor(element, config) {\r\n this._element = element;\r\n this._popper = null;\r\n this._config = this._getConfig(config);\r\n this._menu = this._getMenuElement();\r\n this._inNavbar = this._detectNavbar();\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 static get DefaultType() {\r\n return DefaultType;\r\n }\r\n\r\n // Public\r\n\r\n toggle() {\r\n if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {\r\n return;\r\n }\r\n\r\n const isActive = this._element.classList.contains(CLASS_NAME_SHOW);\r\n\r\n Dropdown.clearMenus();\r\n\r\n if (isActive) {\r\n return;\r\n }\r\n\r\n this.show();\r\n }\r\n\r\n show() {\r\n if (\r\n this._element.disabled ||\r\n this._element.classList.contains(CLASS_NAME_DISABLED) ||\r\n this._menu.classList.contains(CLASS_NAME_SHOW)\r\n ) {\r\n return;\r\n }\r\n\r\n const parent = Dropdown.getParentFromElement(this._element);\r\n const relatedTarget = {\r\n relatedTarget: this._element,\r\n };\r\n\r\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget);\r\n\r\n if (showEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n // Disable totally Popper.js for Dropdown in Navbar\r\n if (!this._inNavbar) {\r\n if (typeof Popper === 'undefined') {\r\n throw new TypeError(\"Bootstrap's dropdowns require Popper.js (https://popper.js.org)\");\r\n }\r\n\r\n let referenceElement = this._element;\r\n\r\n if (this._config.reference === 'parent') {\r\n referenceElement = parent;\r\n } else if (isElement(this._config.reference)) {\r\n referenceElement = this._config.reference;\r\n\r\n // Check if it's jQuery element\r\n if (typeof this._config.reference.jquery !== 'undefined') {\r\n referenceElement = this._config.reference[0];\r\n }\r\n }\r\n\r\n // If boundary is not `scrollParent`, then set position to `static`\r\n // to allow the menu to \"escape\" the scroll parent's boundaries\r\n // https://github.com/twbs/bootstrap/issues/24251\r\n if (this._config.boundary !== 'scrollParent') {\r\n parent.classList.add(CLASS_NAME_POSITION_STATIC);\r\n }\r\n\r\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());\r\n }\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 && !parent.closest(SELECTOR_NAVBAR_NAV)) {\r\n []\r\n .concat(...document.body.children)\r\n .forEach((elem) => EventHandler.on(elem, 'mouseover', null, noop()));\r\n }\r\n\r\n this._element.focus();\r\n this._element.setAttribute('aria-expanded', true);\r\n\r\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW);\r\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW);\r\n EventHandler.trigger(parent, EVENT_SHOWN, relatedTarget);\r\n }\r\n\r\n hide() {\r\n if (\r\n this._element.disabled ||\r\n this._element.classList.contains(CLASS_NAME_DISABLED) ||\r\n !this._menu.classList.contains(CLASS_NAME_SHOW)\r\n ) {\r\n return;\r\n }\r\n\r\n const parent = Dropdown.getParentFromElement(this._element);\r\n const relatedTarget = {\r\n relatedTarget: this._element,\r\n };\r\n\r\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget);\r\n\r\n if (hideEvent.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (this._popper) {\r\n this._popper.destroy();\r\n }\r\n\r\n Manipulator.toggleClass(this._menu, CLASS_NAME_SHOW);\r\n Manipulator.toggleClass(this._element, CLASS_NAME_SHOW);\r\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget);\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n EventHandler.off(this._element, EVENT_KEY);\r\n this._element = null;\r\n this._menu = null;\r\n if (this._popper) {\r\n this._popper.destroy();\r\n this._popper = null;\r\n }\r\n }\r\n\r\n update() {\r\n this._inNavbar = this._detectNavbar();\r\n if (this._popper) {\r\n this._popper.scheduleUpdate();\r\n }\r\n }\r\n\r\n // Private\r\n\r\n _addEventListeners() {\r\n EventHandler.on(this._element, EVENT_CLICK, (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.toggle();\r\n });\r\n }\r\n\r\n _getConfig(config) {\r\n config = {\r\n ...this.constructor.Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, this.constructor.DefaultType);\r\n\r\n return config;\r\n }\r\n\r\n _getMenuElement() {\r\n return SelectorEngine.next(this._element, SELECTOR_MENU)[0];\r\n }\r\n\r\n _getPlacement() {\r\n const parentDropdown = this._element.parentNode;\r\n let placement = PLACEMENT_BOTTOM;\r\n\r\n // Handle dropup\r\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\r\n placement = PLACEMENT_TOP;\r\n if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\r\n placement = PLACEMENT_TOPEND;\r\n }\r\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPRIGHT)) {\r\n placement = PLACEMENT_RIGHT;\r\n } else if (parentDropdown.classList.contains(CLASS_NAME_DROPLEFT)) {\r\n placement = PLACEMENT_LEFT;\r\n } else if (this._menu.classList.contains(CLASS_NAME_MENURIGHT)) {\r\n placement = PLACEMENT_BOTTOMEND;\r\n }\r\n\r\n return placement;\r\n }\r\n\r\n _detectNavbar() {\r\n return Boolean(this._element.closest(`.${CLASS_NAME_NAVBAR}`));\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 _getPopperConfig() {\r\n const popperConfig = {\r\n placement: this._getPlacement(),\r\n modifiers: {\r\n offset: this._getOffset(),\r\n flip: {\r\n enabled: this._config.flip,\r\n },\r\n preventOverflow: {\r\n boundariesElement: this._config.boundary,\r\n },\r\n },\r\n };\r\n\r\n // Disable Popper.js if we have a static display\r\n if (this._config.display === 'static') {\r\n popperConfig.modifiers.applyStyle = {\r\n enabled: false,\r\n };\r\n }\r\n\r\n return {\r\n ...popperConfig,\r\n ...this._config.popperConfig,\r\n };\r\n }\r\n\r\n // Static\r\n\r\n static dropdownInterface(element, config) {\r\n let data = Data.getData(element, DATA_KEY);\r\n const _config = typeof config === 'object' ? config : null;\r\n\r\n if (!data) {\r\n data = new Dropdown(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 Dropdown.dropdownInterface(this, config);\r\n });\r\n }\r\n\r\n static clearMenus(event) {\r\n if (\r\n event &&\r\n (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY))\r\n ) {\r\n return;\r\n }\r\n\r\n const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE);\r\n\r\n for (let i = 0, len = toggles.length; i < len; i++) {\r\n const parent = Dropdown.getParentFromElement(toggles[i]);\r\n const context = Data.getData(toggles[i], DATA_KEY);\r\n const relatedTarget = {\r\n relatedTarget: toggles[i],\r\n };\r\n\r\n if (event && event.type === 'click') {\r\n relatedTarget.clickEvent = event;\r\n }\r\n\r\n if (!context) {\r\n continue;\r\n }\r\n\r\n const dropdownMenu = context._menu;\r\n if (!toggles[i].classList.contains(CLASS_NAME_SHOW)) {\r\n continue;\r\n }\r\n\r\n if (\r\n event &&\r\n ((event.type === 'click' && /input|textarea/i.test(event.target.tagName)) ||\r\n (event.type === 'keyup' && event.key === TAB_KEY)) &&\r\n dropdownMenu.contains(event.target)\r\n ) {\r\n continue;\r\n }\r\n\r\n const hideEvent = EventHandler.trigger(parent, EVENT_HIDE, relatedTarget);\r\n if (hideEvent.defaultPrevented) {\r\n continue;\r\n }\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((elem) => EventHandler.off(elem, 'mouseover', null, noop()));\r\n }\r\n\r\n toggles[i].setAttribute('aria-expanded', 'false');\r\n\r\n if (context._popper) {\r\n context._popper.destroy();\r\n }\r\n\r\n dropdownMenu.classList.remove(CLASS_NAME_SHOW);\r\n toggles[i].classList.remove(CLASS_NAME_SHOW);\r\n EventHandler.trigger(parent, EVENT_HIDDEN, relatedTarget);\r\n }\r\n }\r\n\r\n static getParentFromElement(element) {\r\n return getElementFromSelector(element) || element.parentNode;\r\n }\r\n\r\n static dataApiKeydownHandler(event) {\r\n // If not input/textarea:\r\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\r\n // If input/textarea:\r\n // - If space key => not a dropdown command\r\n // - If key is other than escape\r\n // - If key is not up or down => not a dropdown command\r\n // - If trigger inside the menu => not a dropdown command\r\n if (\r\n /input|textarea/i.test(event.target.tagName)\r\n ? event.key === SPACE_KEY ||\r\n (event.key !== ESCAPE_KEY &&\r\n ((event.key !== ARROW_DOWN_KEY && event.key !== ARROW_UP_KEY) ||\r\n event.target.closest(SELECTOR_MENU)))\r\n : !REGEXP_KEYDOWN.test(event.key)\r\n ) {\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {\r\n return;\r\n }\r\n\r\n const parent = Dropdown.getParentFromElement(this);\r\n const isActive = this.classList.contains(CLASS_NAME_SHOW);\r\n\r\n if (event.key === ESCAPE_KEY) {\r\n const button = this.matches(SELECTOR_DATA_TOGGLE)\r\n ? this\r\n : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0];\r\n button.focus();\r\n Dropdown.clearMenus();\r\n return;\r\n }\r\n\r\n if (!isActive || event.key === SPACE_KEY) {\r\n Dropdown.clearMenus();\r\n return;\r\n }\r\n\r\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible);\r\n\r\n if (!items.length) {\r\n return;\r\n }\r\n\r\n let index = items.indexOf(event.target);\r\n\r\n if (event.key === ARROW_UP_KEY && index > 0) {\r\n // Up\r\n index--;\r\n }\r\n\r\n if (event.key === ARROW_DOWN_KEY && index < items.length - 1) {\r\n // Down\r\n index++;\r\n }\r\n\r\n // index is -1 if the first keydown is an ArrowUp\r\n index = index === -1 ? 0 : index;\r\n\r\n items[index].focus();\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(\r\n document,\r\n EVENT_KEYDOWN_DATA_API,\r\n SELECTOR_DATA_TOGGLE,\r\n Dropdown.dataApiKeydownHandler\r\n);\r\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus);\r\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n Dropdown.dropdownInterface(this, 'toggle');\r\n});\r\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, (e) => e.stopPropagation());\r\n\r\nconst $ = getjQuery();\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .dropdown 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] = Dropdown.jQueryInterface;\r\n $.fn[NAME].Constructor = Dropdown;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Dropdown.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Dropdown;\r\n","import { getjQuery, typeCheckConfig } from '../mdb/util/index';\r\nimport EventHandler from '../bootstrap/src/dom/event-handler';\r\nimport SelectorEngine from '../mdb/dom/selector-engine';\r\nimport BSDropdown from '../bootstrap/src/dropdown';\r\nimport Manipulator from '../bootstrap/src/dom/manipulator';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'dropdown';\r\nconst SELECTOR_EXPAND = '[data-toggle=\"dropdown\"]';\r\n\r\nconst Default = {\r\n offset: 0,\r\n flip: true,\r\n boundary: 'scrollParent',\r\n reference: 'toggle',\r\n display: 'dynamic',\r\n popperConfig: null,\r\n dropdownAnimation: 'on',\r\n};\r\n\r\nconst DefaultType = {\r\n offset: '(number|string|function)',\r\n flip: 'boolean',\r\n boundary: '(string|element)',\r\n reference: '(string|element)',\r\n display: 'string',\r\n popperConfig: '(null|object)',\r\n dropdownAnimation: 'string',\r\n};\r\n\r\nconst EVENT_HIDE = 'hide.bs.dropdown';\r\nconst EVENT_HIDDEN = 'hidden.bs.dropdown';\r\nconst EVENT_SHOW = 'show.bs.dropdown';\r\n\r\nconst ANIMATION_CLASS = 'animation';\r\nconst ANIMATION_SHOW_CLASS = 'fade-in';\r\nconst ANIMATION_HIDE_CLASS = 'fade-out';\r\n\r\nclass Dropdown extends BSDropdown {\r\n constructor(element, data) {\r\n super(element, data);\r\n this._config = this._getConfig(data);\r\n this._parent = Dropdown.getParentFromElement(this._element);\r\n this._menuStyle = '';\r\n this._xPlacement = '';\r\n\r\n if (this._config.dropdownAnimation === 'on') {\r\n this._init();\r\n }\r\n }\r\n\r\n dispose() {\r\n EventHandler.off(this._element, EVENT_SHOW);\r\n EventHandler.off(this._parent, EVENT_HIDE);\r\n EventHandler.off(this._parent, EVENT_HIDDEN);\r\n super.dispose();\r\n }\r\n\r\n // Getters\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Private\r\n _init() {\r\n this._bindShowEvent();\r\n this._bindHideEvent();\r\n this._bindHiddenEvent();\r\n }\r\n\r\n _getConfig(options) {\r\n const config = {\r\n ...Default,\r\n ...Manipulator.getDataAttributes(this._element),\r\n ...options,\r\n };\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _bindShowEvent() {\r\n EventHandler.on(this._element, EVENT_SHOW, () => {\r\n this._dropdownAnimationStart('show');\r\n });\r\n }\r\n\r\n _bindHideEvent() {\r\n EventHandler.on(this._parent, EVENT_HIDE, () => {\r\n this._menuStyle = this._menu.style.cssText;\r\n this._xPlacement = this._menu.getAttribute('x-placement');\r\n });\r\n }\r\n\r\n _bindHiddenEvent() {\r\n EventHandler.on(this._parent, EVENT_HIDDEN, () => {\r\n this._menu.style.cssText = this._menuStyle;\r\n this._menu.setAttribute('x-placement', this._xPlacement);\r\n\r\n this._dropdownAnimationStart('hide');\r\n });\r\n }\r\n\r\n _dropdownAnimationStart(action) {\r\n switch (action) {\r\n case 'show':\r\n this._menu.classList.add(ANIMATION_CLASS, ANIMATION_SHOW_CLASS);\r\n this._menu.classList.remove(ANIMATION_HIDE_CLASS);\r\n break;\r\n default:\r\n // hide\r\n this._menu.classList.add(ANIMATION_CLASS, ANIMATION_HIDE_CLASS);\r\n this._menu.classList.remove(ANIMATION_SHOW_CLASS);\r\n break;\r\n }\r\n\r\n this._bindAnimationEnd();\r\n }\r\n\r\n _bindAnimationEnd() {\r\n EventHandler.one(this._menu, 'animationend', () => {\r\n this._menu.classList.remove(ANIMATION_CLASS, ANIMATION_HIDE_CLASS, ANIMATION_SHOW_CLASS);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Data Api implementation - auto initialization\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nSelectorEngine.find(SELECTOR_EXPAND).forEach((el) => {\r\n let instance = Dropdown.getInstance(el);\r\n if (!instance) {\r\n instance = new Dropdown(el);\r\n }\r\n});\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .rating to jQuery only if jQuery is present\r\n */\r\n\r\nconst $ = getjQuery();\r\n\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Dropdown.jQueryInterface;\r\n $.fn[NAME].Constructor = Dropdown;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Dropdown.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Dropdown;\r\n","import { element, getjQuery } from '../mdb/util/index';\r\nimport Data from '../mdb/dom/data';\r\nimport EventHandler from '../bootstrap/src/dom/event-handler';\r\nimport Manipulator from '../mdb/dom/manipulator';\r\nimport SelectorEngine from '../mdb/dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'treeview';\r\nconst DATA_KEY = 'mdb.treeview';\r\nconst CLASSNAME_TREEVIEW = 'treeview';\r\nconst SELECTOR_EXPAND = '[data-toggle=\"treeview\"]';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Treeview {\r\n constructor(element, data) {\r\n this._element = element;\r\n\r\n if (this._element) {\r\n this._data = data ? this._createHTMLNodes(data, element) : this._setData(element);\r\n Data.setData(element, DATA_KEY, this);\r\n Manipulator.addClass(this._element, CLASSNAME_TREEVIEW);\r\n\r\n this._constructTreeview(this._data);\r\n }\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n collapse() {\r\n const [, ...innerLists] = SelectorEngine.find('ul', this._element);\r\n innerLists.forEach((node) => (node.style.display = 'none'));\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 _toggleSubmenu(e) {\r\n e.stopPropagation();\r\n\r\n const li = e.target.nodeName === 'I' ? e.target.parentNode : e.target;\r\n\r\n const [ul] =\r\n li.nodeName === 'I'\r\n ? SelectorEngine.children(li.parentNode, 'ul')\r\n : SelectorEngine.children(li, 'ul');\r\n\r\n if (ul) {\r\n ul.style.display = window.getComputedStyle(ul).display === 'none' ? 'block' : 'none';\r\n this._toggleIcon(li);\r\n }\r\n }\r\n\r\n _toggleIcon(el, icon1 = 'fa-caret-down', icon2 = 'fa-caret-up') {\r\n const [i] = SelectorEngine.children(el, 'i');\r\n\r\n if (!i) return;\r\n\r\n const faClasses = [icon1, icon2];\r\n\r\n const [current, next] = i.classList.contains(icon1) ? faClasses : faClasses.reverse();\r\n\r\n i.classList.remove(current);\r\n i.classList.add(next);\r\n }\r\n\r\n _constructTreeview(data) {\r\n data.forEach((el) => {\r\n el.node.addEventListener('click', this._toggleSubmenu.bind(this));\r\n\r\n if (el.children && el.children.length > 0) {\r\n const arrow = element('i');\r\n arrow.classList = ['fas fa-caret-down'];\r\n el.node.appendChild(arrow);\r\n\r\n this._constructTreeview(el.children);\r\n }\r\n });\r\n }\r\n\r\n _setData(el) {\r\n const [list] = SelectorEngine.children(el, 'ul');\r\n\r\n if (!list) return [];\r\n\r\n return SelectorEngine.children(list, 'li').map((node) => {\r\n const children = this._setData(node);\r\n return {\r\n name: node.innerText ? node.innerText.split('\\n')[0] : '',\r\n node,\r\n children,\r\n };\r\n });\r\n }\r\n\r\n _createHTMLNodes(data, parent) {\r\n const ul = element('ul');\r\n\r\n return data.map((item) => {\r\n const li = element('li');\r\n li.innerText = item.name;\r\n let children = item.children;\r\n\r\n if (children && children.length > 0) {\r\n children = this._createHTMLNodes(item.children, li);\r\n }\r\n\r\n ul.appendChild(li);\r\n parent.appendChild(ul);\r\n\r\n return {\r\n ...item,\r\n children,\r\n node: li,\r\n };\r\n });\r\n }\r\n\r\n static toggleSubmenu(instance) {\r\n return function (event) {\r\n instance._toggleSubmenu(event);\r\n };\r\n }\r\n\r\n static jQueryInterface(options) {\r\n return this.each(function () {\r\n const data = Data.getData(this, DATA_KEY);\r\n if (!data) {\r\n return new Treeview(this, options);\r\n }\r\n\r\n return null;\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 - auto initialization\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nEventHandler.on(document, 'click', SELECTOR_EXPAND, Treeview.toggleSubmenu(new Treeview()));\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .treeview to jQuery only if jQuery is present\r\n */\r\n\r\nconst $ = getjQuery();\r\n\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Treeview.jQueryInterface;\r\n $.fn[NAME].Constructor = Treeview;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Treeview.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Treeview;\r\n","import { element, getjQuery, typeCheckConfig } from '../mdb/util/index';\r\nimport Data from '../mdb/dom/data';\r\nimport EventHandler from '../bootstrap/src/dom/event-handler';\r\nimport Manipulator from '../mdb/dom/manipulator';\r\nimport SelectorEngine from '../mdb/dom/selector-engine';\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Constants\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nconst NAME = 'ripple';\r\nconst DATA_KEY = 'mdb.ripple';\r\nconst CLASSNAME_RIPPLE = 'ripple-surface';\r\nconst CLASSNAME_RIPPLE_WAVE = 'ripple-wave';\r\nconst SELECTOR_COMPONENT = ['.btn', '.ripple'];\r\n\r\nconst CLASSNAME_UNBOUND = 'ripple-surface-unbound';\r\nconst GRADIENT =\r\n 'rgba({{color}}, 0.2) 0, rgba({{color}}, 0.3) 40%, rgba({{color}}, 0.4) 50%, rgba({{color}}, 0.5) 60%, rgba({{color}}, 0) 70%';\r\nconst DEFAULT_RIPPLE_COLOR = [0, 0, 0];\r\nconst BOOTSTRAP_COLORS = [\r\n 'primary',\r\n 'secondary',\r\n 'success',\r\n 'danger',\r\n 'warning',\r\n 'info',\r\n 'light',\r\n 'dark',\r\n];\r\n\r\n// Sets walue when run opacity transition\r\n// Hide element after 50% (0.5) time of animation and finish on 100%\r\nconst TRANSITION_BREAK_OPACITY = 0.5;\r\n\r\nconst Default = {\r\n rippleCentered: false,\r\n rippleColor: '',\r\n rippleDuration: '500ms',\r\n rippleRadius: 0,\r\n rippleUnbound: false,\r\n};\r\n\r\nconst DefaultType = {\r\n rippleCentered: 'boolean',\r\n rippleColor: 'string',\r\n rippleDuration: 'string',\r\n rippleRadius: 'number',\r\n rippleUnbound: 'boolean',\r\n};\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * Class Definition\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nclass Ripple {\r\n constructor(element, options) {\r\n this._element = element;\r\n this._options = this._getConfig(options);\r\n if (this._element) {\r\n Data.setData(element, DATA_KEY, this);\r\n Manipulator.addClass(this._element, CLASSNAME_RIPPLE);\r\n }\r\n\r\n this._clickHandler = this._createRipple.bind(this);\r\n\r\n this.init();\r\n }\r\n\r\n // Getters\r\n\r\n static get NAME() {\r\n return NAME;\r\n }\r\n\r\n // Public\r\n\r\n init() {\r\n this._addClickEvent(this._element);\r\n }\r\n\r\n dispose() {\r\n Data.removeData(this._element, DATA_KEY);\r\n EventHandler.off(this._element, 'click', this._clickHandler);\r\n this._element = null;\r\n this._options = null;\r\n }\r\n\r\n // Private\r\n\r\n _autoInit(event) {\r\n SELECTOR_COMPONENT.forEach((selector) => {\r\n const target = SelectorEngine.closest(event.target, selector);\r\n if (target) {\r\n this._element = SelectorEngine.closest(event.target, selector);\r\n }\r\n });\r\n Manipulator.addClass(this._element, CLASSNAME_RIPPLE);\r\n this._options = this._getConfig();\r\n this._createRipple(event);\r\n }\r\n\r\n _addClickEvent(target) {\r\n EventHandler.on(target, 'click', this._clickHandler);\r\n }\r\n\r\n _createRipple(event) {\r\n const { layerX, layerY } = event;\r\n const offsetX = layerX;\r\n const offsetY = layerY;\r\n const height = this._element.offsetHeight;\r\n const width = this._element.offsetWidth;\r\n const duration = this._durationToMsNumber(this._options.rippleDuration);\r\n const diameterOptions = {\r\n offsetX: this._options.rippleCentered ? height / 2 : offsetX,\r\n offsetY: this._options.rippleCentered ? width / 2 : offsetY,\r\n height,\r\n width,\r\n };\r\n const diameter = this._getDiameter(diameterOptions);\r\n const radiusValue = this._options.rippleRadius || diameter / 2;\r\n\r\n const opacity = {\r\n delay: duration * TRANSITION_BREAK_OPACITY,\r\n duration: duration - duration * TRANSITION_BREAK_OPACITY,\r\n };\r\n\r\n const styles = {\r\n left: this._options.rippleCentered\r\n ? `${width / 2 - radiusValue}px`\r\n : `${offsetX - radiusValue}px`,\r\n top: this._options.rippleCentered\r\n ? `${height / 2 - radiusValue}px`\r\n : `${offsetY - radiusValue}px`,\r\n height: `${this._options.rippleRadius * 2 || diameter}px`,\r\n width: `${this._options.rippleRadius * 2 || diameter}px`,\r\n transitionDelay: `0s, ${opacity.delay}ms`,\r\n transitionDuration: `${duration}ms, ${opacity.duration}ms`,\r\n };\r\n\r\n const rippleHTML = element('div');\r\n\r\n this._createHTMLRipple({ wrapper: this._element, ripple: rippleHTML, styles });\r\n this._removeHTMLRipple({ ripple: rippleHTML, duration });\r\n }\r\n\r\n _createHTMLRipple({ wrapper, ripple, styles }) {\r\n Object.keys(styles).forEach((property) => (ripple.style[property] = styles[property]));\r\n ripple.classList.add(CLASSNAME_RIPPLE_WAVE);\r\n if (this._options.rippleColor !== '') {\r\n this._removeOldColorClasses(wrapper);\r\n this._addColor(ripple, wrapper);\r\n }\r\n\r\n this._toggleUnbound(wrapper);\r\n this._appendRipple(ripple, wrapper);\r\n }\r\n\r\n _removeHTMLRipple({ ripple, duration }) {\r\n setTimeout(() => {\r\n if (ripple) {\r\n ripple.remove();\r\n }\r\n }, duration);\r\n }\r\n\r\n _durationToMsNumber(time) {\r\n return Number(time.replace('ms', '').replace('s', '000'));\r\n }\r\n\r\n _getConfig(config = {}) {\r\n const dataAttributes = Manipulator.getDataAttributes(this._element);\r\n\r\n config = {\r\n ...Default,\r\n ...dataAttributes,\r\n ...config,\r\n };\r\n\r\n typeCheckConfig(NAME, config, DefaultType);\r\n return config;\r\n }\r\n\r\n _getDiameter({ offsetX, offsetY, height, width }) {\r\n const top = offsetY <= height / 2;\r\n const left = offsetX <= width / 2;\r\n const pythagorean = (sideA, sideB) => Math.sqrt(sideA ** 2 + sideB ** 2);\r\n\r\n const positionCenter = offsetY === height / 2 && offsetX === width / 2;\r\n // mouse position on the quadrants of the coordinate system\r\n const quadrant = {\r\n first: top === true && left === false,\r\n second: top === true && left === true,\r\n third: top === false && left === true,\r\n fourth: top === false && left === false,\r\n };\r\n\r\n const getCorner = {\r\n topLeft: pythagorean(offsetX, offsetY),\r\n topRight: pythagorean(width - offsetX, offsetY),\r\n bottomLeft: pythagorean(offsetX, height - offsetY),\r\n bottomRight: pythagorean(width - offsetX, height - offsetY),\r\n };\r\n\r\n let diameter = 0;\r\n\r\n if (positionCenter || quadrant.fourth) {\r\n diameter = getCorner.topLeft;\r\n } else if (quadrant.third) {\r\n diameter = getCorner.topRight;\r\n } else if (quadrant.second) {\r\n diameter = getCorner.bottomRight;\r\n } else if (quadrant.first) {\r\n diameter = getCorner.bottomLeft;\r\n }\r\n return diameter * 2;\r\n }\r\n\r\n _appendRipple(target, parent) {\r\n const FIX_ADD_RIPPLE_EFFECT = 50; // delay for active animations\r\n parent.appendChild(target);\r\n setTimeout(() => {\r\n Manipulator.addClass(target, 'active');\r\n }, FIX_ADD_RIPPLE_EFFECT);\r\n }\r\n\r\n _toggleUnbound(target) {\r\n if (this._options.rippleUnbound === true) {\r\n Manipulator.addClass(target, CLASSNAME_UNBOUND);\r\n } else {\r\n target.classList.remove(CLASSNAME_UNBOUND);\r\n }\r\n }\r\n\r\n _addColor(target, parent) {\r\n const IS_BOOTSTRAP_COLOR = BOOTSTRAP_COLORS.find(\r\n (color) => color === this._options.rippleColor.toLowerCase()\r\n );\r\n\r\n if (IS_BOOTSTRAP_COLOR) {\r\n Manipulator.addClass(\r\n parent,\r\n `${CLASSNAME_RIPPLE}-${this._options.rippleColor.toLowerCase()}`\r\n );\r\n } else {\r\n const rgbValue = this._colorToRGB(this._options.rippleColor).join(',');\r\n const gradientImage = GRADIENT.split('{{color}}').join(`${rgbValue}`);\r\n target.style.backgroundImage = `radial-gradient(circle, ${gradientImage})`;\r\n }\r\n }\r\n\r\n _removeOldColorClasses(target) {\r\n const REGEXP_CLASS_COLOR = new RegExp(`${CLASSNAME_RIPPLE}-[a-z]+`, 'gi');\r\n const PARENT_CLASSS_COLOR = target.classList.value.match(REGEXP_CLASS_COLOR) || [];\r\n PARENT_CLASSS_COLOR.forEach((className) => {\r\n target.classList.remove(className);\r\n });\r\n }\r\n\r\n _colorToRGB(color) {\r\n function hexToRgb(color) {\r\n const HEX_COLOR_LENGTH = 7;\r\n const IS_SHORT_HEX = color.length < HEX_COLOR_LENGTH;\r\n if (IS_SHORT_HEX) {\r\n color = `#${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\r\n }\r\n return [\r\n parseInt(color.substr(1, 2), 16),\r\n parseInt(color.substr(3, 2), 16),\r\n parseInt(color.substr(5, 2), 16),\r\n ];\r\n }\r\n\r\n function namedColorsToRgba(color) {\r\n const tempElem = document.body.appendChild(document.createElement('fictum'));\r\n const flag = 'rgb(1, 2, 3)';\r\n tempElem.style.color = flag;\r\n if (tempElem.style.color !== flag) {\r\n return DEFAULT_RIPPLE_COLOR;\r\n }\r\n tempElem.style.color = color;\r\n if (tempElem.style.color === flag || tempElem.style.color === '') {\r\n return DEFAULT_RIPPLE_COLOR;\r\n } // color parse failed\r\n color = getComputedStyle(tempElem).color;\r\n document.body.removeChild(tempElem);\r\n return color;\r\n }\r\n\r\n function rgbaToRgb(color) {\r\n color = color.match(/[.\\d]+/g).map((a) => +Number(a));\r\n color.length = 3;\r\n return color;\r\n }\r\n\r\n if (color.toLowerCase() === 'transparent') {\r\n return DEFAULT_RIPPLE_COLOR;\r\n }\r\n if (color[0] === '#') {\r\n return hexToRgb(color);\r\n }\r\n if (color.indexOf('rgb') === -1) {\r\n color = namedColorsToRgba(color);\r\n }\r\n if (color.indexOf('rgb') === 0) {\r\n return rgbaToRgb(color);\r\n }\r\n\r\n return DEFAULT_RIPPLE_COLOR;\r\n }\r\n\r\n // Static\r\n\r\n static autoInitial(instance) {\r\n return function (event) {\r\n instance._autoInit(event);\r\n };\r\n }\r\n\r\n static staticMethod(instance) {\r\n return function (event) {\r\n instance._method(event);\r\n };\r\n }\r\n\r\n static jQueryInterface(options) {\r\n return this.each(function () {\r\n const data = Data.getData(this, DATA_KEY);\r\n if (!data) {\r\n return new Ripple(this, options);\r\n }\r\n\r\n return null;\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 - auto initialization\r\n * ------------------------------------------------------------------------\r\n */\r\n\r\nSELECTOR_COMPONENT.forEach((slector) => {\r\n EventHandler.one(document, 'click', slector, Ripple.autoInitial(new Ripple()));\r\n});\r\n\r\n/**\r\n * ------------------------------------------------------------------------\r\n * jQuery\r\n * ------------------------------------------------------------------------\r\n * add .ripple to jQuery only if jQuery is present\r\n */\r\n\r\nconst $ = getjQuery();\r\n\r\nif ($) {\r\n const JQUERY_NO_CONFLICT = $.fn[NAME];\r\n $.fn[NAME] = Ripple.jQueryInterface;\r\n $.fn[NAME].Constructor = Ripple;\r\n $.fn[NAME].noConflict = () => {\r\n $.fn[NAME] = JQUERY_NO_CONFLICT;\r\n return Ripple.jQueryInterface;\r\n };\r\n}\r\n\r\nexport default Ripple;\r\n","// BOOTSTRAP CORE COMPONENTS\r\nimport Alert from './bootstrap/src/alert';\r\nimport Button from './bootstrap/src/button';\r\nimport Carousel from './bootstrap/src/carousel';\r\nimport Collapse from './bootstrap/src/collapse';\r\nimport Modal from './bootstrap/src/modal';\r\nimport Popover from './bootstrap/src/popover';\r\nimport ScrollSpy from './bootstrap/src/scrollspy';\r\nimport Tab from './bootstrap/src/tab';\r\nimport Tooltip from './bootstrap/src/tooltip';\r\nimport Toast from './bootstrap/src/toast';\r\n\r\n// MDB FREE COMPONENTS\r\nimport Input from './free/input';\r\nimport Dropdown from './free/dropdown';\r\nimport Treeview from './free/treeview';\r\nimport Ripple from './free/ripple';\r\n\r\n// AUTO INIT\r\n[...document.querySelectorAll('[data-toggle=\"tooltip\"]')].map((tooltip) => new Tooltip(tooltip));\r\n[...document.querySelectorAll('[data-toggle=\"popover\"]')].map((popover) => new Popover(popover));\r\n[...document.querySelectorAll('.toast')].map((toast) => new Toast(toast));\r\n\r\nexport {\r\n Alert,\r\n Button,\r\n Carousel,\r\n Collapse,\r\n Dropdown,\r\n Input,\r\n Modal,\r\n Popover,\r\n Ripple,\r\n ScrollSpy,\r\n Tab,\r\n Toast,\r\n Tooltip,\r\n Treeview,\r\n};\r\n"],"sourceRoot":""}