{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/core-js/modules/es.array.iterator.js","webpack:///./node_modules/core-js/modules/es.symbol.js","webpack:///./node_modules/core-js/modules/es.symbol.description.js","webpack:///./node_modules/core-js/modules/es.object.to-string.js","webpack:///./node_modules/core-js/modules/es.symbol.iterator.js","webpack:///./node_modules/core-js/modules/es.string.iterator.js","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es.reflect.construct.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/lodash.debounce/index.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/internals/to-string.js","webpack:///./node_modules/core-js/internals/iterators.js","webpack:///./node_modules/core-js/modules/es.array.from.js","webpack:///./node_modules/core-js/modules/es.array.slice.js","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///./node_modules/core-js/internals/a-callable.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/is-constructor.js","webpack:///./node_modules/core-js/internals/classof.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/core-js/internals/regexp-exec.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/function-name.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/to-string-tag-support.js","webpack:///./node_modules/core-js/internals/object-get-prototype-of.js","webpack:///./node_modules/core-js/internals/set-to-string-tag.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/try-to-string.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/dom-iterables.js","webpack:///./node_modules/core-js/internals/dom-token-list-prototype.js","webpack:///./node_modules/core-js/internals/correct-prototype-getter.js","webpack:///./node_modules/core-js/internals/a-constructor.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack:///./node_modules/core-js/internals/define-well-known-symbol.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/define-iterator.js","webpack:///./node_modules/core-js/internals/iterators-core.js","webpack:///./node_modules/core-js/internals/string-multibyte.js","webpack:///./node_modules/core-js/internals/get-iterator-method.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/core-js/modules/es.regexp.exec.js","webpack:///./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///./node_modules/eventemitter3/index.js","webpack:///./node_modules/headroom.js/dist/headroom.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/array-species-constructor.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/function-bind.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/object-to-string.js","webpack:///./node_modules/core-js/internals/create-iterator-constructor.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/internals/array-from.js","webpack:///./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///./node_modules/core-js/internals/iterator-close.js","webpack:///./node_modules/core-js/internals/is-array-iterator-method.js","webpack:///./node_modules/core-js/internals/get-iterator.js","webpack:///./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/internals/regexp-flags.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack:///./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/core-js/internals/species-constructor.js","webpack:///./node_modules/core-js/internals/advance-string-index.js","webpack:///./node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/es.array.fill.js","webpack:///./node_modules/core-js/internals/array-fill.js","webpack:///./src/scripts/extends/Component.js","webpack:///./src/scripts/constants/index.js","webpack:///./src/scripts/constants/breakpoints.js","webpack:///./src/scripts/constants/events.js","webpack:///./src/scripts/singletons/EventEmitter.js","webpack:///./src/scripts/singletons/Store.js","webpack:///./src/scripts/utils/dom.js","webpack:///./src/components/Collapse/Collapse.scripts.js","webpack:///./node_modules/ssr-window/ssr-window.esm.js","webpack:///./node_modules/dom7/dom7.esm.js","webpack:///./node_modules/swiper/esm/utils/dom.js","webpack:///./node_modules/swiper/esm/utils/get-support.js","webpack:///./node_modules/swiper/esm/utils/get-device.js","webpack:///./node_modules/swiper/esm/utils/get-browser.js","webpack:///./node_modules/swiper/esm/utils/utils.js","webpack:///./node_modules/swiper/esm/modules/resize/resize.js","webpack:///./node_modules/swiper/esm/modules/observer/observer.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchStart.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchMove.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchEnd.js","webpack:///./node_modules/swiper/esm/components/core/events/onResize.js","webpack:///./node_modules/swiper/esm/components/core/events/onClick.js","webpack:///./node_modules/swiper/esm/components/core/events/onScroll.js","webpack:///./node_modules/swiper/esm/components/core/events/index.js","webpack:///./node_modules/swiper/esm/components/core/check-overflow/index.js","webpack:///./node_modules/swiper/esm/components/core/defaults.js","webpack:///./node_modules/swiper/esm/components/core/core-class.js","webpack:///./node_modules/swiper/esm/components/core/modular.js","webpack:///./node_modules/swiper/esm/components/core/events-emitter.js","webpack:///./node_modules/swiper/esm/components/core/update/index.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSize.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlides.js","webpack:///./node_modules/swiper/esm/components/core/update/updateAutoHeight.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesOffset.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesProgress.js","webpack:///./node_modules/swiper/esm/components/core/update/updateProgress.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesClasses.js","webpack:///./node_modules/swiper/esm/components/core/update/updateActiveIndex.js","webpack:///./node_modules/swiper/esm/components/core/update/updateClickedSlide.js","webpack:///./node_modules/swiper/esm/components/core/translate/index.js","webpack:///./node_modules/swiper/esm/components/core/translate/getTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/setTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/minTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/maxTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/translateTo.js","webpack:///./node_modules/swiper/esm/components/core/transition/index.js","webpack:///./node_modules/swiper/esm/components/core/transition/setTransition.js","webpack:///./node_modules/swiper/esm/components/core/transition/transitionStart.js","webpack:///./node_modules/swiper/esm/components/core/transition/transitionEnd.js","webpack:///./node_modules/swiper/esm/components/core/slide/index.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideTo.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToLoop.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideNext.js","webpack:///./node_modules/swiper/esm/components/core/slide/slidePrev.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideReset.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToClosest.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToClickedSlide.js","webpack:///./node_modules/swiper/esm/components/core/loop/index.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopCreate.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopFix.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopDestroy.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/index.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/setGrabCursor.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/unsetGrabCursor.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/index.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/appendSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/prependSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/addSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/removeSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/removeAllSlides.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/index.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/setBreakpoint.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/getBreakpoint.js","webpack:///./node_modules/swiper/esm/components/core/classes/index.js","webpack:///./node_modules/swiper/esm/components/core/classes/addClasses.js","webpack:///./node_modules/swiper/esm/components/core/classes/removeClasses.js","webpack:///./node_modules/swiper/esm/components/core/images/index.js","webpack:///./node_modules/swiper/esm/components/core/images/loadImage.js","webpack:///./node_modules/swiper/esm/components/core/images/preloadImages.js","webpack:///./node_modules/swiper/esm/components/navigation/navigation.js","webpack:///./node_modules/swiper/esm/components/pagination/pagination.js","webpack:///./node_modules/swiper/esm/components/autoplay/autoplay.js","webpack:///./src/components/Hamburger/Hamburger.scripts.js","webpack:///./src/components/NavCollapse/NavCollapse.scripts.js","webpack:///./src/components/Particles/Particles.scripts.js","webpack:///./src/components/Tabs/Tabs.scripts.js","webpack:///./src/components/index.js","webpack:///./src/components/SiteHeader/SiteHeader.scripts.js","webpack:///./src/components/Flyout/Flyout.scripts.js","webpack:///./src/components/InputSubmit/InputSubmit.scripts.js","webpack:///./src/components/SiteMobileOverlay/SiteMobileOverlay.scripts.js","webpack:///./src/components/SiteMobileNav/SiteMobileNav.scripts.js","webpack:///./src/components/Accordeon/Accordeon.scripts.js","webpack:///./src/components/Carousel/Carousel.scripts.js","webpack:///./src/components/Cookiebanner/Cookiebanner.scripts.js","webpack:///./src/scripts/components/Body.js","webpack:///./src/scripts/components/index.js","webpack:///./src/scripts/main.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","shared","has","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","exec","error","it","Math","check","globalThis","window","self","this","Function","argument","toIndexedObject","addToUnscopables","Iterators","InternalStateModule","defineIterator","setInternalState","set","getInternalState","getterFor","Array","iterated","kind","type","target","index","state","length","undefined","done","Arguments","$","getBuiltIn","IS_PURE","DESCRIPTORS","fails","isArray","isCallable","isObject","isSymbol","anObject","toObject","toPropertyKey","$toString","createPropertyDescriptor","nativeObjectCreate","objectKeys","getOwnPropertyNamesModule","getOwnPropertyNamesExternal","getOwnPropertySymbolsModule","getOwnPropertyDescriptorModule","definePropertyModule","propertyIsEnumerableModule","redefine","sharedKey","hiddenKeys","wellKnownSymbol","wrappedWellKnownSymbolModule","defineWellKnownSymbol","setToStringTag","$forEach","forEach","HIDDEN","TO_PRIMITIVE","ObjectPrototype","$Symbol","$stringify","nativeGetOwnPropertyDescriptor","f","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","a","O","P","Attributes","ObjectPrototypeDescriptor","wrap","tag","description","symbol","$defineProperty","$defineProperties","Properties","properties","keys","concat","$getOwnPropertySymbols","$propertyIsEnumerable","V","$getOwnPropertyDescriptor","descriptor","$getOwnPropertyNames","names","result","push","IS_OBJECT_PROTOTYPE","TypeError","arguments","setter","configurable","unsafe","forced","sham","stat","string","keyFor","sym","useSetter","useSimple","defineProperties","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","stringify","replacer","space","$replacer","args","apply","valueOf","copyConstructorProperties","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","String","symbolPrototype","constructor","symbolToString","toString","nativeSymbol","regexp","desc","slice","replace","TO_STRING_TAG_SUPPORT","charAt","point","DOMIterables","DOMTokenListPrototype","ArrayIteratorMethods","createNonEnumerableProperty","ITERATOR","TO_STRING_TAG","ArrayValues","values","handlePrototype","CollectionPrototype","COLLECTION_NAME","METHOD_NAME","nativeGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","getPrototypeOf","aConstructor","nativeConstruct","NEW_TARGET_BUG","F","ARGS_BUG","FORCED","construct","Target","newTarget","$args","proto","instance","setGlobal","isForced","options","source","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","noTargetGet","hasOwn","IE8_DOM_DEFINE","requireObjectCoercible","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","freeSelf","root","objectToString","nativeMax","max","nativeMin","min","now","Date","toNumber","isObjectLike","other","isBinary","test","func","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","thisArg","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","cancel","clearTimeout","flush","MapShim","Map","getIndex","arr","some","entry","class_1","__entries__","delete","entries","splice","clear","callback","ctx","_i","_a","isBrowser","document","global$1","requestAnimationFrame$1","requestAnimationFrame","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","resolvePending","proxy","timeoutCallback","timeStamp","throttle","addObserver","observer","indexOf","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","filter","gatherActive","hasActive","broadcastActive","addEventListener","observe","attributes","childList","characterData","subtree","removeEventListener","disconnect","_b","propertyName","getInstance","instance_","defineConfigurable","props","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","reduce","size","position","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","left","right","vertPad","top","bottom","width","height","boxSizing","round","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","abs","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","x","y","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","_this","observation","map","WeakMap","ResizeObserver","method","IndexedObject","aFunction","namespace","toInteger","inspectSource","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","enforceInternalState","enforce","TEMPLATE","split","simple","join","activeXDocument","enumBugKeys","html","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","domain","style","display","appendChild","src","contentWindow","open","bitmap","NATIVE_WEAK_MAP","objectHas","store","wmget","wmhas","wmset","metadata","facade","STATE","TYPE","classof","from","checkCorrectnessOfIteration","iterable","isConstructor","toAbsoluteIndex","toLength","createProperty","HAS_SPECIES_SUPPORT","arrayMethodHasSpeciesSupport","SPECIES","nativeSlice","start","end","Constructor","k","fin","FUNCTION_NAME_EXISTS","EXISTS","FunctionPrototype","FunctionPrototypeToString","nameRE","match","$map","callbackfn","toPrimitive","aCallable","tryToString","version","copyright","arraySpeciesCreate","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","$this","that","specificCreate","boundFunction","every","find","findIndex","filterReject","empty","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","called","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","V8_VERSION","array","foo","Boolean","re1","re2","regexpFlags","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeExec","RegExp","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","group","re","str","raw","groups","sticky","flags","charsAdded","strCopy","multiline","input","g","e","userAgent","process","Deno","versions","v8","id","postfix","random","createElement","functionToString","getDescriptor","PROPER","internalObjectKeys","ceil","floor","isNaN","integer","TAG","propertyKey","propertyIsEnumerable","NASHORN_BUG","1","iterator","ownKeys","fn","b","arraySpeciesConstructor","originalArray","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","classList","path","NAME","UNSCOPABLES","ArrayPrototype","FunctionName","createIteratorConstructor","setPrototypeOf","IteratorsCore","PROPER_FUNCTION_NAME","IteratorPrototype","BUGGY_SAFARI_ITERATORS","returnThis","Iterable","IteratorConstructor","next","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","CONVERT_TO_STRING","pos","first","second","S","charCodeAt","codeAt","getMethod","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","arg","len","E","A","$RegExp","prefix","Events","EE","context","once","addListener","emitter","event","listener","evt","_events","_eventsCount","clearEvent","EventEmitter","__proto__","eventNames","events","listeners","handlers","ee","listenerCount","emit","a1","a2","a3","a4","a5","removeListener","j","on","removeAllListeners","off","prefixed","normalizeUpDown","down","up","Headroom","elem","assign","classes","tolerance","offset","initialised","frozen","init","cutsTheMustard","addClass","scrollTracker","element","rafId","isPassiveSupported","supported","err","passiveEventsSupported","scrolled","scroller","obj","nodeType","isDocument","doc","win","body","scrollHeight","offsetHeight","innerHeight","scrollY","pageYOffset","parentNode","scrollTop","elementScroller","createScroller","lastScrollY","details","update","direction","distance","isOutOfBounds","toleranceExceeded","handleScroll","eventOptions","passive","capture","destroy","cancelAnimationFrame","trackScroll","removeClass","unpin","hasClass","onUnpin","pin","onPin","freeze","unfreeze","onTop","notTop","onNotTop","onBottom","notBottom","onNotBottom","shouldUnpin","shouldPin","className","add","remove","cls","contains","pinned","unpinned","initial","factory","ordinaryToPrimitive","pref","exoticToPrim","val","IS_INCLUDES","el","fromIndex","includes","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","toLowerCase","C","STRICT_METHOD","arrayMethodIsStrict","factories","argsLength","list","partArgs","windowNames","getWindowNames","aPossiblePrototype","CORRECT_SETTER","callWithSafeIterationClosing","isArrayIteratorMethod","getIterator","getIteratorMethod","arrayLike","IS_CONSTRUCTOR","argumentsLength","mapfn","mapping","step","iteratorMethod","iteratorClose","ENTRIES","innerResult","innerError","usingIterator","SAFE_CLOSING","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","$filter","ignoreCase","dotAll","unicode","fixRegExpWellKnownSymbolLogic","isRegExp","speciesConstructor","advanceStringIndex","callRegExpExec","regexpExec","arrayPush","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","lim","lastLength","output","lastLastIndex","separatorCopy","splitter","rx","res","unicodeMatching","q","z","originalExec","RegExpPrototype","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","nativeMethod","arg2","forceStringMethod","$exec","MATCH","defaultConstructor","R","fill","endPos","mounted","params","BREAKPOINTS","3","4","7","9","12","EVENTS","HAMBURGER_OPEN","HAMBURGER_CLOSE","SITE_HEADER_HAMBURGER_OPEN","SITE_HEADER_HAMBURGER_CLOSE","SITE_MOBILE_OVERLAY_SHOW","SITE_MOBILE_OVERLAY_HIDE","Emitter","isHamburgerOpen","selector","Module","els","querySelectorAll","Store","CONSTANTS","instances","getBoundingBox","bounds","getBoundingClientRect","getBounds","trigger","toggle","resizeObserver","debounce","handleResize","openCb","toggleClass","querySelector","contentContainer","isToggled","getHeight","Component","extend","ssrDocument","activeElement","blur","nodeName","getElementById","createEvent","initEvent","children","childNodes","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","ssrWindow","navigator","history","replaceState","pushState","go","back","CustomEvent","getPropertyValue","Image","screen","matchMedia","getWindow","Reflect","Proxy","_construct","Parent","Class","_wrapNativeSuper","_cache","Wrapper","Dom7","_Array","subClass","superClass","items","ReferenceError","arrayFlat","arrayFilter","trim","toCreate","tempParent","innerHTML","qsa","uniqueArray","arrayUnique","noTrigger","shortcut","_len","_key","Methods","classNames","_el$classList","_len2","_key2","_el$classList2","_len4","_key4","_len3","_key3","attr","attrs","getAttribute","attrName","removeAttr","removeAttribute","transform","transition","duration","transitionDuration","_len5","_key5","eventType","targetSelector","handleLiveEvent","eventData","dom7EventData","unshift","is","_parents","parents","handleEvent","_event","dom7LiveListeners","proxyListener","dom7Listeners","_len6","_key6","handler","dom7proxy","_len9","_key9","detail","bubbles","cancelable","dataIndex","dispatchEvent","transitionEnd","dom","fireCallBack","outerWidth","includeMargins","_styles","offsetWidth","outerHeight","_styles2","box","clientTop","clientLeft","scrollLeft","scrollX","css","_prop","each","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","prepend","insertBefore","nextElementSibling","nextAll","nextEls","_next","prev","previousElementSibling","prevAll","prevEls","_prev","parent","_parent","closest","foundElements","found","removeChild","methodName","browser","nextTick","getTranslate","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","WebKitCSSMatrix","webkitTransform","MozTransform","OTransform","MsTransform","msTransform","m41","m42","isNode","node","HTMLElement","to","noExtend","nextSource","keysArray","nextIndex","nextKey","__swiper__","bindModuleMethods","subKey","classesToSelector","createElementIfNotDefined","$container","createElements","checkProps","auto","getSupport","touch","DocumentTouch","pointerEvents","PointerEvent","maxTouchPoints","passiveListener","supportsPassive","opts","gestures","calcSupport","getDevice","overrides","_temp","support","platform","ua","device","ios","android","screenWidth","screenHeight","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","isEdge","isSafari","isWebView","calcBrowser","swiper","resize","createObserver","destroyed","initialized","newWidth","newHeight","_ref","contentBoxSize","inlineSize","blockSize","resizeHandler","orientationChangeHandler","_extends","Observer","attach","WebkitMutationObserver","mutations","observerUpdate","observeParents","containerParents","$el","observeSlideChildren","$wrapperEl","onTouchStart","touchEventsData","touches","enabled","animating","preventInteractionOnTransition","originalEvent","$targetEl","touchEventsTarget","wrapperEl","isTouchEvent","which","button","isTouched","isMoved","noSwipingClass","shadowRoot","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","getRootNode","closestElement","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","innerWidth","preventDefault","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","updateSize","swipeDirection","threshold","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","onTouchMove","rtl","rtlTranslate","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","loop","isVertical","translate","maxTranslate","minTranslate","diffX","diffY","sqrt","pow","touchAngle","isHorizontal","atan2","PI","cssMode","touchMoveStopPropagation","nested","stopPropagation","loopFix","startTranslate","setTransition","allowMomentumBounce","grabCursor","allowSlideNext","allowSlidePrev","setGrabCursor","diff","touchRatio","currentTranslate","disableParentSwiper","resistanceRatio","resistance","followFinger","freeMode","watchSlidesProgress","watchSlidesVisibility","updateActiveIndex","updateSlidesClasses","velocities","updateProgress","setTranslate","onTouchEnd","slidesGrid","snapGrid","currentPos","touchEndTime","timeDiff","updateClickedSlide","lastClickTime","slideTo","activeIndex","slides","freeModeMomentum","lastMoveEvent","pop","velocityEvent","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","freeModeMomentumBounceRatio","freeModeMomentumBounce","centeredSlides","freeModeSticky","nextSlide","moveDistance","currentSlideSize","slidesSizesGrid","speed","slideToClosest","transitionStart","longSwipesMs","stopIndex","groupSize","slidesPerGroupSkip","slidesPerGroup","_increment","ratio","increment","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","breakpoints","setBreakpoint","updateSlides","slidesPerView","isEnd","isBeginning","autoplay","running","paused","run","watchOverflow","checkOverflow","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","previousTranslate","scrollWidth","translatesDiff","progress","dummyEventAttached","dummyEventListener","initialSlide","updateOnWindowResize","url","autoHeight","setWrapperSize","virtualTranslate","effect","breakpointsBase","spaceBetween","slidesPerColumn","slidesPerColumnFill","centeredSlidesBounds","slidesOffsetBefore","slidesOffsetAfter","normalizeSlideIndex","centerInsufficientSlides","roundLengths","simulateTouch","uniqueNavElements","slideToClickedSlide","preloadImages","updateOnImagesReady","loopAdditionalSlides","loopedSlides","loopFillGroupWithBlank","loopPreventsSlide","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","_emitClasses","prototypes","modular","useParams","instanceParams","moduleName","useModules","modulesParams","moduleParams","moduleEventName","eventsEmitter","priority","eventsListeners","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventHandler","eventsArray","Number","getDirectionLabel","getDirectionPropertyValue","label","swiperSize","wrongRTL","isVirtual","virtual","previousSlidesLength","slidesLength","offsetBefore","offsetAfter","previousSnapGridLength","previousSlidesGridLength","slidePosition","prevSlideSize","slidesNumberEvenToRows","slideSize","virtualSize","marginLeft","marginBottom","marginTop","marginRight","newSlidesGrid","_$wrapperEl$css","_$wrapperEl$css2","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","column","row","groupIndex","slideIndexInGroup","columnsInGroup","order","slideStyles","currentTransform","currentWebKitTransform","paddingLeft","paddingRight","_slide$","swiperSlideSize","slidesGridItem","_i2","_slidesGridItem","_slides$filter$css","_","slideIndex","allSlidesSize","slideSizeValue","maxSnap","snap","_allSlidesSize","allSlidesOffset","snapIndex","updateSlidesOffset","updateAutoHeight","activeSlides","getSlideByIndex","visibleSlides","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","slideProgress","slideBefore","slideAfter","multiplier","wasBeginning","wasEnd","activeSlide","realIndex","prevSlide","emitSlidesClasses","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","skip","slideFound","clickedSlide","clickedIndex","byController","translateTo","runCallbacks","translateBounds","internal","newTranslate","_wrapperEl$scrollTo","isH","scrollTo","behavior","onTranslateToWrapperTransitionEnd","dir","Error","indexAsNumber","isFinite","normalizedTranslate","normalizedGird","normalizedGridNext","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","slideNext","_clientLeft","slidePrev","prevIndex","normalizedSnapGrid","prevSnap","slideReset","currentSnap","slidesPerViewDynamic","slideToIndex","loopCreate","blankSlidesNum","blankNode","prependSlides","appendSlides","cloneNode","loopDestroy","moving","isLocked","cursor","unsetGrabCursor","manipulation","appendSlide","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","attachEvents","touchEvents","onClick","move","detachEvents","_swiper$loopedSlides","breakpoint","getBreakpoint","currentBreakpoint","breakpointOnlyParams","param","paramValue","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","emitContainerClasses","directionChanged","needsReLoop","changeDirection","isEnabled","disable","enable","containerEl","currentHeight","points","minRatio","substr","sort","_points$i","wasLocked","lastSlidePosition","addClasses","resultClasses","suffixes","item","removeClasses","images","loadImage","imageEl","srcset","sizes","checkForComplete","image","onReady","complete","onload","onerror","imagesLoaded","imagesToLoad","currentSrc","extendedDefaults","Swiper","swipers","newParams","moduleParamName","desktop","swiperParams","defaults","passedParams","eventName","touchEventsTouch","touchEventsDesktop","clickTimeout","protoProps","staticProps","_proto","setProgress","current","getSlideClasses","slideEl","updates","spv","breakLoop","translateValue","newDirection","needUpdate","currentDirection","mount","getWrapperSelector","getWrapper","wrapper","deleteInstance","cleanStyles","extendDefaults","newDefaults","installModule","use","prototypeGroup","protoMethod","Navigation","toggleEl","disabled","disabledClass","tagName","_swiper$navigation","$nextEl","$prevEl","lockClass","onPrevClick","onNextClick","_swiper$navigation2","hideOnClick","hiddenClass","toEdge","fromEdge","_swiper$navigation3","click","_swiper$navigation4","targetEl","pagination","clickable","isHidden","Pagination","total","paginationType","bullets","firstIndex","midIndex","dynamicBullets","bulletSize","dynamicMainBullets","dynamicBulletIndex","bulletActiveClass","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","offsetProp","currentClass","formatFractionCurrent","totalClass","formatFractionTotal","progressbarDirection","progressbarOpposite","scale","scaleX","scaleY","progressbarFillClass","renderCustom","render","paginationHTML","numberOfBullets","renderBullet","bulletClass","bulletElement","renderFraction","renderProgressbar","clickableClass","modifierClass","progressbarOppositeClass","number","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","Autoplay","$activeSlideEl","timeout","autoplayResult","reverseDirection","stopOnLastSlide","stop","pause","waitForTransition","onTransitionEnd","onVisibilityChange","visibilityState","onMouseEnter","disableOnInteraction","onMouseLeave","attachMouseEvents","pauseOnMouseEnter","detachMouseEvents","beforeTransitionStart","sliderFirstMove","touchEnd","links","link","tabIndex","darkClass","isDark","initialIsDark","headRoom","hamburger","Hamburger","onEnableHamburger","handleOffset","resetOffset","boundingBox","setOffsetFromLeft","setOffsetFromRight","maxWidth","viewportSpacing","Collapse","onFocus","onBlur","isFocusedClass","isFocused","initIsFocused","focus","NavCollapse","onSiteHeaderHamburgerOpen","onSiteHeaderHamburgerClose","isShownClass","isShown","initIsShown","show","hide","collapses","initCollapses","disableCollapses","collapse","initSwiper","tabs","initTabs","tab","currentTarget","scrollIntoView","block","inline","fps","maxDist","color","getWidth","useFullWidth","hasAttribute","displayWidth","initPoints","canvas","getContext","alpha","generatePoints","clearRect","collision","draw","vx","vy","diameter","amount","beginPath","fillStyle","arc","closePath","strokeStyle","stroke","ms","pointObj","dist","moveTo","lineTo","lineWidth","scaleCanvas","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","acceptAll","acceptAllCookies","getPreferences","getPreferencesBanner","acceptAllPreferences","goBack","goBackToAllBanner","acceptSelection","getAllCheckBoxes","preferencesBanner","acceptAllBanner","daysToExpire","setMonth","getMonth","hasCookie","getCookie","checkboxes","checkboxIDs","maxCookieLevel","cookie","ca","decodeURIComponent","substring","toggleSiteMobileOverlay","isScrollDisabledClass","onreadystatechange","readyState","initComponent","globalComponents","components"],"mappings":"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","file":"main.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"C:\\\\agent\\\\_work\\\\104\\\\s\\\\src\\\\assets\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 135);\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) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument === 'function';\n};\n","'use strict';\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.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\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.es/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.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'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 fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\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 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 $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\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 = toPropertyKey(V);\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 = toPropertyKey(P);\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.es/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 : $toString(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.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = $toString(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.es/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.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.es/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.es/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 -- required for `.length`\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 (isCallable($replacer)) 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.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n var valueOf = $Symbol[PROTOTYPE].valueOf;\n redefine($Symbol[PROTOTYPE], TO_PRIMITIVE, function () {\n return valueOf.apply(this, arguments);\n });\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","// `Symbol.prototype.description` getter\n// https://tc39.es/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 isCallable = require('../internals/is-callable');\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 && isCallable(NativeSymbol) && (!('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 nativeSymbol = 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 = nativeSymbol ? 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 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.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\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.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\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\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\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\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\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.es/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 getBuiltIn = require('../internals/get-built-in');\nvar aConstructor = require('../internals/a-constructor');\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.es/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 aConstructor(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aConstructor(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","var isObject = require('../internals/is-object');\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : isCallable(it);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\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 global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar has = require('../internals/has');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!has(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","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 toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\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 shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\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\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","var classof = require('../internals/classof');\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","module.exports = {};\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 // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\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');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/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 }, {\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 (isConstructor(Constructor) && (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 DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\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.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : String(key);\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.18.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = false;\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 = {};\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, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = constructorRegExp.exec;\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(function () { /* empty */ });\n\nvar isConstructorModern = function (argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(Object, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function (argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n // we can't check .prototype since constructors produced by .bind haven't it\n } return INCORRECT_TO_STRING || !!exec.call(constructorRegExp, inspectSource(argument));\n};\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","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';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n // eslint-disable-next-line max-statements -- TODO\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = patchedExec.call(raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = str.slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str.charAt(re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","var 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 propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var isCallable = require('../internals/is-callable');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && Object(it) instanceof $Symbol;\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\n\nmodule.exports = function (key, value) {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var 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 isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar has = require('../internals/has');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = has(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\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","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\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 has = require('../internals/has');\nvar isCallable = require('../internals/is-callable');\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.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (has(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof Object ? ObjectPrototype : null;\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","module.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var 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 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","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var aCallable = require('../internals/a-callable');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aCallable(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","// 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","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/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 IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\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 Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\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 (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n redefine(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.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n }\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 // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\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\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n redefine(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var toInteger = require('../internals/to-integer');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.codePointAt` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(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.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\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 getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\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.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = 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 exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nexports.UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n","/*!\n * headroom.js v0.12.0 - Give your page some headroom. Hide your header until you need it\n * Copyright (c) 2020 Nick Williams - http://wicky.nillia.ms/headroom.js\n * License: MIT\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.Headroom = factory());\n}(this, function () { 'use strict';\n\n function isBrowser() {\n return typeof window !== \"undefined\";\n }\n\n /**\n * Used to detect browser support for adding an event listener with options\n * Credit: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener\n */\n function passiveEventsSupported() {\n var supported = false;\n\n try {\n var options = {\n // eslint-disable-next-line getter-return\n get passive() {\n supported = true;\n }\n };\n window.addEventListener(\"test\", options, options);\n window.removeEventListener(\"test\", options, options);\n } catch (err) {\n supported = false;\n }\n\n return supported;\n }\n\n function isSupported() {\n return !!(\n isBrowser() &&\n function() {}.bind &&\n \"classList\" in document.documentElement &&\n Object.assign &&\n Object.keys &&\n requestAnimationFrame\n );\n }\n\n function isDocument(obj) {\n return obj.nodeType === 9; // Node.DOCUMENT_NODE === 9\n }\n\n function isWindow(obj) {\n // `obj === window` or `obj instanceof Window` is not sufficient,\n // as the obj may be the window of an iframe.\n return obj && obj.document && isDocument(obj.document);\n }\n\n function windowScroller(win) {\n var doc = win.document;\n var body = doc.body;\n var html = doc.documentElement;\n\n return {\n /**\n * @see http://james.padolsey.com/javascript/get-document-height-cross-browser/\n * @return {Number} the scroll height of the document in pixels\n */\n scrollHeight: function() {\n return Math.max(\n body.scrollHeight,\n html.scrollHeight,\n body.offsetHeight,\n html.offsetHeight,\n body.clientHeight,\n html.clientHeight\n );\n },\n\n /**\n * @see http://andylangton.co.uk/blog/development/get-viewport-size-width-and-height-javascript\n * @return {Number} the height of the viewport in pixels\n */\n height: function() {\n return win.innerHeight || html.clientHeight || body.clientHeight;\n },\n\n /**\n * Gets the Y scroll position\n * @return {Number} pixels the page has scrolled along the Y-axis\n */\n scrollY: function() {\n if (win.pageYOffset !== undefined) {\n return win.pageYOffset;\n }\n\n return (html || body.parentNode || body).scrollTop;\n }\n };\n }\n\n function elementScroller(element) {\n return {\n /**\n * @return {Number} the scroll height of the element in pixels\n */\n scrollHeight: function() {\n return Math.max(\n element.scrollHeight,\n element.offsetHeight,\n element.clientHeight\n );\n },\n\n /**\n * @return {Number} the height of the element in pixels\n */\n height: function() {\n return Math.max(element.offsetHeight, element.clientHeight);\n },\n\n /**\n * Gets the Y scroll position\n * @return {Number} pixels the element has scrolled along the Y-axis\n */\n scrollY: function() {\n return element.scrollTop;\n }\n };\n }\n\n function createScroller(element) {\n return isWindow(element) ? windowScroller(element) : elementScroller(element);\n }\n\n /**\n * @param element EventTarget\n */\n function trackScroll(element, options, callback) {\n var isPassiveSupported = passiveEventsSupported();\n var rafId;\n var scrolled = false;\n var scroller = createScroller(element);\n var lastScrollY = scroller.scrollY();\n var details = {};\n\n function update() {\n var scrollY = Math.round(scroller.scrollY());\n var height = scroller.height();\n var scrollHeight = scroller.scrollHeight();\n\n // reuse object for less memory churn\n details.scrollY = scrollY;\n details.lastScrollY = lastScrollY;\n details.direction = scrollY > lastScrollY ? \"down\" : \"up\";\n details.distance = Math.abs(scrollY - lastScrollY);\n details.isOutOfBounds = scrollY < 0 || scrollY + height > scrollHeight;\n details.top = scrollY <= options.offset[details.direction];\n details.bottom = scrollY + height >= scrollHeight;\n details.toleranceExceeded =\n details.distance > options.tolerance[details.direction];\n\n callback(details);\n\n lastScrollY = scrollY;\n scrolled = false;\n }\n\n function handleScroll() {\n if (!scrolled) {\n scrolled = true;\n rafId = requestAnimationFrame(update);\n }\n }\n\n var eventOptions = isPassiveSupported\n ? { passive: true, capture: false }\n : false;\n\n element.addEventListener(\"scroll\", handleScroll, eventOptions);\n update();\n\n return {\n destroy: function() {\n cancelAnimationFrame(rafId);\n element.removeEventListener(\"scroll\", handleScroll, eventOptions);\n }\n };\n }\n\n function normalizeUpDown(t) {\n return t === Object(t) ? t : { down: t, up: t };\n }\n\n /**\n * UI enhancement for fixed headers.\n * Hides header when scrolling down\n * Shows header when scrolling up\n * @constructor\n * @param {DOMElement} elem the header element\n * @param {Object} options options for the widget\n */\n function Headroom(elem, options) {\n options = options || {};\n Object.assign(this, Headroom.options, options);\n this.classes = Object.assign({}, Headroom.options.classes, options.classes);\n\n this.elem = elem;\n this.tolerance = normalizeUpDown(this.tolerance);\n this.offset = normalizeUpDown(this.offset);\n this.initialised = false;\n this.frozen = false;\n }\n Headroom.prototype = {\n constructor: Headroom,\n\n /**\n * Start listening to scrolling\n * @public\n */\n init: function() {\n if (Headroom.cutsTheMustard && !this.initialised) {\n this.addClass(\"initial\");\n this.initialised = true;\n\n // defer event registration to handle browser\n // potentially restoring previous scroll position\n setTimeout(\n function(self) {\n self.scrollTracker = trackScroll(\n self.scroller,\n { offset: self.offset, tolerance: self.tolerance },\n self.update.bind(self)\n );\n },\n 100,\n this\n );\n }\n\n return this;\n },\n\n /**\n * Destroy the widget, clearing up after itself\n * @public\n */\n destroy: function() {\n this.initialised = false;\n Object.keys(this.classes).forEach(this.removeClass, this);\n this.scrollTracker.destroy();\n },\n\n /**\n * Unpin the element\n * @public\n */\n unpin: function() {\n if (this.hasClass(\"pinned\") || !this.hasClass(\"unpinned\")) {\n this.addClass(\"unpinned\");\n this.removeClass(\"pinned\");\n\n if (this.onUnpin) {\n this.onUnpin.call(this);\n }\n }\n },\n\n /**\n * Pin the element\n * @public\n */\n pin: function() {\n if (this.hasClass(\"unpinned\")) {\n this.addClass(\"pinned\");\n this.removeClass(\"unpinned\");\n\n if (this.onPin) {\n this.onPin.call(this);\n }\n }\n },\n\n /**\n * Freezes the current state of the widget\n * @public\n */\n freeze: function() {\n this.frozen = true;\n this.addClass(\"frozen\");\n },\n\n /**\n * Re-enables the default behaviour of the widget\n * @public\n */\n unfreeze: function() {\n this.frozen = false;\n this.removeClass(\"frozen\");\n },\n\n top: function() {\n if (!this.hasClass(\"top\")) {\n this.addClass(\"top\");\n this.removeClass(\"notTop\");\n\n if (this.onTop) {\n this.onTop.call(this);\n }\n }\n },\n\n notTop: function() {\n if (!this.hasClass(\"notTop\")) {\n this.addClass(\"notTop\");\n this.removeClass(\"top\");\n\n if (this.onNotTop) {\n this.onNotTop.call(this);\n }\n }\n },\n\n bottom: function() {\n if (!this.hasClass(\"bottom\")) {\n this.addClass(\"bottom\");\n this.removeClass(\"notBottom\");\n\n if (this.onBottom) {\n this.onBottom.call(this);\n }\n }\n },\n\n notBottom: function() {\n if (!this.hasClass(\"notBottom\")) {\n this.addClass(\"notBottom\");\n this.removeClass(\"bottom\");\n\n if (this.onNotBottom) {\n this.onNotBottom.call(this);\n }\n }\n },\n\n shouldUnpin: function(details) {\n var scrollingDown = details.direction === \"down\";\n\n return scrollingDown && !details.top && details.toleranceExceeded;\n },\n\n shouldPin: function(details) {\n var scrollingUp = details.direction === \"up\";\n\n return (scrollingUp && details.toleranceExceeded) || details.top;\n },\n\n addClass: function(className) {\n this.elem.classList.add.apply(\n this.elem.classList,\n this.classes[className].split(\" \")\n );\n },\n\n removeClass: function(className) {\n this.elem.classList.remove.apply(\n this.elem.classList,\n this.classes[className].split(\" \")\n );\n },\n\n hasClass: function(className) {\n return this.classes[className].split(\" \").every(function(cls) {\n return this.classList.contains(cls);\n }, this.elem);\n },\n\n update: function(details) {\n if (details.isOutOfBounds) {\n // Ignore bouncy scrolling in OSX\n return;\n }\n\n if (this.frozen === true) {\n return;\n }\n\n if (details.top) {\n this.top();\n } else {\n this.notTop();\n }\n\n if (details.bottom) {\n this.bottom();\n } else {\n this.notBottom();\n }\n\n if (this.shouldUnpin(details)) {\n this.unpin();\n } else if (this.shouldPin(details)) {\n this.pin();\n }\n }\n };\n\n /**\n * Default options\n * @type {Object}\n */\n Headroom.options = {\n tolerance: {\n up: 0,\n down: 0\n },\n offset: 0,\n scroller: isBrowser() ? window : null,\n classes: {\n frozen: \"headroom--frozen\",\n pinned: \"headroom--pinned\",\n unpinned: \"headroom--unpinned\",\n top: \"headroom--top\",\n notTop: \"headroom--not-top\",\n bottom: \"headroom--bottom\",\n notBottom: \"headroom--not-bottom\",\n initial: \"headroom\"\n }\n };\n\n Headroom.cutsTheMustard = isSupported();\n\n return Headroom;\n\n}));\n","var isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = exoticToPrim.call(input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = fn.call(input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = fn.call(input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var 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 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 -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar aCallable = require('../internals/a-callable');\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 -- we have no proper alternatives, IE8- only\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.es/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aCallable(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","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = 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 $getOwnPropertyNames(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 : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\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.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\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","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (argument) {\n if (typeof argument === 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\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 isConstructor = require('../internals/is-constructor');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\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 = IS_CONSTRUCTOR ? new this(length) : Array(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');\nvar iteratorClose = require('../internals/iterator-close');\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 } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","var anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = innerResult.call(iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\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 aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(iteratorMethod.call(argument));\n throw TypeError(String(argument) + ' is not iterable');\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 es/no-array-from, no-throw-literal -- required for testing\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 $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = toString(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : getMethod(separator, SPLIT);\n return splitter\n ? splitter.call(separator, O, limit)\n : internalSplit.call(toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n if (res.done) return res.value;\n\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n redefine(String.prototype, KEY, methods[0]);\n redefine(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","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.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/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 : aConstructor(S);\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = exec.call(R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return regexpExec.call(R, S);\n throw TypeError('RegExp#exec called on incompatible receiver');\n};\n","var $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","export default () =>\r\n\tclass Component {\r\n\t\tconstructor(el, ...params) {\r\n\t\t\tthis.el = el;\r\n\r\n\t\t\tif (this.mounted) {\r\n\t\t\t\tthis.mounted(...params);\r\n\t\t\t}\r\n\r\n\t\t\tif (this.events) {\r\n\t\t\t\tthis.events();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n","import BREAKPOINTS from \"./breakpoints\";\r\nimport EVENTS from \"./events\";\r\n\r\nexport default {\r\n\tBREAKPOINTS,\r\n\tEVENTS,\r\n};\r\n","export default {\r\n\t3: 360,\r\n\t4: 480,\r\n\t7: 720,\r\n\t9: 992,\r\n\t12: 1200,\r\n};\r\n","export default {\r\n\tHAMBURGER_OPEN: \"hamburger-open\",\r\n\tHAMBURGER_CLOSE: \"hamburger-close\",\r\n\tSITE_HEADER_HAMBURGER_OPEN: \"site-header-hamburger-open\",\r\n\tSITE_HEADER_HAMBURGER_CLOSE: \"site-header-hamburger-close\",\r\n\tSITE_MOBILE_OVERLAY_SHOW: \"site-mobile-overlay-show\",\r\n\tSITE_MOBILE_OVERLAY_HIDE: \"site-mobile-overlay-hide\",\r\n};\r\n","import Emitter from \"eventemitter3\";\r\n\r\nlet instance = null;\r\n\r\nclass EventEmitter extends Emitter {\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\tif (!instance) {\r\n\t\t\tinstance = this;\r\n\t\t}\r\n\r\n\t\treturn instance;\r\n\t}\r\n}\r\n\r\nexport default new EventEmitter();\r\n","let instance = null;\r\n\r\nclass Store {\r\n\tconstructor() {\r\n\t\tif (!instance) {\r\n\t\t\tinstance = this;\r\n\t\t}\r\n\r\n\t\tthis.state();\r\n\r\n\t\treturn instance;\r\n\t}\r\n\r\n\tstate() {\r\n\t\tthis.isHamburgerOpen = false;\r\n\t}\r\n}\r\n\r\nexport default new Store();\r\n","import CONSTANTS from \"@/scripts/constants\";\r\nimport { EventEmitter, Store } from \"@/scripts/singletons\";\r\n\r\nexport const init = (selector, Module = null, params = {}) => {\r\n\tconst els = typeof selector === \"string\" ? document.querySelectorAll(selector) || [] : [selector];\r\n\tconst ctx = {\r\n\t\tEventEmitter,\r\n\t\tStore,\r\n\t\tCONSTANTS,\r\n\t};\r\n\r\n\tconst instances = Module ? [...els].map((el) => new (Module(ctx))(el, params)) : [...els];\r\n\r\n\tif (instances.length === 1) {\r\n\t\treturn instances[0] || null;\r\n\t}\r\n\r\n\treturn instances || [];\r\n};\r\n\r\nexport const getBounds = (el) => el.getBoundingClientRect() || {};\r\n\r\nexport const getBoundingBox = (el, keys) => {\r\n\tconst bounds = getBounds(el);\r\n\r\n\treturn keys ? keys.map((key) => bounds[key]) : bounds;\r\n};\r\n\r\nexport const getKeyboardFocusableElements = (parent) =>\r\n\t[...parent.querySelectorAll('a, button, input, textarea, select, details,[tabindex]:not([tabindex=\"-1\"])')].filter(\r\n\t\t(el) => !el.hasAttribute(\"disabled\")\r\n\t);\r\n","import { Component } from \"@/scripts/extends\";\r\nimport { getBoundingBox } from \"@/scripts/utils/dom\";\r\nimport debounce from \"lodash.debounce\";\r\nimport ResizeObserver from \"resize-observer-polyfill\";\r\n\r\nexport default (ctx) =>\r\n\tclass Collapse extends Component(ctx) {\r\n\t\tevents() {\r\n\t\t\tthis.trigger.addEventListener(\"click\", () => this.toggle());\r\n\t\t\tthis.resizeObserver = new ResizeObserver(debounce(() => this.handleResize(), 100));\r\n\t\t\tthis.resizeObserver.observe(document.body);\r\n\t\t}\r\n\r\n\t\tmounted({ index, openCb = () => null } = {}) {\r\n\t\t\tthis.openCb = openCb;\r\n\t\t\tthis.index = index;\r\n\r\n\t\t\tthis.toggleClass = \"is-open\";\r\n\t\t\tthis.trigger = this.el.querySelector(\".c-collapse__trigger\");\r\n\t\t\tthis.content = this.el.querySelector(\".c-collapse__content\");\r\n\t\t\tthis.contentContainer = this.el.querySelector(\".c-collapse__content-container\");\r\n\r\n\t\t\tthis.isToggled = this.isToggled();\r\n\t\t}\r\n\r\n\t\tisToggled() {\r\n\t\t\treturn this.el.classList.contains(\".is-open\");\r\n\t\t}\r\n\r\n\t\ttoggle() {\r\n\t\t\tthis.isToggled = !this.isToggled;\r\n\r\n\t\t\tif (this.isToggled) {\r\n\t\t\t\tthis.open();\r\n\t\t\t} else {\r\n\t\t\t\tthis.close();\r\n\t\t\t}\r\n\r\n\t\t\tif (this.openCb) {\r\n\t\t\t\tthis.openCb({\r\n\t\t\t\t\tindex: this.index,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tgetHeight() {\r\n\t\t\treturn getBoundingBox(this.contentContainer, [\"height\"])[0];\r\n\t\t}\r\n\r\n\t\topen() {\r\n\t\t\tthis.update();\r\n\r\n\t\t\tthis.el.classList.add(this.toggleClass);\r\n\r\n\t\t\tthis.isToggled = true;\r\n\t\t}\r\n\r\n\t\tclose() {\r\n\t\t\tthis.content.style.height = 0;\r\n\r\n\t\t\tthis.el.classList.remove(this.toggleClass);\r\n\r\n\t\t\tthis.isToggled = false;\r\n\t\t}\r\n\r\n\t\tupdate() {\r\n\t\t\tthis.height = this.getHeight();\r\n\t\t\tthis.content.style.height = `${this.height}px`;\r\n\t\t}\r\n\r\n\t\thandleResize() {\r\n\t\t\tif (this.isToggled) {\r\n\t\t\t\tthis.update();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n","/**\n * SSR Window 3.0.0\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: November 9, 2020\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target, src) {\n if (target === void 0) { target = {}; }\n if (src === void 0) { src = {}; }\n Object.keys(src).forEach(function (key) {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nvar ssrDocument = {\n body: {},\n addEventListener: function () { },\n removeEventListener: function () { },\n activeElement: {\n blur: function () { },\n nodeName: '',\n },\n querySelector: function () {\n return null;\n },\n querySelectorAll: function () {\n return [];\n },\n getElementById: function () {\n return null;\n },\n createEvent: function () {\n return {\n initEvent: function () { },\n };\n },\n createElement: function () {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function () { },\n getElementsByTagName: function () {\n return [];\n },\n };\n },\n createElementNS: function () {\n return {};\n },\n importNode: function () {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n var doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nvar ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState: function () { },\n pushState: function () { },\n go: function () { },\n back: function () { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function () { },\n removeEventListener: function () { },\n getComputedStyle: function () {\n return {\n getPropertyValue: function () {\n return '';\n },\n };\n },\n Image: function () { },\n Date: function () { },\n screen: {},\n setTimeout: function () { },\n clearTimeout: function () { },\n matchMedia: function () {\n return {};\n },\n requestAnimationFrame: function (callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame: function (id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n var win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","/**\n * Dom7 3.0.0\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: November 9, 2020\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n var proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get: function get() {\n return proto;\n },\n set: function set(value) {\n proto.__proto__ = value;\n }\n });\n}\n\nvar Dom7 = /*#__PURE__*/function (_Array) {\n _inheritsLoose(Dom7, _Array);\n\n function Dom7(items) {\n var _this;\n\n _this = _Array.call.apply(_Array, [this].concat(items)) || this;\n makeReactive(_assertThisInitialized(_this));\n return _this;\n }\n\n return Dom7;\n}( /*#__PURE__*/_wrapNativeSuper(Array));\n\nfunction arrayFlat(arr) {\n if (arr === void 0) {\n arr = [];\n }\n\n var res = [];\n arr.forEach(function (el) {\n if (Array.isArray(el)) {\n res.push.apply(res, arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n var uniqueArray = [];\n\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group) {\n return group.toUpperCase();\n });\n}\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n var a = [];\n var res = context.querySelectorAll(selector);\n\n for (var i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n var window = getWindow();\n var document = getDocument();\n var arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n var html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf(' 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n var el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n var dataKey = el.getAttribute(\"data-\" + key);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (var i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n var el = this[0];\n if (!el) return undefined;\n var dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n var _attr = el.attributes[i];\n\n if (_attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(_attr.name.split('data-')[1])] = _attr.value;\n }\n }\n }\n\n for (var key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n var el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n var values = [];\n\n for (var i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (var _i = 0; _i < this.length; _i += 1) {\n var _el = this[_i];\n\n if (Array.isArray(value) && _el.multiple && _el.nodeName.toLowerCase() === 'select') {\n for (var j = 0; j < _el.options.length; j += 1) {\n _el.options[j].selected = value.indexOf(_el.options[j].value) >= 0;\n }\n } else {\n _el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? duration + \"ms\" : duration;\n }\n\n return this;\n}\n\nfunction on() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) return;\n var eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n var _parents = $(target).parents(); // eslint-disable-line\n\n\n for (var k = 0; k < _parents.length; k += 1) {\n if ($(_parents[k]).is(targetSelector)) listener.apply(_parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n var events = eventType.split(' ');\n var j;\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener: listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var _event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[_event]) el.dom7LiveListeners[_event] = [];\n\n el.dom7LiveListeners[_event].push({\n listener: listener,\n proxyListener: handleLiveEvent\n });\n\n el.addEventListener(_event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n var events = eventType.split(' ');\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = void 0;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\n var handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once() {\n var dom = this;\n\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n var eventName = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventName = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n function onceHandler() {\n for (var _len8 = arguments.length, eventArgs = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n eventArgs[_key8] = arguments[_key8];\n }\n\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger() {\n var window = getWindow();\n\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n var events = args[0].split(' ');\n var eventData = args[1];\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n\n if (window.CustomEvent) {\n var evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter(function (data, dataIndex) {\n return dataIndex > 0;\n });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles = this.styles();\n\n return this[0].offsetWidth + parseFloat(_styles.getPropertyValue('margin-right')) + parseFloat(_styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles2 = this.styles();\n\n return this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === window ? window.scrollY : el.scrollTop;\n var scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n var window = getWindow();\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n var window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n var window = getWindow();\n var i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (var _prop in props) {\n this[i].style[_prop] = props[_prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach(function (el, index) {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n var result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n var child = this[0];\n var i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n var returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append() {\n var newChild;\n var document = getDocument();\n\n for (var k = 0; k < arguments.length; k += 1) {\n newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];\n\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n var document = getDocument();\n var i;\n var j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n var before = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (var j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n var after = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (var j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n var _next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_next).is(selector)) nextEls.push(_next);\n } else nextEls.push(_next);\n\n el = _next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n var _prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_prev).is(selector)) prevEls.push(_prev);\n } else prevEls.push(_prev);\n\n el = _prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var _parent = this[i].parentNode; // eslint-disable-line\n\n while (_parent) {\n if (selector) {\n if ($(_parent).is(selector)) parents.push(_parent);\n } else {\n parents.push(_parent);\n }\n\n _parent = _parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n var closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n var foundElements = [];\n\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n var children = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].children;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add() {\n var dom = this;\n var i;\n var j;\n\n for (var _len10 = arguments.length, els = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n els[_key10] = arguments[_key10];\n }\n\n for (i = 0; i < els.length; i += 1) {\n var toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\nfunction scrollTo() {\n var window = getWindow();\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var left = args[0],\n top = args[1],\n duration = args[2],\n easing = args[3],\n callback = args[4];\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n left = args[0];\n top = args[1];\n duration = args[2];\n callback = args[3];\n easing = args[4];\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n\n var scrollLeft; // eslint-disable-line\n\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time) {\n if (time === void 0) {\n time = new Date().getTime();\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n var done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var top = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n top = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var left = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n left = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\nfunction animate(initialProps, initialParams) {\n var window = getWindow();\n var els = this;\n var a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n easingProgress: function easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n stop: function stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n var elements = []; // Define & Cache Initials & Units\n\n a.elements.each(function (el, index) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(function (prop) {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue\n };\n });\n });\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(function (element) {\n var el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(function (prop) {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n var _el$prop = el[prop],\n initialValue = _el$prop.initialValue,\n finalValue = _el$prop.finalValue,\n unit = _el$prop.unit;\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n var currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n\n for (var i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n var els = this;\n\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nvar noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'undefined') {\n for (var i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on.apply(this, [name].concat(args));\n }\n\n return eventHandler;\n}\n\nvar click = shortcut('click');\nvar blur = shortcut('blur');\nvar focus = shortcut('focus');\nvar focusin = shortcut('focusin');\nvar focusout = shortcut('focusout');\nvar keyup = shortcut('keyup');\nvar keydown = shortcut('keydown');\nvar keypress = shortcut('keypress');\nvar submit = shortcut('submit');\nvar change = shortcut('change');\nvar mousedown = shortcut('mousedown');\nvar mousemove = shortcut('mousemove');\nvar mouseup = shortcut('mouseup');\nvar mouseenter = shortcut('mouseenter');\nvar mouseleave = shortcut('mouseleave');\nvar mouseout = shortcut('mouseout');\nvar mouseover = shortcut('mouseover');\nvar touchstart = shortcut('touchstart');\nvar touchend = shortcut('touchend');\nvar touchmove = shortcut('touchmove');\nvar resize = shortcut('resize');\nvar scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, trigger, val, value, width };\n","import { $, addClass, removeClass, hasClass, toggleClass, attr, removeAttr, transform, transition, on, off, trigger, transitionEnd, outerWidth, outerHeight, styles, offset, css, each, html, text, is, index, eq, append, prepend, next, nextAll, prev, prevAll, parent, parents, closest, find, children, filter, remove } from 'dom7';\nvar Methods = {\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n trigger: trigger,\n transitionEnd: transitionEnd,\n outerWidth: outerWidth,\n outerHeight: outerHeight,\n styles: styles,\n offset: offset,\n css: css,\n each: each,\n html: html,\n text: text,\n is: is,\n index: index,\n eq: eq,\n append: append,\n prepend: prepend,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n filter: filter,\n remove: remove\n};\nObject.keys(Methods).forEach(function (methodName) {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n});\nexport default $;","import { getWindow, getDocument } from 'ssr-window';\nvar support;\n\nfunction calcSupport() {\n var window = getWindow();\n var document = getDocument();\n return {\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\n pointerEvents: !!window.PointerEvent && 'maxTouchPoints' in window.navigator && window.navigator.maxTouchPoints >= 0,\n observer: function checkObserver() {\n return 'MutationObserver' in window || 'WebkitMutationObserver' in window;\n }(),\n passiveListener: function checkPassiveListener() {\n var supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {// No support\n }\n\n return supportsPassive;\n }(),\n gestures: function checkGestures() {\n return 'ongesturestart' in window;\n }()\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n\n return support;\n}\n\nexport { getSupport };","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support';\nvar device;\n\nfunction calcDevice(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n userAgent = _ref.userAgent;\n\n var support = getSupport();\n var window = getWindow();\n var platform = window.navigator.platform;\n var ua = userAgent || window.navigator.userAgent;\n var device = {\n ios: false,\n android: false\n };\n var screenWidth = window.screen.width;\n var screenHeight = window.screen.height;\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n var windows = platform === 'Win32';\n var macos = platform === 'MacIntel'; // iPadOs 13 fix\n\n var iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n\n if (!ipad && macos && support.touch && iPadScreens.indexOf(screenWidth + \"x\" + screenHeight) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n } // Android\n\n\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n } // Export object\n\n\n return device;\n}\n\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n\n if (!device) {\n device = calcDevice(overrides);\n }\n\n return device;\n}\n\nexport { getDevice };","import { getWindow } from 'ssr-window';\nvar browser;\n\nfunction calcBrowser() {\n var window = getWindow();\n\n function isSafari() {\n var ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isEdge: !!window.navigator.userAgent.match(/Edge/g),\n isSafari: isSafari(),\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n}\n\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n\n return browser;\n}\n\nexport { getBrowser };","import { getDocument, getWindow } from 'ssr-window';\n\nfunction deleteProps(obj) {\n var object = obj;\n Object.keys(object).forEach(function (key) {\n try {\n object[key] = null;\n } catch (e) {// no getter for object\n }\n\n try {\n delete object[key];\n } catch (e) {// something got wrong\n }\n });\n}\n\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n\n return setTimeout(callback, delay);\n}\n\nfunction now() {\n return Date.now();\n}\n\nfunction getComputedStyle(el) {\n var window = getWindow();\n var style;\n\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n\n if (!style) {\n style = el.style;\n }\n\n return style;\n}\n\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n\n var window = getWindow();\n var matrix;\n var curTransform;\n var transformMatrix;\n var curStyle = getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function (a) {\n return a.replace(',', '.');\n }).join(', ');\n } // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n\n\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n\n return curTransform || 0;\n}\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\n\nfunction extend() {\n var to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n\n for (var i = 1; i < arguments.length; i += 1) {\n var nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n var keysArray = Object.keys(Object(nextSource)).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n });\n\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n\n return to;\n}\n\nfunction bindModuleMethods(instance, obj) {\n Object.keys(obj).forEach(function (key) {\n if (isObject(obj[key])) {\n Object.keys(obj[key]).forEach(function (subKey) {\n if (typeof obj[key][subKey] === 'function') {\n obj[key][subKey] = obj[key][subKey].bind(instance);\n }\n });\n }\n\n instance[key] = obj[key];\n });\n}\n\nfunction classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n\n return \".\" + classes.trim().replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.');\n}\n\nfunction createElementIfNotDefined($container, params, createElements, checkProps) {\n var document = getDocument();\n\n if (createElements) {\n Object.keys(checkProps).forEach(function (key) {\n if (!params[key] && params.auto === true) {\n var element = document.createElement('div');\n element.className = checkProps[key];\n $container.append(element);\n params[key] = element;\n }\n });\n }\n\n return params;\n}\n\nexport { deleteProps, nextTick, now, getTranslate, isObject, extend, bindModuleMethods, getComputedStyle, classesToSelector, createElementIfNotDefined };","import { getWindow } from 'ssr-window';\nimport { extend } from '../../utils/utils';\n\nvar supportsResizeObserver = function supportsResizeObserver() {\n var window = getWindow();\n return typeof window.ResizeObserver !== 'undefined';\n};\n\nexport default {\n name: 'resize',\n create: function create() {\n var swiper = this;\n extend(swiper, {\n resize: {\n observer: null,\n createObserver: function createObserver() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.resize.observer = new ResizeObserver(function (entries) {\n var width = swiper.width,\n height = swiper.height;\n var newWidth = width;\n var newHeight = height;\n entries.forEach(function (_ref) {\n var contentBoxSize = _ref.contentBoxSize,\n contentRect = _ref.contentRect,\n target = _ref.target;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n\n if (newWidth !== width || newHeight !== height) {\n swiper.resize.resizeHandler();\n }\n });\n swiper.resize.observer.observe(swiper.el);\n },\n removeObserver: function removeObserver() {\n if (swiper.resize.observer && swiper.resize.observer.unobserve && swiper.el) {\n swiper.resize.observer.unobserve(swiper.el);\n swiper.resize.observer = null;\n }\n },\n resizeHandler: function resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('beforeResize');\n swiper.emit('resize');\n },\n orientationChangeHandler: function orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('orientationchange');\n }\n }\n });\n },\n on: {\n init: function init(swiper) {\n var window = getWindow();\n\n if (swiper.params.resizeObserver && supportsResizeObserver()) {\n swiper.resize.createObserver();\n return;\n } // Emit resize\n\n\n window.addEventListener('resize', swiper.resize.resizeHandler); // Emit orientationchange\n\n window.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n },\n destroy: function destroy(swiper) {\n var window = getWindow();\n swiper.resize.removeObserver();\n window.removeEventListener('resize', swiper.resize.resizeHandler);\n window.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow } from 'ssr-window';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Observer = {\n attach: function attach(target, options) {\n if (options === void 0) {\n options = {};\n }\n\n var window = getWindow();\n var swiper = this;\n var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n var observer = new ObserverFunc(function (mutations) {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n swiper.emit('observerUpdate', mutations[0]);\n return;\n }\n\n var observerUpdate = function observerUpdate() {\n swiper.emit('observerUpdate', mutations[0]);\n };\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n swiper.observer.observers.push(observer);\n },\n init: function init() {\n var swiper = this;\n if (!swiper.support.observer || !swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n var containerParents = swiper.$el.parents();\n\n for (var i = 0; i < containerParents.length; i += 1) {\n swiper.observer.attach(containerParents[i]);\n }\n } // Observe container\n\n\n swiper.observer.attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n swiper.observer.attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.observer.observers.forEach(function (observer) {\n observer.disconnect();\n });\n swiper.observer.observers = [];\n }\n};\nexport default {\n name: 'observer',\n params: {\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n observer: _extends({}, Observer, {\n observers: []\n })\n });\n },\n on: {\n init: function init(swiper) {\n swiper.observer.init();\n },\n destroy: function destroy(swiper) {\n swiper.observer.destroy();\n }\n }\n};","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils'; // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\n\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n var found = el.closest(selector);\n return found || __closestFrom(el.getRootNode().host);\n }\n\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n var swiper = this;\n var document = getDocument();\n var window = getWindow();\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n enabled = swiper.enabled;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n var $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return; // change target el for shadow root component\n\n var swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n\n if (swipingClassHasValue && e.target && e.target.shadowRoot && event.path && event.path[0]) {\n $targetEl = $(event.path[0]);\n }\n\n var noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : \".\" + params.noSwipingClass;\n var isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element\n\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, e.target) : $targetEl.closest(noSwipingSelector)[0])) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n var startX = touches.currentX;\n var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n extend(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n\n if (e.type !== 'touchstart') {\n var preventDefault = true;\n if ($targetEl.is(data.focusableElements)) preventDefault = false;\n\n if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {\n document.activeElement.blur();\n }\n\n var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n\n swiper.emit('touchStart', e);\n}","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils';\nexport default function onTouchMove(event) {\n var document = getDocument();\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n var targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n var pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n // isMoved = true;\n swiper.allowClick = false;\n\n if (data.isTouched) {\n extend(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n var diffX = touches.currentX - touches.startX;\n var diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n var touchAngle;\n\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n var diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n var disableParentSwiper = true;\n var resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger || params.cssMode) return; // Update active index in free mode\n\n if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (params.freeMode) {\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now()\n });\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n}","import { now, nextTick } from '../../../utils/utils';\nexport default function onTouchEnd(event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n $wrapperEl = swiper.$wrapperEl,\n slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n var touchEndTime = now();\n var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n swiper.updateClickedSlide(e);\n swiper.emit('tap click', e);\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n\n data.lastClickTime = now();\n nextTick(function () {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n var currentPos;\n\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.cssMode) {\n return;\n }\n\n if (params.freeMode) {\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n\n return;\n }\n\n if (params.freeModeMomentum) {\n if (data.velocities.length > 1) {\n var lastMoveEvent = data.velocities.pop();\n var velocityEvent = data.velocities.pop();\n var distance = lastMoveEvent.position - velocityEvent.position;\n var time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n\n if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\n swiper.velocity = 0;\n } // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n\n\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n\n swiper.velocity *= params.freeModeMomentumVelocityRatio;\n data.velocities.length = 0;\n var momentumDuration = 1000 * params.freeModeMomentumRatio;\n var momentumDistance = swiper.velocity * momentumDuration;\n var newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n var doBounce = false;\n var afterBouncePosition;\n var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\n var needsLoopFix;\n\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeModeSticky) {\n var nextSlide;\n\n for (var j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n\n newPosition = -newPosition;\n }\n\n if (needsLoopFix) {\n swiper.once('transitionEnd', function () {\n swiper.loopFix();\n });\n } // Fix duration\n\n\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n\n if (params.freeModeSticky) {\n // If freeModeSticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n var moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n var currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeModeMomentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n swiper.emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(function () {\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n swiper.emit('_freeModeNoMomentumRelease');\n }\n\n if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n return;\n } // Find current slide\n\n\n var stopIndex = 0;\n var groupSize = swiper.slidesSizesGrid[0];\n\n for (var i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n var _increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (typeof slidesGrid[i + _increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + _increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + _increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n } // Find current slide size\n\n\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n var increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n var isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(stopIndex + increment);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}","export default function onResize() {\n var swiper = this;\n var params = swiper.params,\n el = swiper.el;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n var allowSlideNext = swiper.allowSlideNext,\n allowSlidePrev = swiper.allowSlidePrev,\n snapGrid = swiper.snapGrid; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}","export default function onClick(e) {\n var swiper = this;\n if (!swiper.enabled) return;\n\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}","export default function onScroll() {\n var swiper = this;\n var wrapperEl = swiper.wrapperEl,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n\n if (swiper.isHorizontal()) {\n if (rtlTranslate) {\n swiper.translate = wrapperEl.scrollWidth - wrapperEl.offsetWidth - wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollLeft;\n }\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n } // eslint-disable-next-line\n\n\n if (swiper.translate === -0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, false);\n}","import { getDocument } from 'ssr-window';\nimport onTouchStart from './onTouchStart';\nimport onTouchMove from './onTouchMove';\nimport onTouchEnd from './onTouchEnd';\nimport onResize from './onResize';\nimport onClick from './onClick';\nimport onScroll from './onScroll';\nvar dummyEventAttached = false;\n\nfunction dummyEventListener() {}\n\nfunction attachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.addEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.addEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.addEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.addEventListener(touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\n passive: false,\n capture: capture\n } : capture);\n el.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.addEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n\n if (!dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.addEventListener('mousedown', swiper.onTouchStart, false);\n document.addEventListener('mousemove', swiper.onTouchMove, capture);\n document.addEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.addEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.addEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n if (params.updateOnWindowResize) {\n swiper.on(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper.on('observerUpdate', onResize, true);\n }\n}\n\nfunction detachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'onTouchStart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n el.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.removeEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.removeEventListener('mousedown', swiper.onTouchStart, false);\n document.removeEventListener('mousemove', swiper.onTouchMove, capture);\n document.removeEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.removeEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.removeEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n swiper.off(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize);\n}\n\nexport default {\n attachEvents: attachEvents,\n detachEvents: detachEvents\n};","function checkOverflow() {\n var swiper = this;\n var params = swiper.params;\n var wasLocked = swiper.isLocked;\n var lastSlidePosition = swiper.slides.length > 0 && params.slidesOffsetBefore + params.spaceBetween * (swiper.slides.length - 1) + swiper.slides[0].offsetWidth * swiper.slides.length;\n\n if (params.slidesOffsetBefore && params.slidesOffsetAfter && lastSlidePosition) {\n swiper.isLocked = lastSlidePosition <= swiper.size;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n\n swiper.allowSlideNext = !swiper.isLocked;\n swiper.allowSlidePrev = !swiper.isLocked; // events\n\n if (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n if (swiper.navigation) swiper.navigation.update();\n }\n}\n\nexport default {\n checkOverflow: checkOverflow\n};","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'container',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: false,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Free mode\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: false,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n watchSlidesVisibility: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n // NS\n containerModifierClass: 'swiper-container-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { extend, now, deleteProps } from '../../utils/utils';\nimport { getSupport } from '../../utils/get-support';\nimport { getDevice } from '../../utils/get-device';\nimport { getBrowser } from '../../utils/get-browser';\nimport Resize from '../../modules/resize/resize';\nimport Observer from '../../modules/observer/observer';\nimport modular from './modular';\nimport eventsEmitter from './events-emitter';\nimport update from './update/index';\nimport translate from './translate/index';\nimport transition from './transition/index';\nimport slide from './slide/index';\nimport loop from './loop/index';\nimport grabCursor from './grab-cursor/index';\nimport manipulation from './manipulation/index';\nimport events from './events/index';\nimport breakpoints from './breakpoints/index';\nimport classes from './classes/index';\nimport images from './images/index';\nimport checkOverflow from './check-overflow/index';\nimport defaults from './defaults';\nvar prototypes = {\n modular: modular,\n eventsEmitter: eventsEmitter,\n update: update,\n translate: translate,\n transition: transition,\n slide: slide,\n loop: loop,\n grabCursor: grabCursor,\n manipulation: manipulation,\n events: events,\n breakpoints: breakpoints,\n checkOverflow: checkOverflow,\n classes: classes,\n images: images\n};\nvar extendedDefaults = {};\n\nvar Swiper = /*#__PURE__*/function () {\n function Swiper() {\n var el;\n var params;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n el = args[0];\n params = args[1];\n }\n\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n var swipers = [];\n $(params.el).each(function (containerEl) {\n var newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n return swipers;\n } // Swiper Instance\n\n\n var swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n\n if (typeof swiper.modules === 'undefined') {\n swiper.modules = {};\n }\n\n Object.keys(swiper.modules).forEach(function (moduleName) {\n var module = swiper.modules[moduleName];\n\n if (module.params) {\n var moduleParamName = Object.keys(module.params)[0];\n var moduleParams = module.params[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) return;\n\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n\n if (!(moduleParamName in params && 'enabled' in moduleParams)) return;\n\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n }\n }); // Extend defaults with modules params\n\n var swiperParams = extend({}, defaults);\n swiper.useParams(swiperParams); // Extend defaults with passed params\n\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params); // add event listeners\n\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(function (eventName) {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n } // Save Dom lib\n\n\n swiper.$ = $; // Extend Swiper\n\n extend(swiper, {\n enabled: swiper.params.enabled,\n el: el,\n // Classes\n classNames: [],\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal: function isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical: function isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n var touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n var desktop = ['mousedown', 'mousemove', 'mouseup'];\n\n if (swiper.support.pointerEvents) {\n desktop = ['pointerdown', 'pointermove', 'pointerup'];\n }\n\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n }); // Install Modules\n\n swiper.useModules();\n swiper.emit('_swiper'); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n\n\n return swiper;\n }\n\n var _proto = Swiper.prototype;\n\n _proto.enable = function enable() {\n var swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n swiper.emit('enable');\n };\n\n _proto.disable = function disable() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n\n swiper.emit('disable');\n };\n\n _proto.setProgress = function setProgress(progress, speed) {\n var swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n var min = swiper.minTranslate();\n var max = swiper.maxTranslate();\n var current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n };\n\n _proto.emitContainerClasses = function emitContainerClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var classes = swiper.el.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-container') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', classes.join(' '));\n };\n\n _proto.getSlideClasses = function getSlideClasses(slideEl) {\n var swiper = this;\n return slideEl.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n };\n\n _proto.emitSlidesClasses = function emitSlidesClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var updates = [];\n swiper.slides.each(function (slideEl) {\n var classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl: slideEl,\n classNames: classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n };\n\n _proto.slidesPerViewDynamic = function slidesPerViewDynamic() {\n var swiper = this;\n var params = swiper.params,\n slides = swiper.slides,\n slidesGrid = swiper.slidesGrid,\n swiperSize = swiper.size,\n activeIndex = swiper.activeIndex;\n var spv = 1;\n\n if (params.centeredSlides) {\n var slideSize = slides[activeIndex].swiperSlideSize;\n var breakLoop;\n\n for (var i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n\n for (var _i = activeIndex - 1; _i >= 0; _i -= 1) {\n if (slides[_i] && !breakLoop) {\n slideSize += slides[_i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n for (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {\n if (slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize) {\n spv += 1;\n }\n }\n }\n\n return spv;\n };\n\n _proto.update = function update() {\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var snapGrid = swiper.snapGrid,\n params = swiper.params; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n var translated;\n\n if (swiper.params.freeMode) {\n setTranslate();\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (!translated) {\n setTranslate();\n }\n }\n\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n\n swiper.emit('update');\n };\n\n _proto.changeDirection = function changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n\n var swiper = this;\n var currentDirection = swiper.params.direction;\n\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n\n swiper.$el.removeClass(\"\" + swiper.params.containerModifierClass + currentDirection).addClass(\"\" + swiper.params.containerModifierClass + newDirection);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.each(function (slideEl) {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n };\n\n _proto.mount = function mount(el) {\n var swiper = this;\n if (swiper.mounted) return true; // Find el\n\n var $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n var getWrapperSelector = function getWrapperSelector() {\n return \".\" + (swiper.params.wrapperClass || '').trim().split(' ').join('.');\n };\n\n var getWrapper = function getWrapper() {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n var res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items\n\n res.children = function (options) {\n return $el.children(options);\n };\n\n return res;\n }\n\n return $el.children(getWrapperSelector());\n }; // Find Wrapper\n\n\n var $wrapperEl = getWrapper();\n\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n var document = getDocument();\n var wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(\".\" + swiper.params.slideClass).each(function (slideEl) {\n $wrapperEl.append(slideEl);\n });\n }\n\n extend(swiper, {\n $el: $el,\n el: el,\n $wrapperEl: $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box'\n });\n return true;\n };\n\n _proto.init = function init(el) {\n var swiper = this;\n if (swiper.initialized) return swiper;\n var mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n };\n\n _proto.destroy = function destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy'); // Init Flag\n\n swiper.initialized = false; // Detach events\n\n swiper.detachEvents(); // Destroy loop\n\n if (params.loop) {\n swiper.loopDestroy();\n } // Cleanup styles\n\n\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');\n }\n }\n\n swiper.emit('destroy'); // Detach emitter events\n\n Object.keys(swiper.eventsListeners).forEach(function (eventName) {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n\n swiper.destroyed = true;\n return null;\n };\n\n Swiper.extendDefaults = function extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n };\n\n Swiper.installModule = function installModule(module) {\n if (!Swiper.prototype.modules) Swiper.prototype.modules = {};\n var name = module.name || Object.keys(Swiper.prototype.modules).length + \"_\" + now();\n Swiper.prototype.modules[name] = module;\n };\n\n Swiper.use = function use(module) {\n if (Array.isArray(module)) {\n module.forEach(function (m) {\n return Swiper.installModule(m);\n });\n return Swiper;\n }\n\n Swiper.installModule(module);\n return Swiper;\n };\n\n _createClass(Swiper, null, [{\n key: \"extendedDefaults\",\n get: function get() {\n return extendedDefaults;\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return defaults;\n }\n }]);\n\n return Swiper;\n}();\n\nObject.keys(prototypes).forEach(function (prototypeGroup) {\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","import { extend } from '../../utils/utils';\nexport default {\n useParams: function useParams(instanceParams) {\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName]; // Extend params\n\n if (module.params) {\n extend(instanceParams, module.params);\n }\n });\n },\n useModules: function useModules(modulesParams) {\n if (modulesParams === void 0) {\n modulesParams = {};\n }\n\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName];\n var moduleParams = modulesParams[moduleName] || {}; // Add event listeners\n\n if (module.on && instance.on) {\n Object.keys(module.on).forEach(function (moduleEventName) {\n instance.on(moduleEventName, module.on[moduleEventName]);\n });\n } // Module create callback\n\n\n if (module.create) {\n module.create.bind(instance)(moduleParams);\n }\n });\n }\n};","/* eslint-disable no-underscore-dangle */\nexport default {\n on: function on(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(function (event) {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once: function once(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n\n function onceHandler() {\n self.off(events, onceHandler);\n\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n handler.apply(self, args);\n }\n\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny: function onAny(handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n\n return self;\n },\n offAny: function offAny(handler) {\n var self = this;\n if (!self.eventsAnyListeners) return self;\n var index = self.eventsAnyListeners.indexOf(handler);\n\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n\n return self;\n },\n off: function off(events, handler) {\n var self = this;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(function (event) {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler, index) {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit: function emit() {\n var self = this;\n if (!self.eventsListeners) return self;\n var events;\n var data;\n var context;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n\n data.unshift(context);\n var eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(function (event) {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(function (eventHandler) {\n eventHandler.apply(context, [event].concat(data));\n });\n }\n\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler) {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};","import updateSize from './updateSize';\nimport updateSlides from './updateSlides';\nimport updateAutoHeight from './updateAutoHeight';\nimport updateSlidesOffset from './updateSlidesOffset';\nimport updateSlidesProgress from './updateSlidesProgress';\nimport updateProgress from './updateProgress';\nimport updateSlidesClasses from './updateSlidesClasses';\nimport updateActiveIndex from './updateActiveIndex';\nimport updateClickedSlide from './updateClickedSlide';\nexport default {\n updateSize: updateSize,\n updateSlides: updateSlides,\n updateAutoHeight: updateAutoHeight,\n updateSlidesOffset: updateSlidesOffset,\n updateSlidesProgress: updateSlidesProgress,\n updateProgress: updateProgress,\n updateSlidesClasses: updateSlidesClasses,\n updateActiveIndex: updateActiveIndex,\n updateClickedSlide: updateClickedSlide\n};","import { extend } from '../../../utils/utils';\nexport default function updateSize() {\n var swiper = this;\n var width;\n var height;\n var $el = swiper.$el;\n\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n } // Subtract paddings\n\n\n width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);\n height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n extend(swiper, {\n width: width,\n height: height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import { extend } from '../../../utils/utils';\nexport default function updateSlides() {\n var swiper = this;\n\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n } // prettier-ignore\n\n\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n var params = swiper.params;\n var $wrapperEl = swiper.$wrapperEl,\n swiperSize = swiper.size,\n rtl = swiper.rtlTranslate,\n wrongRTL = swiper.wrongRTL;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n var slides = $wrapperEl.children(\".\" + swiper.params.slideClass);\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n var snapGrid = [];\n var slidesGrid = [];\n var slidesSizesGrid = [];\n var offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n var offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n var previousSnapGridLength = swiper.snapGrid.length;\n var previousSlidesGridLength = swiper.slidesGrid.length;\n var spaceBetween = params.spaceBetween;\n var slidePosition = -offsetBefore;\n var prevSlideSize = 0;\n var index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginBottom: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: '',\n marginTop: ''\n });\n var slidesNumberEvenToRows;\n\n if (params.slidesPerColumn > 1) {\n if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\n }\n\n if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\n }\n } // Calc slides\n\n\n var slideSize;\n var slidesPerColumn = params.slidesPerColumn;\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\n var numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);\n\n for (var i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n var slide = slides.eq(i);\n\n if (params.slidesPerColumn > 1) {\n // Set slides order\n var newSlideOrderIndex = void 0;\n var column = void 0;\n var row = void 0;\n\n if (params.slidesPerColumnFill === 'row' && params.slidesPerGroup > 1) {\n var groupIndex = Math.floor(i / (params.slidesPerGroup * params.slidesPerColumn));\n var slideIndexInGroup = i - params.slidesPerColumn * params.slidesPerGroup * groupIndex;\n var columnsInGroup = groupIndex === 0 ? params.slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * slidesPerColumn * params.slidesPerGroup) / slidesPerColumn), params.slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * params.slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\n slide.css({\n '-webkit-box-ordinal-group': newSlideOrderIndex,\n '-moz-box-ordinal-group': newSlideOrderIndex,\n '-ms-flex-order': newSlideOrderIndex,\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex\n });\n } else if (params.slidesPerColumnFill === 'column') {\n column = Math.floor(i / slidesPerColumn);\n row = i - column * slidesPerColumn;\n\n if (column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1) {\n row += 1;\n\n if (row >= slidesPerColumn) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n\n slide.css(getDirectionLabel('margin-top'), row !== 0 ? params.spaceBetween && params.spaceBetween + \"px\" : '');\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n var slideStyles = getComputedStyle(slide[0]);\n var currentTransform = slide[0].style.transform;\n var currentWebKitTransform = slide[0].style.webkitTransform;\n\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n var width = getDirectionPropertyValue(slideStyles, 'width');\n var paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n var paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n var marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n var marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n var boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n var _slide$ = slide[0],\n clientWidth = _slide$.clientWidth,\n offsetWidth = _slide$.offsetWidth;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = slideSize + \"px\";\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n var newSlidesGrid;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: swiper.virtualSize + params.spaceBetween + \"px\"\n });\n }\n\n if (params.setWrapperSize) {\n var _$wrapperEl$css;\n\n $wrapperEl.css((_$wrapperEl$css = {}, _$wrapperEl$css[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css));\n }\n\n if (params.slidesPerColumn > 1) {\n var _$wrapperEl$css2;\n\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\n $wrapperEl.css((_$wrapperEl$css2 = {}, _$wrapperEl$css2[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css2));\n\n if (params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i = 0; _i < snapGrid.length; _i += 1) {\n var slidesGridItem = snapGrid[_i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[_i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n\n snapGrid = newSlidesGrid;\n }\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i2 = 0; _i2 < snapGrid.length; _i2 += 1) {\n var _slidesGridItem = snapGrid[_i2];\n if (params.roundLengths) _slidesGridItem = Math.floor(_slidesGridItem);\n\n if (snapGrid[_i2] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(_slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n var _slides$filter$css;\n\n var key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter(function (_, slideIndex) {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }).css((_slides$filter$css = {}, _slides$filter$css[key] = spaceBetween + \"px\", _slides$filter$css));\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n var allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n var maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(function (snap) {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n\n if (params.centerInsufficientSlides) {\n var _allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n _allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n _allSlidesSize -= params.spaceBetween;\n\n if (_allSlidesSize < swiperSize) {\n var allSlidesOffset = (swiperSize - _allSlidesSize) / 2;\n snapGrid.forEach(function (snap, snapIndex) {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach(function (snap, snapIndex) {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n extend(swiper, {\n slides: slides,\n snapGrid: snapGrid,\n slidesGrid: slidesGrid,\n slidesSizesGrid: slidesSizesGrid\n });\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateSlidesOffset();\n }\n}","export default function updateAutoHeight(speed) {\n var swiper = this;\n var activeSlides = [];\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var newHeight = 0;\n var i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n var getSlideByIndex = function getSlideByIndex(index) {\n if (isVirtual) {\n return swiper.slides.filter(function (el) {\n return parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index;\n })[0];\n }\n\n return swiper.slides.eq(index)[0];\n }; // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n swiper.visibleSlides.each(function (slide) {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n var index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight) swiper.$wrapperEl.css('height', newHeight + \"px\");\n}","export default function updateSlidesOffset() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n}","import $ from '../../../utils/dom';\nexport default function updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n\n var swiper = this;\n var params = swiper.params;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n var offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (var i = 0; i < slides.length; i += 1) {\n var slide = slides[i];\n var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n\n if (params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) {\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n var isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n }\n\n slide.progress = rtl ? -slideProgress : slideProgress;\n }\n\n swiper.visibleSlides = $(swiper.visibleSlides);\n}","import { extend } from '../../../utils/utils';\nexport default function updateProgress(translate) {\n var swiper = this;\n\n if (typeof translate === 'undefined') {\n var multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line\n\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n\n var params = swiper.params;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n var progress = swiper.progress,\n isBeginning = swiper.isBeginning,\n isEnd = swiper.isEnd;\n var wasBeginning = isBeginning;\n var wasEnd = isEnd;\n\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n\n extend(swiper, {\n progress: progress,\n isBeginning: isBeginning,\n isEnd: isEnd\n });\n if (params.watchSlidesProgress || params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n}","export default function updateSlidesClasses() {\n var swiper = this;\n var slides = swiper.slides,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex,\n realIndex = swiper.realIndex;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(params.slideActiveClass + \" \" + params.slideNextClass + \" \" + params.slidePrevClass + \" \" + params.slideDuplicateActiveClass + \" \" + params.slideDuplicateNextClass + \" \" + params.slideDuplicatePrevClass);\n var activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + activeIndex + \"\\\"]\");\n } else {\n activeSlide = slides.eq(activeIndex);\n } // Active classes\n\n\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n var nextSlide = activeSlide.nextAll(\".\" + params.slideClass).eq(0).addClass(params.slideNextClass);\n\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n } // Prev Slide\n\n\n var prevSlide = activeSlide.prevAll(\".\" + params.slideClass).eq(0).addClass(params.slidePrevClass);\n\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n }\n }\n\n swiper.emitSlidesClasses();\n}","import { extend } from '../../../utils/utils';\nexport default function updateActiveIndex(newActiveIndex) {\n var swiper = this;\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n params = swiper.params,\n previousIndex = swiper.activeIndex,\n previousRealIndex = swiper.realIndex,\n previousSnapIndex = swiper.snapIndex;\n var activeIndex = newActiveIndex;\n var snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n } // Normalize slideIndex\n\n\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n var skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n\n return;\n } // Get real index\n\n\n var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n extend(swiper, {\n snapIndex: snapIndex,\n realIndex: realIndex,\n previousIndex: previousIndex,\n activeIndex: activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}","import $ from '../../../utils/dom';\nexport default function updateClickedSlide(e) {\n var swiper = this;\n var params = swiper.params;\n var slide = $(e.target).closest(\".\" + params.slideClass)[0];\n var slideFound = false;\n var slideIndex;\n\n if (slide) {\n for (var i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}","import getTranslate from './getTranslate';\nimport setTranslate from './setTranslate';\nimport minTranslate from './minTranslate';\nimport maxTranslate from './maxTranslate';\nimport translateTo from './translateTo';\nexport default {\n getTranslate: getTranslate,\n setTranslate: setTranslate,\n minTranslate: minTranslate,\n maxTranslate: maxTranslate,\n translateTo: translateTo\n};","import { getTranslate } from '../../../utils/utils';\nexport default function getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n\n var swiper = this;\n var params = swiper.params,\n rtl = swiper.rtlTranslate,\n translate = swiper.translate,\n $wrapperEl = swiper.$wrapperEl;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n if (params.cssMode) {\n return translate;\n }\n\n var currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}","export default function setTranslate(translate, byController) {\n var swiper = this;\n var rtl = swiper.rtlTranslate,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n wrapperEl = swiper.wrapperEl,\n progress = swiper.progress;\n var x = 0;\n var y = 0;\n var z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(\"translate3d(\" + x + \"px, \" + y + \"px, \" + z + \"px)\");\n }\n\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\n\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n}","export default function minTranslate() {\n return -this.snapGrid[0];\n}","export default function maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}","export default function translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n wrapperEl = swiper.wrapperEl;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n var minTranslate = swiper.minTranslate();\n var maxTranslate = swiper.maxTranslate();\n var newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress\n\n swiper.updateProgress(newTranslate);\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = -newTranslate, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","import setTransition from './setTransition';\nimport transitionStart from './transitionStart';\nimport transitionEnd from './transitionEnd';\nexport default {\n setTransition: setTransition,\n transitionStart: transitionStart,\n transitionEnd: transitionEnd\n};","export default function setTransition(duration, byController) {\n var swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n}","export default function transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n params = swiper.params,\n previousIndex = swiper.previousIndex;\n if (params.cssMode) return;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionStart');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionStart');\n return;\n }\n\n swiper.emit('slideChangeTransitionStart');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionStart');\n } else {\n swiper.emit('slidePrevTransitionStart');\n }\n }\n}","export default function transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n previousIndex = swiper.previousIndex,\n params = swiper.params;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionEnd');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionEnd');\n return;\n }\n\n swiper.emit('slideChangeTransitionEnd');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionEnd');\n } else {\n swiper.emit('slidePrevTransitionEnd');\n }\n }\n}","import slideTo from './slideTo';\nimport slideToLoop from './slideToLoop';\nimport slideNext from './slideNext';\nimport slidePrev from './slidePrev';\nimport slideReset from './slideReset';\nimport slideToClosest from './slideToClosest';\nimport slideToClickedSlide from './slideToClickedSlide';\nexport default {\n slideTo: slideTo,\n slideToLoop: slideToLoop,\n slideNext: slideNext,\n slidePrev: slidePrev,\n slideReset: slideReset,\n slideToClosest: slideToClosest,\n slideToClickedSlide: slideToClickedSlide\n};","export default function slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(\"The 'index' argument cannot have type other than 'number' or 'string'. [\" + typeof index + \"] given.\");\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n var indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n var isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(\"The passed-in 'index' (string) couldn't be converted to 'number'. [\" + index + \"] given.\");\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n var swiper = this;\n var slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n previousIndex = swiper.previousIndex,\n activeIndex = swiper.activeIndex,\n rtl = swiper.rtlTranslate,\n wrapperEl = swiper.wrapperEl,\n enabled = swiper.enabled;\n\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n\n var skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n var snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n var translate = -snapGrid[snapIndex]; // Update progress\n\n swiper.updateProgress(translate); // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n var normalizedTranslate = -Math.floor(translate * 100);\n var normalizedGird = Math.floor(slidesGrid[i] * 100);\n var normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGird) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGird) {\n slideIndex = i;\n }\n }\n } // Directions locks\n\n\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n var direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\n\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex); // Update Height\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n swiper.updateSlidesClasses();\n\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n\n return false;\n }\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n var t = -translate;\n\n if (rtl) {\n t = wrapperEl.scrollWidth - wrapperEl.offsetWidth - t;\n }\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = t, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","export default function slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var newIndex = index;\n\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n var increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n var normalizedTranslate = normalize(translate);\n var normalizedSnapGrid = snapGrid.map(function (val) {\n return normalize(val);\n });\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n snapGrid.forEach(function (snap) {\n if (!prevSnap && normalizedTranslate >= snap) prevSnap = snap;\n });\n }\n\n var prevIndex;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideReset(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideToClosest(speed, runCallbacks, internal, threshold) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (threshold === void 0) {\n threshold = 0.5;\n }\n\n var swiper = this;\n var index = swiper.activeIndex;\n var skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n var snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n var currentSnap = swiper.snapGrid[snapIndex];\n var nextSnap = swiper.snapGrid[snapIndex + 1];\n\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n var prevSnap = swiper.snapGrid[snapIndex - 1];\n var _currentSnap = swiper.snapGrid[snapIndex];\n\n if (translate - prevSnap <= (_currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}","import $ from '../../../utils/dom';\nimport { nextTick } from '../../../utils/utils';\nexport default function slideToClickedSlide() {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl;\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n var slideToIndex = swiper.clickedIndex;\n var realIndex;\n\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","import loopCreate from './loopCreate';\nimport loopFix from './loopFix';\nimport loopDestroy from './loopDestroy';\nexport default {\n loopCreate: loopCreate,\n loopFix: loopFix,\n loopDestroy: loopDestroy\n};","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loopCreate() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl; // Remove duplicated slides\n\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass).remove();\n var slides = $wrapperEl.children(\".\" + params.slideClass);\n\n if (params.loopFillGroupWithBlank) {\n var blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (var i = 0; i < blankSlidesNum; i += 1) {\n var blankNode = $(document.createElement('div')).addClass(params.slideClass + \" \" + params.slideBlankClass);\n $wrapperEl.append(blankNode);\n }\n\n slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n\n if (swiper.loopedSlides > slides.length) {\n swiper.loopedSlides = slides.length;\n }\n\n var prependSlides = [];\n var appendSlides = [];\n slides.each(function (el, index) {\n var slide = $(el);\n\n if (index < swiper.loopedSlides) {\n appendSlides.push(el);\n }\n\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) {\n prependSlides.push(el);\n }\n\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (var _i = 0; _i < appendSlides.length; _i += 1) {\n $wrapperEl.append($(appendSlides[_i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (var _i2 = prependSlides.length - 1; _i2 >= 0; _i2 -= 1) {\n $wrapperEl.prepend($(prependSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}","export default function loopFix() {\n var swiper = this;\n swiper.emit('beforeLoopFix');\n var activeIndex = swiper.activeIndex,\n slides = swiper.slides,\n loopedSlides = swiper.loopedSlides,\n allowSlidePrev = swiper.allowSlidePrev,\n allowSlideNext = swiper.allowSlideNext,\n snapGrid = swiper.snapGrid,\n rtl = swiper.rtlTranslate;\n var newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n var snapTranslate = -snapGrid[activeIndex];\n var diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n var slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n\n var _slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (_slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n}","export default function loopDestroy() {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n slides = swiper.slides;\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \",.\" + params.slideClass + \".\" + params.slideBlankClass).remove();\n slides.removeAttr('data-swiper-slide-index');\n}","import setGrabCursor from './setGrabCursor';\nimport unsetGrabCursor from './unsetGrabCursor';\nexport default {\n setGrabCursor: setGrabCursor,\n unsetGrabCursor: unsetGrabCursor\n};","export default function setGrabCursor(moving) {\n var swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n var el = swiper.el;\n el.style.cursor = 'move';\n el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\n el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}","export default function unsetGrabCursor() {\n var swiper = this;\n\n if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n\n swiper.el.style.cursor = '';\n}","import appendSlide from './appendSlide';\nimport prependSlide from './prependSlide';\nimport addSlide from './addSlide';\nimport removeSlide from './removeSlide';\nimport removeAllSlides from './removeAllSlides';\nexport default {\n appendSlide: appendSlide,\n prependSlide: prependSlide,\n addSlide: addSlide,\n removeSlide: removeSlide,\n removeAllSlides: removeAllSlides\n};","export default function appendSlide(slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n}","export default function prependSlide(slides) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n var newActiveIndex = activeIndex + 1;\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n swiper.slideTo(newActiveIndex, 0, false);\n}","export default function addSlide(index, slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var baseLength = swiper.slides.length;\n\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n\n var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n var slidesBuffer = [];\n\n for (var i = baseLength - 1; i >= index; i -= 1) {\n var currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (slides[_i]) $wrapperEl.append(slides[_i]);\n }\n\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) {\n $wrapperEl.append(slidesBuffer[_i2]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeSlide(slidesIndexes) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var newActiveIndex = activeIndexBuffer;\n var indexToRemove;\n\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (var i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeAllSlides() {\n var swiper = this;\n var slidesIndexes = [];\n\n for (var i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n\n swiper.removeSlide(slidesIndexes);\n}","import setBreakpoint from './setBreakpoint';\nimport getBreakpoint from './getBreakpoint';\nexport default {\n setBreakpoint: setBreakpoint,\n getBreakpoint: getBreakpoint\n};","import { extend } from '../../../utils/utils';\nexport default function setBreakpoint() {\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n initialized = swiper.initialized,\n _swiper$loopedSlides = swiper.loopedSlides,\n loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,\n params = swiper.params,\n $el = swiper.$el;\n var breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\n\n var breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n\n if (breakpointOnlyParams) {\n ['slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn'].forEach(function (param) {\n var paramValue = breakpointOnlyParams[param];\n if (typeof paramValue === 'undefined') return;\n\n if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {\n breakpointOnlyParams[param] = 'auto';\n } else if (param === 'slidesPerView') {\n breakpointOnlyParams[param] = parseFloat(paramValue);\n } else {\n breakpointOnlyParams[param] = parseInt(paramValue, 10);\n }\n });\n }\n\n var breakpointParams = breakpointOnlyParams || swiper.originalParams;\n var wasMultiRow = params.slidesPerColumn > 1;\n var isMultiRow = breakpointParams.slidesPerColumn > 1;\n var wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(params.containerModifierClass + \"multirow \" + params.containerModifierClass + \"multirow-column\");\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(params.containerModifierClass + \"multirow\");\n\n if (breakpointParams.slidesPerColumnFill && breakpointParams.slidesPerColumnFill === 'column' || !breakpointParams.slidesPerColumnFill && params.slidesPerColumnFill === 'column') {\n $el.addClass(params.containerModifierClass + \"multirow-column\");\n }\n\n swiper.emitContainerClasses();\n }\n\n var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n extend(swiper.params, breakpointParams);\n var isEnabled = swiper.params.enabled;\n extend(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n}","import { getWindow } from 'ssr-window';\nexport default function getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n var breakpoint = false;\n var window = getWindow();\n var currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n var points = Object.keys(breakpoints).map(function (point) {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n var minRatio = parseFloat(point.substr(1));\n var value = currentHeight * minRatio;\n return {\n value: value,\n point: point\n };\n }\n\n return {\n value: point,\n point: point\n };\n });\n points.sort(function (a, b) {\n return parseInt(a.value, 10) - parseInt(b.value, 10);\n });\n\n for (var i = 0; i < points.length; i += 1) {\n var _points$i = points[i],\n point = _points$i.point,\n value = _points$i.value;\n\n if (base === 'window') {\n if (window.matchMedia(\"(min-width: \" + value + \"px)\").matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n}","import addClasses from './addClasses';\nimport removeClasses from './removeClasses';\nexport default {\n addClasses: addClasses,\n removeClasses: removeClasses\n};","function prepareClasses(entries, prefix) {\n var resultClasses = [];\n entries.forEach(function (item) {\n if (typeof item === 'object') {\n Object.keys(item).forEach(function (classNames) {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\n\nexport default function addClasses() {\n var swiper = this;\n var classNames = swiper.classNames,\n params = swiper.params,\n rtl = swiper.rtl,\n $el = swiper.$el,\n device = swiper.device,\n support = swiper.support; // prettier-ignore\n\n var suffixes = prepareClasses(['initialized', params.direction, {\n 'pointer-events': support.pointerEvents && !support.touch\n }, {\n 'free-mode': params.freeMode\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'multirow': params.slidesPerColumn > 1\n }, {\n 'multirow-column': params.slidesPerColumn > 1 && params.slidesPerColumnFill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }], params.containerModifierClass);\n classNames.push.apply(classNames, suffixes);\n $el.addClass([].concat(classNames).join(' '));\n swiper.emitContainerClasses();\n}","export default function removeClasses() {\n var swiper = this;\n var $el = swiper.$el,\n classNames = swiper.classNames;\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}","import loadImage from './loadImage';\nimport preloadImages from './preloadImages';\nexport default {\n loadImage: loadImage,\n preloadImages: preloadImages\n};","import { getWindow } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n var window = getWindow();\n var image;\n\n function onReady() {\n if (callback) callback();\n }\n\n var isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}","export default function preloadImages() {\n var swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\n var imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, createElementIfNotDefined } from '../../utils/utils';\nvar Navigation = {\n toggleEl: function toggleEl($el, disabled) {\n $el[disabled ? 'addClass' : 'removeClass'](this.params.navigation.disabledClass);\n if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;\n },\n update: function update() {\n // Update Navigation Buttons\n var swiper = this;\n var params = swiper.params.navigation;\n var toggleEl = swiper.navigation.toggleEl;\n if (swiper.params.loop) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n toggleEl($prevEl, true);\n } else {\n toggleEl($prevEl, false);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $prevEl[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n toggleEl($nextEl, true);\n } else {\n toggleEl($nextEl, false);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $nextEl[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n },\n onPrevClick: function onPrevClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop) return;\n swiper.slidePrev();\n },\n onNextClick: function onNextClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop) return;\n swiper.slideNext();\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper.$el, swiper.params.navigation, swiper.params.createElements, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n var $nextEl;\n var $prevEl;\n\n if (params.nextEl) {\n $nextEl = $(params.nextEl);\n\n if (swiper.params.uniqueNavElements && typeof params.nextEl === 'string' && $nextEl.length > 1 && swiper.$el.find(params.nextEl).length === 1) {\n $nextEl = swiper.$el.find(params.nextEl);\n }\n }\n\n if (params.prevEl) {\n $prevEl = $(params.prevEl);\n\n if (swiper.params.uniqueNavElements && typeof params.prevEl === 'string' && $prevEl.length > 1 && swiper.$el.find(params.prevEl).length === 1) {\n $prevEl = swiper.$el.find(params.prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', swiper.navigation.onNextClick);\n }\n\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', swiper.navigation.onPrevClick);\n }\n\n extend(swiper.navigation, {\n $nextEl: $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl: $prevEl,\n prevEl: $prevEl && $prevEl[0]\n });\n\n if (!swiper.enabled) {\n if ($nextEl) $nextEl.addClass(params.lockClass);\n if ($prevEl) $prevEl.addClass(params.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var _swiper$navigation2 = swiper.navigation,\n $nextEl = _swiper$navigation2.$nextEl,\n $prevEl = _swiper$navigation2.$prevEl;\n\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', swiper.navigation.onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', swiper.navigation.onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n};\nexport default {\n name: 'navigation',\n params: {\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n navigation: _extends({}, Navigation)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.navigation.init();\n swiper.navigation.update();\n },\n toEdge: function toEdge(swiper) {\n swiper.navigation.update();\n },\n fromEdge: function fromEdge(swiper) {\n swiper.navigation.update();\n },\n destroy: function destroy(swiper) {\n swiper.navigation.destroy();\n },\n 'enable disable': function enableDisable(swiper) {\n var _swiper$navigation3 = swiper.navigation,\n $nextEl = _swiper$navigation3.$nextEl,\n $prevEl = _swiper$navigation3.$prevEl;\n\n if ($nextEl) {\n $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n\n if ($prevEl) {\n $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n },\n click: function click(swiper, e) {\n var _swiper$navigation4 = swiper.navigation,\n $nextEl = _swiper$navigation4.$nextEl,\n $prevEl = _swiper$navigation4.$prevEl;\n var targetEl = e.target;\n\n if (swiper.params.navigation.hideOnClick && !$(targetEl).is($prevEl) && !$(targetEl).is($nextEl)) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n var isHidden;\n\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n\n if (isHidden === true) {\n swiper.emit('navigationShow');\n } else {\n swiper.emit('navigationHide');\n }\n\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, classesToSelector, createElementIfNotDefined } from '../../utils/utils';\nvar Pagination = {\n update: function update() {\n // Render || Update Pagination bullets/items\n var swiper = this;\n var rtl = swiper.rtl;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el; // Current/Total\n\n var current;\n var total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n var bullets = swiper.pagination.bullets;\n var firstIndex;\n var lastIndex;\n var midIndex;\n\n if (params.dynamicBullets) {\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', swiper.pagination.bulletSize * (params.dynamicMainBullets + 4) + \"px\");\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n swiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;\n\n if (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\n swiper.pagination.dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(params.bulletActiveClass + \" \" + params.bulletActiveClass + \"-next \" + params.bulletActiveClass + \"-next-next \" + params.bulletActiveClass + \"-prev \" + params.bulletActiveClass + \"-prev-prev \" + params.bulletActiveClass + \"-main\");\n\n if ($el.length > 1) {\n bullets.each(function (bullet) {\n var $bullet = $(bullet);\n var bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (bulletIndex === firstIndex) {\n $bullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n }\n\n if (bulletIndex === lastIndex) {\n $bullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n });\n } else {\n var $bullet = bullets.eq(current);\n var bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n var $firstDisplayedBullet = bullets.eq(firstIndex);\n var $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (var i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length - params.dynamicMainBullets) {\n for (var _i = params.dynamicMainBullets; _i >= 0; _i -= 1) {\n bullets.eq(bullets.length - _i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(params.bulletActiveClass + \"-prev\");\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n }\n\n if (params.dynamicBullets) {\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n var bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;\n var offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', bulletsOffset + \"px\");\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n var progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n var scale = (current + 1) / total;\n var scaleX = 1;\n var scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(classesToSelector(params.progressbarFillClass)).transform(\"translate3d(0,0,0) scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\").transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n swiper.emit('paginationRender', $el[0]);\n } else {\n swiper.emit('paginationUpdate', $el[0]);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n },\n render: function render() {\n // Render Container\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el;\n var paginationHTML = '';\n\n if (params.type === 'bullets') {\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.freeMode && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n\n for (var i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += \"<\" + params.bulletElement + \" class=\\\"\" + params.bulletClass + \"\\\">\";\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = \"\" + ' / ' + (\"\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = \"\";\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n swiper.emit('paginationRender', swiper.pagination.$el[0]);\n }\n },\n init: function init() {\n var swiper = this;\n swiper.params.pagination = createElementIfNotDefined(swiper.$el, swiper.params.pagination, swiper.params.createElements, {\n el: 'swiper-pagination'\n });\n var params = swiper.params.pagination;\n if (!params.el) return;\n var $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el);\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(\"\" + params.modifierClass + params.type + \"-dynamic\");\n swiper.pagination.dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n var index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n extend(swiper.pagination, {\n $el: $el,\n el: $el[0]\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n};\nexport default {\n name: 'pagination',\n params: {\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: function formatFractionCurrent(number) {\n return number;\n },\n formatFractionTotal: function formatFractionTotal(number) {\n return number;\n },\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n modifierClass: 'swiper-pagination-',\n // NEW\n currentClass: 'swiper-pagination-current',\n totalClass: 'swiper-pagination-total',\n hiddenClass: 'swiper-pagination-hidden',\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\n clickableClass: 'swiper-pagination-clickable',\n // NEW\n lockClass: 'swiper-pagination-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n pagination: _extends({\n dynamicBulletIndex: 0\n }, Pagination)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.pagination.init();\n swiper.pagination.render();\n swiper.pagination.update();\n },\n activeIndexChange: function activeIndexChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n swiper.pagination.update();\n }\n },\n snapIndexChange: function snapIndexChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.update();\n }\n },\n slidesLengthChange: function slidesLengthChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n snapGridLengthChange: function snapGridLengthChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n destroy: function destroy(swiper) {\n swiper.pagination.destroy();\n },\n 'enable disable': function enableDisable(swiper) {\n var $el = swiper.pagination.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n },\n click: function click(swiper, e) {\n var targetEl = e.target;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$el.length > 0 && !$(targetEl).hasClass(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n var isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n swiper.emit('paginationShow');\n } else {\n swiper.emit('paginationHide');\n }\n\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/* eslint no-underscore-dangle: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport { nextTick, bindModuleMethods } from '../../utils/utils';\nvar Autoplay = {\n run: function run() {\n var swiper = this;\n var $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n var delay = swiper.params.autoplay.delay;\n\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\n }\n\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = nextTick(function () {\n var autoplayResult;\n\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isBeginning) {\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isEnd) {\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n\n if (swiper.params.cssMode && swiper.autoplay.running) swiper.autoplay.run();else if (autoplayResult === false) {\n swiper.autoplay.run();\n }\n }, delay);\n },\n start: function start() {\n var swiper = this;\n if (typeof swiper.autoplay.timeout !== 'undefined') return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n swiper.emit('autoplayStart');\n swiper.autoplay.run();\n return true;\n },\n stop: function stop() {\n var swiper = this;\n if (!swiper.autoplay.running) return false;\n if (typeof swiper.autoplay.timeout === 'undefined') return false;\n\n if (swiper.autoplay.timeout) {\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = undefined;\n }\n\n swiper.autoplay.running = false;\n swiper.emit('autoplayStop');\n return true;\n },\n pause: function pause(speed) {\n var swiper = this;\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (swiper.autoplay.timeout) clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.paused = true;\n\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n swiper.autoplay.run();\n } else {\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].addEventListener(event, swiper.autoplay.onTransitionEnd);\n });\n }\n },\n onVisibilityChange: function onVisibilityChange() {\n var swiper = this;\n var document = getDocument();\n\n if (document.visibilityState === 'hidden' && swiper.autoplay.running) {\n swiper.autoplay.pause();\n }\n\n if (document.visibilityState === 'visible' && swiper.autoplay.paused) {\n swiper.autoplay.run();\n swiper.autoplay.paused = false;\n }\n },\n onTransitionEnd: function onTransitionEnd(e) {\n var swiper = this;\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== swiper.$wrapperEl[0]) return;\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].removeEventListener(event, swiper.autoplay.onTransitionEnd);\n });\n swiper.autoplay.paused = false;\n\n if (!swiper.autoplay.running) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.run();\n }\n },\n onMouseEnter: function onMouseEnter() {\n var swiper = this;\n\n if (swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.pause();\n }\n\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].removeEventListener(event, swiper.autoplay.onTransitionEnd);\n });\n },\n onMouseLeave: function onMouseLeave() {\n var swiper = this;\n\n if (swiper.params.autoplay.disableOnInteraction) {\n return;\n }\n\n swiper.autoplay.paused = false;\n swiper.autoplay.run();\n },\n attachMouseEvents: function attachMouseEvents() {\n var swiper = this;\n\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.$el.on('mouseenter', swiper.autoplay.onMouseEnter);\n swiper.$el.on('mouseleave', swiper.autoplay.onMouseLeave);\n }\n },\n detachMouseEvents: function detachMouseEvents() {\n var swiper = this;\n swiper.$el.off('mouseenter', swiper.autoplay.onMouseEnter);\n swiper.$el.off('mouseleave', swiper.autoplay.onMouseLeave);\n }\n};\nexport default {\n name: 'autoplay',\n params: {\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n autoplay: _extends({}, Autoplay, {\n running: false,\n paused: false\n })\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.autoplay.enabled) {\n swiper.autoplay.start();\n var document = getDocument();\n document.addEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);\n swiper.autoplay.attachMouseEvents();\n }\n },\n beforeTransitionStart: function beforeTransitionStart(swiper, speed, internal) {\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n swiper.autoplay.stop();\n }\n }\n },\n sliderFirstMove: function sliderFirstMove(swiper) {\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.pause();\n }\n }\n },\n touchEnd: function touchEnd(swiper) {\n if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.run();\n }\n },\n destroy: function destroy(swiper) {\n swiper.autoplay.detachMouseEvents();\n\n if (swiper.autoplay.running) {\n swiper.autoplay.stop();\n }\n\n var document = getDocument();\n document.removeEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);\n }\n }\n};","import { Component } from \"@/scripts/extends\";\r\n\r\nexport default (ctx) =>\r\n\tclass Hamburger extends Component(ctx) {\r\n\t\tevents() {\r\n\t\t\tthis.el.addEventListener(\"click\", (e) => this.onClick(e));\r\n\r\n\t\t\tctx.EventEmitter.on(ctx.CONSTANTS.EVENTS.SITE_HEADER_HAMBURGER_CLOSE, () => this.close());\r\n\t\t}\r\n\r\n\t\tmounted({ openCb = () => null } = {}) {\r\n\t\t\tthis.openCb = openCb;\r\n\t\t}\r\n\r\n\t\tonClick(e) {\r\n\t\t\te.preventDefault();\r\n\r\n\t\t\tthis.open();\r\n\t\t}\r\n\r\n\t\topen() {\r\n\t\t\tthis.el.setAttribute(\"aria-expanded\", \"true\");\r\n\r\n\t\t\tthis.openCb();\r\n\t\t}\r\n\r\n\t\tclose() {\r\n\t\t\tthis.el.setAttribute(\"aria-expanded\", \"false\");\r\n\t\t}\r\n\t};\r\n","import { Component } from \"@/scripts/extends\";\r\nimport { getBoundingBox } from \"@/scripts/utils/dom\";\r\nimport debounce from \"lodash.debounce\";\r\nimport ResizeObserver from \"resize-observer-polyfill\";\r\n\r\nexport default (ctx) =>\r\n\tclass NavCollapse extends Component(ctx) {\r\n\t\tevents() {\r\n\t\t\tthis.trigger.addEventListener(\"click\", () => this.toggle());\r\n\t\t\tthis.resizeObserver = new ResizeObserver(debounce(() => this.handleResize(), 100));\r\n\t\t\tthis.resizeObserver.observe(document.body);\r\n\t\t}\r\n\r\n\t\tmounted({ index, openCb = () => null } = {}) {\r\n\t\t\tthis.openCb = openCb;\r\n\t\t\tthis.index = index;\r\n\r\n\t\t\tthis.toggleClass = \"is-open\";\r\n\t\t\tthis.trigger = this.el.querySelector(\".c-nav-collapse__trigger\");\r\n\t\t\tthis.content = this.el.querySelector(\".c-nav-collapse__content\");\r\n\t\t\tthis.contentContainer = this.el.querySelector(\".c-nav-collapse__content-container\");\r\n\t\t\tthis.links = this.el.querySelectorAll(\".c-nav-collapse__link\");\r\n\r\n\t\t\tthis.isToggled = this.isToggled();\r\n\t\t}\r\n\r\n\t\tisToggled() {\r\n\t\t\treturn this.el.classList.contains(\".is-open\");\r\n\t\t}\r\n\r\n\t\ttoggle() {\r\n\t\t\tthis.isToggled = !this.isToggled;\r\n\r\n\t\t\tif (this.isToggled) {\r\n\t\t\t\tthis.open();\r\n\t\t\t} else {\r\n\t\t\t\tthis.close();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tgetHeight() {\r\n\t\t\treturn getBoundingBox(this.contentContainer, [\"height\"])[0];\r\n\t\t}\r\n\r\n\t\topen() {\r\n\t\t\tthis.update();\r\n\r\n\t\t\tthis.el.classList.add(this.toggleClass);\r\n\r\n\t\t\tthis.isToggled = true;\r\n\r\n\t\t\t[...this.links].forEach((link) => {\r\n\t\t\t\tlink.tabIndex = 0;\r\n\t\t\t});\r\n\r\n\t\t\tthis.openCb({\r\n\t\t\t\tindex: this.index,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tclose() {\r\n\t\t\tthis.content.style.height = 0;\r\n\r\n\t\t\tthis.el.classList.remove(this.toggleClass);\r\n\r\n\t\t\tthis.isToggled = false;\r\n\r\n\t\t\t[...this.links].forEach((link) => {\r\n\t\t\t\tlink.tabIndex = 1;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tupdate() {\r\n\t\t\tthis.height = this.getHeight();\r\n\t\t\tthis.content.style.height = `${this.height}px`;\r\n\t\t}\r\n\r\n\t\thandleResize() {\r\n\t\t\tif (this.isToggled) {\r\n\t\t\t\tthis.update();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n","import { Component } from \"@/scripts/extends\";\r\nimport { getBoundingBox } from \"@/scripts/utils/dom\";\r\nimport debounce from \"lodash.debounce\";\r\nimport ResizeObserver from \"resize-observer-polyfill\";\r\n\r\nexport default (ctx) =>\r\n\tclass Particles extends Component(ctx) {\r\n\t\tevents() {\r\n\t\t\tthis.resizeObserver = new ResizeObserver(debounce(() => this.handleResize(), 100));\r\n\t\t\tthis.resizeObserver.observe(document.body);\r\n\t\t}\r\n\r\n\t\tmounted() {\r\n\t\t\tthis.fps = 30;\r\n\t\t\tthis.points = [];\r\n\t\t\tthis.maxDist = 300;\r\n\t\t\tthis.color = \"255,255,255\";\r\n\t\t\tthis.speed = 0.5;\r\n\t\t\tthis.width = this.getWidth();\r\n\t\t\tthis.useFullWidth = this.el.hasAttribute(\"data-useFullWidth\")\r\n\t\t\t\t? this.el.getAttribute(\"data-useFullWidth\")\r\n\t\t\t\t: false;\r\n\t\t\tthis.displayWidth = this.useFullWidth ? this.width : this.width * 0.5;\r\n\t\t\tthis.height = this.getHeight();\r\n\r\n\t\t\tthis.initPoints = this.initPoints.bind(this);\r\n\t\t\tthis.init();\r\n\t\t}\r\n\r\n\t\tgetWidth() {\r\n\t\t\treturn getBoundingBox(this.el, [\"width\"])[0];\r\n\t\t}\r\n\r\n\t\tgetHeight() {\r\n\t\t\treturn getBoundingBox(this.el, [\"height\"])[0];\r\n\t\t}\r\n\r\n\t\tinit() {\r\n\t\t\tthis.canvas = this.el;\r\n\t\t\tthis.ctx = this.canvas.getContext(\"2d\", { alpha: false });\r\n\r\n\t\t\tthis.handleResize();\r\n\r\n\t\t\tif (window.innerWidth >= ctx.CONSTANTS.BREAKPOINTS[\"9\"]) {\r\n\t\t\t\tthis.generatePoints(60);\r\n\t\t\t\tthis.initPoints();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tinitPoints() {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\trequestAnimationFrame(this.initPoints);\r\n\t\t\t}, 1000 / this.fps);\r\n\r\n\t\t\tthis.ctx.clearRect(0, 0, this.width, this.height);\r\n\r\n\t\t\tthis.points.forEach((point) => {\r\n\t\t\t\tthis.collision(point, this.maxDist);\r\n\t\t\t\tthis.draw(point);\r\n\t\t\t\tthis.update(point);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tpoint() {\r\n\t\t\tthis.x = Math.floor(Math.random() * (this.displayWidth + this.maxDist) - this.maxDist * 0.5);\r\n\t\t\tthis.y = Math.floor(Math.random() * (this.height + this.maxDist) - this.maxDist * 0.5);\r\n\t\t\tthis.vx = Math.floor(Math.random() * 1 - 0.5);\r\n\t\t\tthis.vy = Math.floor(Math.random() * 1 - 0.5);\r\n\t\t\tthis.diameter = Math.floor(Math.random() * 6 + 4);\r\n\r\n\t\t\tthis.points.push({\r\n\t\t\t\tx: this.x,\r\n\t\t\t\ty: this.y,\r\n\t\t\t\tvx: this.vx,\r\n\t\t\t\tvy: this.vy,\r\n\t\t\t\tdiameter: this.diameter,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tgeneratePoints(amount) {\r\n\t\t\tfor (let i = 0; i < amount; i += 1) {\r\n\t\t\t\tthis.point();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tdraw({ x, y, diameter }) {\r\n\t\t\tthis.ctx.beginPath();\r\n\t\t\tthis.ctx.fillStyle = `rgba(${this.color}, 0.4)`;\r\n\t\t\tthis.ctx.arc(x, y, diameter, 0, 2 * Math.PI);\r\n\t\t\tthis.ctx.closePath();\r\n\t\t\tthis.ctx.fill();\r\n\t\t\tthis.ctx.strokeStyle = `rgba(${this.color}, 0.6)`;\r\n\t\t\tthis.ctx.stroke();\r\n\t\t}\r\n\r\n\t\tupdate(point) {\r\n\t\t\tconst ms = this.speed / 2;\r\n\r\n\t\t\tpoint.x += point.vx * ms;\r\n\t\t\tpoint.y += point.vy * ms;\r\n\r\n\t\t\tif (point.x > this.displayWidth + this.maxDist / 2) {\r\n\t\t\t\tpoint.x = -(this.maxDist / 2);\r\n\t\t\t} else if (point.x < -(this.maxDist / 2)) {\r\n\t\t\t\tpoint.x = this.displayWidth + this.maxDist / 2;\r\n\t\t\t}\r\n\r\n\t\t\tif (point.y > this.height + this.maxDist / 2) {\r\n\t\t\t\tpoint.y = -(this.maxDist / 2);\r\n\t\t\t} else if (point.y < -(this.maxDist / 2)) {\r\n\t\t\t\tpoint.y = this.height + this.maxDist / 2;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tcollision(pointObj, maxDist) {\r\n\t\t\tthis.points.forEach((point) => {\r\n\t\t\t\t// Do not intersect with itself\r\n\t\t\t\tif (pointObj !== point) {\r\n\t\t\t\t\tconst dist = Math.floor(\r\n\t\t\t\t\t\tMath.sqrt(Math.pow(pointObj.x - point.x, 2) + Math.pow(pointObj.y - point.y, 2))\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\tif (dist < maxDist) {\r\n\t\t\t\t\t\tthis.ctx.beginPath();\r\n\t\t\t\t\t\tthis.ctx.moveTo(pointObj.x, pointObj.y);\r\n\t\t\t\t\t\tthis.ctx.strokeStyle = `rgba(${this.color},${0.6 * Math.pow((maxDist - dist) / maxDist, 5)})`;\r\n\t\t\t\t\t\tthis.ctx.moveTo(pointObj.x, pointObj.y);\r\n\t\t\t\t\t\tthis.ctx.lineTo(point.x, point.y);\r\n\t\t\t\t\t\tthis.ctx.closePath();\r\n\t\t\t\t\t\tthis.ctx.lineWidth = 2;\r\n\t\t\t\t\t\tthis.ctx.stroke();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\thandleResize() {\r\n\t\t\tthis.width = this.getWidth();\r\n\t\t\tthis.displayWidth = this.useFullWidth ? this.width : this.width * 0.5;\r\n\t\t\tthis.height = this.getHeight();\r\n\r\n\t\t\tthis.scaleCanvas(this.width, this.height);\r\n\t\t}\r\n\r\n\t\tscaleCanvas(width, height) {\r\n\t\t\tconst devicePixelRatio = 1;\r\n\t\t\tconst backingStoreRatio =\r\n\t\t\t\tthis.ctx.webkitBackingStorePixelRatio ||\r\n\t\t\t\tthis.ctx.mozBackingStorePixelRatio ||\r\n\t\t\t\tthis.ctx.msBackingStorePixelRatio ||\r\n\t\t\t\tthis.ctx.oBackingStorePixelRatio ||\r\n\t\t\t\tthis.ctx.backingStorePixelRatio ||\r\n\t\t\t\t1;\r\n\t\t\tconst ratio = devicePixelRatio / backingStoreRatio;\r\n\r\n\t\t\tif (devicePixelRatio !== backingStoreRatio) {\r\n\t\t\t\tthis.canvas.width = width * ratio;\r\n\t\t\t\tthis.canvas.height = height * ratio;\r\n\r\n\t\t\t\tthis.canvas.style.width = `${width}px`;\r\n\t\t\t\tthis.canvas.style.height = `${height}px`;\r\n\t\t\t} else {\r\n\t\t\t\tthis.canvas.width = width;\r\n\t\t\t\tthis.canvas.height = height;\r\n\t\t\t\tthis.canvas.style.width = \"\";\r\n\t\t\t\tthis.canvas.style.height = \"\";\r\n\t\t\t}\r\n\r\n\t\t\tthis.ctx.scale(ratio, ratio);\r\n\t\t}\r\n\t};\r\n","import { Component } from \"@/scripts/extends\";\r\n\r\nexport default (ctx) =>\r\n\tclass Tabs extends Component(ctx) {\r\n\t\tmounted() {\r\n\t\t\tthis.tabs = this.el.querySelectorAll(\".c-tabs__button\");\r\n\r\n\t\t\tthis.initTabs();\r\n\t\t}\r\n\r\n\t\tinitTabs() {\r\n\t\t\treturn [...this.tabs].map((tab) => tab.addEventListener(\"click\", (e) => this.click(e)));\r\n\t\t}\r\n\r\n\t\tclick({ currentTarget }) {\r\n\t\t\tcurrentTarget.scrollIntoView({\r\n\t\t\t\tblock: \"nearest\",\r\n\t\t\t\tinline: \"center\",\r\n\t\t\t\tbehavior: \"smooth\",\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n","import Accordeon from \"./Accordeon/Accordeon.scripts\";\r\nimport Carousel from \"./Carousel/Carousel.scripts\";\r\nimport Collapse from \"./Collapse/Collapse.scripts\";\r\nimport Cookiebanner from \"./Cookiebanner/Cookiebanner.scripts\";\r\nimport Flyout from \"./Flyout/Flyout.scripts\";\r\nimport Hamburger from \"./Hamburger/Hamburger.scripts\";\r\nimport InputSubmit from \"./InputSubmit/InputSubmit.scripts\";\r\nimport NavCollapse from \"./NavCollapse/NavCollapse.scripts\";\r\nimport Particles from \"./Particles/Particles.scripts\";\r\nimport SiteHeader from \"./SiteHeader/SiteHeader.scripts\";\r\nimport SiteMobileNav from \"./SiteMobileNav/SiteMobileNav.scripts\";\r\nimport SiteMobileOverlay from \"./SiteMobileOverlay/SiteMobileOverlay.scripts\";\r\nimport Tabs from \"./Tabs/Tabs.scripts\";\r\n\r\nexport default {\r\n\tSiteHeader,\r\n\tHamburger,\r\n\tFlyout,\r\n\tCollapse,\r\n\tInputSubmit,\r\n\tNavCollapse,\r\n\tSiteMobileOverlay,\r\n\tSiteMobileNav,\r\n\tAccordeon,\r\n\tCarousel,\r\n\tTabs,\r\n\tParticles,\r\n\tCookiebanner,\r\n};\r\n","import Hamburger from \"@/components/Hamburger/Hamburger.scripts\";\r\nimport { Component } from \"@/scripts/extends\";\r\nimport Headroom from \"headroom.js\";\r\n\r\nexport default (ctx) =>\r\n\tclass SiteHeader extends Component(ctx) {\r\n\t\tmounted() {\r\n\t\t\tthis.darkClass = \"s-dark\";\r\n\r\n\t\t\tthis.isDark = this.initialIsDark();\r\n\r\n\t\t\tthis.headRoom = new Headroom(this.el, {\r\n\t\t\t\toffset: 50,\r\n\t\t\t\tclasses: {\r\n\t\t\t\t\tpinned: \"c-site-header--pinned\",\r\n\t\t\t\t\tunpinned: \"c-site-header--unpinned\",\r\n\t\t\t\t},\r\n\t\t\t\tonTop: () => this.onTop(),\r\n\t\t\t\tonNotTop: () => this.onNotTop(),\r\n\t\t\t});\r\n\r\n\t\t\tthis.headRoom.init();\r\n\r\n\t\t\tthis.hamburger = new (Hamburger(ctx))(this.el.querySelector(\".c-site-header__hamburger\"), {\r\n\t\t\t\topenCb: () => this.onEnableHamburger(),\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tinitialIsDark() {\r\n\t\t\treturn this.el.classList.contains(this.darkClass);\r\n\t\t}\r\n\r\n\t\tonEnableHamburger() {\r\n\t\t\tctx.EventEmitter.emit(ctx.CONSTANTS.EVENTS.SITE_HEADER_HAMBURGER_OPEN);\r\n\t\t}\r\n\r\n\t\tonTop() {\r\n\t\t\tif (this.isDark && !this.initialIsDark()) {\r\n\t\t\t\tthis.el.classList.add(this.darkClass);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tonNotTop() {\r\n\t\t\tif (this.isDark && this.initialIsDark()) {\r\n\t\t\t\tthis.el.classList.remove(this.darkClass);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n","import { Component } from \"@/scripts/extends\";\r\nimport { getBoundingBox } from \"@/scripts/utils/dom\";\r\nimport debounce from \"lodash.debounce\";\r\nimport ResizeObserver from \"resize-observer-polyfill\";\r\n\r\nexport default (ctx) =>\r\n\tclass Flyout extends Component(ctx) {\r\n\t\tevents() {\r\n\t\t\tthis.resizeObserver = new ResizeObserver(debounce(() => this.handleResize(), 100));\r\n\t\t\tthis.resizeObserver.observe(document.body);\r\n\t\t}\r\n\r\n\t\tmounted() {\r\n\t\t\tthis.content = this.el.querySelector(\".c-flyout__content\");\r\n\r\n\t\t\tthis.handleResize();\r\n\t\t}\r\n\r\n\t\thandleResize() {\r\n\t\t\tthis.handleOffset();\r\n\t\t}\r\n\r\n\t\tresetOffset() {\r\n\t\t\tthis.content.removeAttribute(\"style\");\r\n\t\t}\r\n\r\n\t\thandleOffset() {\r\n\t\t\tthis.resetOffset();\r\n\r\n\t\t\tconst boundingBox = getBoundingBox(this.content, [\"x\", \"width\"]);\r\n\t\t\tconst x = boundingBox[0];\r\n\t\t\tconst width = boundingBox[1];\r\n\r\n\t\t\tif (x < 0) {\r\n\t\t\t\tthis.setOffsetFromLeft(x);\r\n\t\t\t} else if (x > 0) {\r\n\t\t\t\tthis.setOffsetFromRight(x, width);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tsetOffsetFromLeft(x) {\r\n\t\t\tconst absoluteX = Math.abs(x);\r\n\t\t\tconst viewportSpacing = 15;\r\n\t\t\tconst offset = absoluteX + viewportSpacing;\r\n\r\n\t\t\tthis.content.style.marginLeft = `${offset}px`;\r\n\t\t\tthis.content.style.maxWidth = `calc(100vw - ${this.viewportSpacing * 2}px)`;\r\n\t\t}\r\n\r\n\t\tsetOffsetFromRight(x, width) {\r\n\t\t\tconst vw = getBoundingBox(document.body, [\"width\"])[0];\r\n\t\t\tconst viewportSpacing = 15;\r\n\t\t\tconst distanceFromLeft = x + width + viewportSpacing;\r\n\t\t\tconst offset = vw - distanceFromLeft;\r\n\r\n\t\t\tif (offset >= 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.content.style.marginLeft = `${offset}px`;\r\n\t\t\tthis.content.style.maxWidth = `calc(100vw - ${this.viewportSpacing * 2}px)`;\r\n\t\t}\r\n\t};\r\n","import { Component } from \"@/scripts/extends\";\r\n\r\nexport default (ctx) =>\r\n\tclass InputSubmit extends Component(ctx) {\r\n\t\tevents() {\r\n\t\t\tif (this.target) {\r\n\t\t\t\tthis.target.addEventListener(\"focus\", () => this.onFocus());\r\n\t\t\t\tthis.target.addEventListener(\"blur\", () => this.onBlur());\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tmounted() {\r\n\t\t\tthis.isFocusedClass = \"is-focused\";\r\n\t\t\tthis.isFocused = this.initIsFocused();\r\n\t\t\tthis.target = this.el.querySelector(\".c-input-submit__field\");\r\n\t\t}\r\n\r\n\t\tinitIsFocused() {\r\n\t\t\treturn this.el.classList.contains(this.isFocusedClass);\r\n\t\t}\r\n\r\n\t\tonFocus() {\r\n\t\t\tthis.focus();\r\n\t\t}\r\n\r\n\t\tonBlur() {\r\n\t\t\tthis.blur();\r\n\t\t}\r\n\r\n\t\tfocus() {\r\n\t\t\tthis.isFocused = true;\r\n\t\t\tthis.el.classList.add(this.isFocusedClass);\r\n\t\t}\r\n\r\n\t\tblur() {\r\n\t\t\tthis.isFocused = false;\r\n\t\t\tthis.el.classList.remove(this.isFocusedClass);\r\n\t\t}\r\n\t};\r\n","import { Component } from \"@/scripts/extends\";\r\n\r\nexport default (ctx) =>\r\n\tclass SiteMobileOverlay extends Component(ctx) {\r\n\t\tevents() {\r\n\t\t\tthis.close.addEventListener(\"click\", (e) => this.onClick(e));\r\n\r\n\t\t\tctx.EventEmitter.on(ctx.CONSTANTS.EVENTS.SITE_HEADER_HAMBURGER_OPEN, () =>\r\n\t\t\t\tthis.onSiteHeaderHamburgerOpen()\r\n\t\t\t);\r\n\t\t\tctx.EventEmitter.on(ctx.CONSTANTS.EVENTS.SITE_HEADER_HAMBURGER_CLOSE, () =>\r\n\t\t\t\tthis.onSiteHeaderHamburgerClose()\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tmounted() {\r\n\t\t\tthis.isShownClass = \"is-shown\";\r\n\t\t\tthis.isShown = this.initIsShown();\r\n\r\n\t\t\tthis.close = this.el.querySelector(\".c-site-mobile-overlay__close\");\r\n\t\t}\r\n\r\n\t\tonClick(e) {\r\n\t\t\te.preventDefault();\r\n\r\n\t\t\tctx.EventEmitter.emit(ctx.CONSTANTS.EVENTS.SITE_HEADER_HAMBURGER_CLOSE);\r\n\t\t}\r\n\r\n\t\tinitIsShown() {\r\n\t\t\treturn this.el.classList.contains(this.isShownClass);\r\n\t\t}\r\n\r\n\t\tonSiteHeaderHamburgerOpen() {\r\n\t\t\tthis.show();\r\n\t\t}\r\n\r\n\t\tonSiteHeaderHamburgerClose() {\r\n\t\t\tthis.hide();\r\n\t\t}\r\n\r\n\t\tshow() {\r\n\t\t\tthis.isShown = true;\r\n\t\t\tthis.el.classList.add(this.isShownClass);\r\n\r\n\t\t\tctx.EventEmitter.emit(ctx.CONSTANTS.EVENTS.SITE_MOBILE_OVERLAY_SHOW);\r\n\t\t}\r\n\r\n\t\thide() {\r\n\t\t\tthis.isShown = false;\r\n\t\t\tthis.el.classList.remove(this.isShownClass);\r\n\r\n\t\t\tctx.EventEmitter.emit(ctx.CONSTANTS.EVENTS.SITE_MOBILE_OVERLAY_HIDE);\r\n\t\t}\r\n\t};\r\n","import NavCollapse from \"@/components/NavCollapse/NavCollapse.scripts\";\r\nimport { Component } from \"@/scripts/extends\";\r\n\r\nexport default (ctx) =>\r\n\tclass SiteMobileNav extends Component(ctx) {\r\n\t\tmounted() {\r\n\t\t\tthis.items = this.el.querySelectorAll(\".c-site-mobile-nav__collapse\");\r\n\r\n\t\t\tthis.collapses = this.initCollapses();\r\n\t\t}\r\n\r\n\t\tinitCollapses() {\r\n\t\t\treturn [...this.items].map(\r\n\t\t\t\t(item, index) =>\r\n\t\t\t\t\tnew (NavCollapse(ctx))(item, {\r\n\t\t\t\t\t\tindex,\r\n\t\t\t\t\t\topenCb: (params) => this.disableCollapses(params),\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tdisableCollapses({ index }) {\r\n\t\t\tthis.collapses.forEach((collapse) => {\r\n\t\t\t\tif (collapse.index !== index && collapse.isToggled) {\r\n\t\t\t\t\tcollapse.close();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n","import Collapse from \"@/components/Collapse/Collapse.scripts\";\r\nimport { Component } from \"@/scripts/extends\";\r\n\r\nexport default (ctx) =>\r\n\tclass Accordeon extends Component(ctx) {\r\n\t\tmounted() {\r\n\t\t\tthis.items = this.el.querySelectorAll(\".c-accordeon__item\");\r\n\r\n\t\t\tthis.collapses = this.initCollapses();\r\n\t\t}\r\n\r\n\t\tinitCollapses() {\r\n\t\t\treturn [...this.items].map(\r\n\t\t\t\t(item, index) =>\r\n\t\t\t\t\tnew (Collapse(ctx))(item, {\r\n\t\t\t\t\t\tindex,\r\n\t\t\t\t\t\topenCb: (params) => this.disableCollapses(params),\r\n\t\t\t\t\t})\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tdisableCollapses({ index }) {\r\n\t\t\tthis.collapses.forEach((collapse) => {\r\n\t\t\t\tif (collapse.index !== index && collapse.isToggled) {\r\n\t\t\t\t\tcollapse.close();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n","import { Component } from \"@/scripts/extends\";\r\nimport Swiper, { Navigation, Pagination, Autoplay } from \"swiper\";\r\n\r\nexport default (ctx) =>\r\n\tclass Carousel extends Component(ctx) {\r\n\t\tmounted() {\r\n\t\t\tSwiper.use([Navigation, Pagination, Autoplay]);\r\n\r\n\t\t\tthis.initSwiper();\r\n\t\t}\r\n\r\n\t\tinitSwiper() {\r\n\t\t\tthis.swiper = new Swiper(this.el.querySelector(\".c-carousel__container\"), {\r\n\t\t\t\tloop: true,\r\n\t\t\t\tsimulateTouch: false,\r\n\t\t\t\tautoplay: {\r\n\t\t\t\t\tdelay: 15000,\r\n\t\t\t\t},\r\n\t\t\t\tpagination: {\r\n\t\t\t\t\tel: \".c-carousel__pagination\",\r\n\t\t\t\t\trenderBullet(_, className) {\r\n\t\t\t\t\t\treturn ``;\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tnavigation: {\r\n\t\t\t\t\tnextEl: \".c-carousel__next\",\r\n\t\t\t\t\tprevEl: \".c-carousel__prev\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n","import { Component } from \"@/scripts/extends\";\r\n\r\nexport default (ctx) =>\r\n\tclass Cookiebanner extends Component(ctx) {\r\n\t\tevents() {\r\n\t\t\tthis.acceptAll.addEventListener(\"click\", () => this.acceptAllCookies());\r\n\t\t\tthis.getPreferences.addEventListener(\"click\", () => this.getPreferencesBanner());\r\n\t\t\tthis.acceptAllPreferences.addEventListener(\"click\", () => this.acceptAllCookies());\r\n\t\t\tthis.goBack.addEventListener(\"click\", () => this.goBackToAllBanner());\r\n\t\t\tthis.acceptSelection.addEventListener(\"click\", () => this.getAllCheckBoxes());\r\n\t\t}\r\n\r\n\t\tmounted({ openCb = () => null } = {}) {\r\n\t\t\tthis.preferencesBanner = this.el.querySelector(\".preferences-cookies\");\r\n\t\t\tthis.acceptAllBanner = this.el.querySelector(\".all-cookies\");\r\n\t\t\tthis.preferencesBanner.style.display = \"none\";\r\n\t\t\tthis.openCb = openCb;\r\n\t\t\tthis.daysToExpire = new Date(new Date().setMonth(new Date().getMonth() + 12));\r\n\t\t\tthis.acceptAll = this.el.querySelector(\".c-cookiebanner__accept-all\");\r\n\t\t\tthis.acceptSelection = this.el.querySelector(\".c-cookiebanner__accept-selection\");\r\n\t\t\tthis.acceptAllPreferences = this.el.querySelector(\".c-cookiebanner__accept-all-preferences\");\r\n\t\t\tthis.getPreferences = this.el.querySelector(\".c-cookiebanner__get-preferences\");\r\n\t\t\tthis.goBack = this.el.querySelector(\".c-cookiebanner__back\");\r\n\t\t\tif (!this.hasCookie()) {\r\n\t\t\t\tthis.el.classList.add(\"is-open\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thasCookie() {\r\n\t\t\tconst cookie = this.getCookie();\r\n\t\t\tif (cookie !== \"\") {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tgetAllCheckBoxes() {\r\n\t\t\tconst checkboxes = this.el.querySelectorAll(\".c-toggle__input:checked\");\r\n\t\t\tconst checkboxIDs = [];\r\n\t\t\tcheckboxes.forEach((element) => {\r\n\t\t\t\tcheckboxIDs.push(parseInt(element.id));\r\n\t\t\t});\r\n\t\t\tconst maxCookieLevel = Math.max(...checkboxIDs);\r\n\t\t\tdocument.cookie = `frdncookieconsent=${maxCookieLevel};path=/;SameSite=Lax;expires=${this.daysToExpire}`;\r\n\t\t\tthis.el.classList.remove(\"is-open\");\r\n\t\t}\r\n\r\n\t\tgetCookie() {\r\n\t\t\tconst name = \"frdncookieconsent\";\r\n\t\t\tconst decodedCookie = decodeURIComponent(document.cookie);\r\n\t\t\tconst ca = decodedCookie.split(\";\");\r\n\t\t\tfor (let i = 0; i < ca.length; i += 1) {\r\n\t\t\t\tlet c = ca[i];\r\n\t\t\t\twhile (c.charAt(0) === \" \") {\r\n\t\t\t\t\tc = c.substring(1);\r\n\t\t\t\t}\r\n\t\t\t\tif (c.indexOf(name) === 0) {\r\n\t\t\t\t\treturn c.substring(name.length, c.length);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\tacceptAllCookies() {\r\n\t\t\tdocument.cookie = `frdncookieconsent=2;path=/;SameSite=Lax;expires=${this.daysToExpire}`;\r\n\t\t\tthis.el.classList.remove(\"is-open\");\r\n\t\t}\r\n\r\n\t\tgoBackToAllBanner() {\r\n\t\t\tthis.acceptAllBanner.style.display = \"block\";\r\n\t\t\tthis.preferencesBanner.style.display = \"none\";\r\n\t\t}\r\n\r\n\t\tgetPreferencesBanner() {\r\n\t\t\tthis.acceptAllBanner.style.display = \"none\";\r\n\t\t\tthis.preferencesBanner.style.display = \"block\";\r\n\t\t}\r\n\t};\r\n","import { Component } from \"@/scripts/extends\";\r\n\r\nexport default (ctx) =>\r\n\tclass Body extends Component(ctx) {\r\n\t\tevents() {\r\n\t\t\tctx.EventEmitter.on(ctx.CONSTANTS.EVENTS.SITE_MOBILE_OVERLAY_SHOW, () => this.toggleSiteMobileOverlay());\r\n\t\t\tctx.EventEmitter.on(ctx.CONSTANTS.EVENTS.SITE_MOBILE_OVERLAY_HIDE, () => this.toggleSiteMobileOverlay());\r\n\t\t}\r\n\r\n\t\tmounted() {\r\n\t\t\tthis.isScrollDisabledClass = \"has-scroll-disabled\";\r\n\t\t}\r\n\r\n\t\ttoggleSiteMobileOverlay() {\r\n\t\t\tthis.el.classList.toggle(this.isScrollDisabledClass);\r\n\t\t}\r\n\t};\r\n","import Body from \"./Body\";\r\n\r\nexport default {\r\n\tBody,\r\n};\r\n","/**\r\n * Import and load the main css file (this is exported in their separate css\r\n * file main.css when buildling)\r\n */\r\nimport \"@/styles/main.scss\";\r\n\r\nimport components from \"@/components\";\r\nimport { init as initComponent } from \"@/scripts/utils/dom\";\r\n\r\nimport globalComponents from \"./components\";\r\n\r\nconst init = () => {\r\n\tinitComponent(document.body, globalComponents.Body);\r\n\r\n\tinitComponent(\".js-carousel\", components.Carousel);\r\n\tinitComponent(\".js-collapse\", components.Collapse);\r\n\tinitComponent(\".js-nav-collapse\", components.NavCollapse);\r\n\tinitComponent(\".js-hamburger\", components.Hamburger);\r\n\tinitComponent(\".js-site-header\", components.SiteHeader);\r\n\tinitComponent(\".js-site-mobile-overlay\", components.SiteMobileOverlay);\r\n\tinitComponent(\".js-site-mobile-nav\", components.SiteMobileNav);\r\n\tinitComponent(\".js-flyout\", components.Flyout);\r\n\tinitComponent(\".js-accordeon\", components.Accordeon);\r\n\tinitComponent(\".js-tabs\", components.Tabs);\r\n\tinitComponent(\".js-particles\", components.Particles);\r\n\tinitComponent(\".js-input-submit\", components.InputSubmit);\r\n\tinitComponent(\".js-cookiebanner\", components.Cookiebanner);\r\n};\r\n\r\n/**\r\n * Check if the document is ready to initialise the JavaScript components.\r\n * Interactive indicates: execute when document has finished loading, but\r\n * images, stylesheets and frames are still loading.\r\n *\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState\r\n */\r\ndocument.onreadystatechange = () => {\r\n\tif (document.readyState === \"interactive\") {\r\n\t\tinit();\r\n\t}\r\n};\r\n"],"sourceRoot":""}