{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/utils/utils.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/ssr-window/ssr-window.esm.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/dom7/dom7.esm.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/utils/dom.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_wks.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_global.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_an-object.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_core.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_is-object.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_descriptors.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_object-dp.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_has.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_hide.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_redefine.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_fails.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_ctx.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_uid.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_cof.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_shared.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_a-function.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_iterators.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_classof.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_export.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_library.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_property-desc.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_to-iobject.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_dom-create.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_to-length.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_to-integer.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_to-primitive.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_set-to-string-tag.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_defined.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_ie8-dom-define.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_object-keys.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_to-object.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/es6.object.to-string.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/utils/get-support.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/utils/get-device.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/utils/get-browser.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/modules/resize/resize.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/modules/observer/observer.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/events/onTouchStart.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/events/onTouchMove.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/events/onTouchEnd.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/events/onResize.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/events/onClick.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/events/onScroll.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/events/index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/check-overflow/index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/defaults.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/core-class.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/modular.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/events-emitter.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/update/index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/update/updateSize.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/update/updateSlides.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/update/updateAutoHeight.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/update/updateSlidesOffset.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/update/updateSlidesProgress.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/update/updateProgress.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/update/updateSlidesClasses.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/update/updateActiveIndex.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/update/updateClickedSlide.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/translate/index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/translate/getTranslate.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/translate/setTranslate.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/translate/minTranslate.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/translate/maxTranslate.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/translate/translateTo.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/transition/index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/transition/setTransition.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/transition/transitionStart.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/transition/transitionEnd.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/slide/index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/slide/slideTo.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/slide/slideToLoop.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/slide/slideNext.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/slide/slidePrev.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/slide/slideReset.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/slide/slideToClosest.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/slide/slideToClickedSlide.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/loop/index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/loop/loopCreate.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/loop/loopFix.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/loop/loopDestroy.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/grab-cursor/index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/grab-cursor/setGrabCursor.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/grab-cursor/unsetGrabCursor.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/manipulation/index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/manipulation/appendSlide.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/manipulation/prependSlide.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/manipulation/addSlide.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/manipulation/removeSlide.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/manipulation/removeAllSlides.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/breakpoints/index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/breakpoints/setBreakpoint.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/breakpoints/getBreakpoint.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/classes/index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/classes/addClasses.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/classes/removeClasses.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/images/index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/images/loadImage.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/core/images/preloadImages.js","webpack:///(webpack)/buildin/global.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_function-to-string.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_shared-key.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_enum-bug-keys.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_html.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_iter-call.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_is-array-iter.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/core.get-iterator-method.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_iter-detect.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_object-keys-internal.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_iobject.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/navigation/navigation.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/swiper/esm/components/a11y/a11y.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/process/browser.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_array-includes.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_to-absolute-index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_object-pie.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/es6.array.iterator.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/es6.symbol.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_wks-ext.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_object-gops.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_is-array.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_object-create.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_object-gopn.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/es6.array.from.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/es6.string.iterator.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_iter-define.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/web.dom.iterable.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_regexp-exec.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/promise-polyfill/src/finally.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/promise-polyfill/src/allSettled.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/promise-polyfill/src/index.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/timers-browserify/main.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/setimmediate/setImmediate.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_meta.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_wks-define.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_enum-keys.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_object-dps.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_object-gopn-ext.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_object-gopd.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_create-property.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_string-at.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_iter-create.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_object-gpo.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_add-to-unscopables.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_iter-step.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/es6.array.filter.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_array-methods.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_array-species-create.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_array-species-constructor.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_strict-method.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/es6.regexp.search.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_same-value.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_fix-re-wks.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/es6.regexp.exec.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/core-js/modules/_flags.js","webpack:////Users/matthaynes/projects/channel4-4talkseventsplatform/frontend-src/node_modules/whatwg-fetch/fetch.js","webpack:///./site/modules/splashVideo.js","webpack:///./site/modules/swiperSlider.js","webpack:///./site/modules/enableTabbing.js","webpack:///./site/modules/talksFilters.js","webpack:///./site/modules/validInputs.js","webpack:///./site/modules/siteSearch.js","webpack:///./site/modules/talkVideoControls.js","webpack:///./site/init.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","deleteProps","obj","keys","forEach","e","nextTick","callback","delay","setTimeout","now","Date","getTranslate","el","axis","matrix","curTransform","transformMatrix","window","curStyle","style","getComputedStyle","currentStyle","WebKitCSSMatrix","transform","webkitTransform","split","length","map","a","replace","join","MozTransform","OTransform","MsTransform","msTransform","getPropertyValue","toString","m41","parseFloat","m42","isObject","constructor","slice","isNode","node","HTMLElement","nodeType","extend","to","arguments","undefined","noExtend","nextSource","keysArray","filter","indexOf","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","__swiper__","bindModuleMethods","instance","subKey","classesToSelector","classes","trim","createElementIfNotDefined","$container","params","createElements","checkProps","document","auto","element","createElement","className","append","target","src","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","children","childNodes","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","this","Image","screen","clearTimeout","matchMedia","requestAnimationFrame","cancelAnimationFrame","id","getWindow","win","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","_construct","Parent","args","Class","push","apply","Function","_wrapNativeSuper","_cache","Map","fn","TypeError","has","set","Wrapper","writable","configurable","Dom7","_Array","subClass","superClass","items","_this","proto","concat","self","ReferenceError","_assertThisInitialized","Array","arrayFlat","arr","res","isArray","arrayFilter","$","selector","context","html","toCreate","tempParent","innerHTML","qsa","uniqueArray","arrayUnique","noTrigger","shortcut","_len","_key","trigger","on","Methods","addClass","classNames","_el$classList","classList","add","removeClass","_len2","_key2","_el$classList2","remove","hasClass","_len4","_key4","contains","toggleClass","_len3","_key3","toggle","attr","attrs","getAttribute","attrName","removeAttr","removeAttribute","transition","duration","transitionDuration","_len5","_key5","eventType","targetSelector","listener","capture","handleLiveEvent","eventData","dom7EventData","unshift","is","_parents","parents","k","handleEvent","j","events","_event","dom7LiveListeners","proxyListener","event","dom7Listeners","off","_len6","_key6","handlers","handler","dom7proxy","splice","_len9","_key9","evt","detail","bubbles","cancelable","data","dataIndex","dispatchEvent","transitionEnd","dom","fireCallBack","outerWidth","includeMargins","_styles","styles","offsetWidth","outerHeight","_styles2","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","css","props","_prop","each","index","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","newChild","tempDiv","firstChild","appendChild","prepend","insertBefore","next","nextElementSibling","nextAll","nextEls","_next","prev","previousElementSibling","prevAll","prevEls","_prev","parent","parentNode","_parent","closest","find","foundElements","found","removeChild","methodName","store","uid","USE_SYMBOL","global","Math","__g","it","core","version","__e","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","P","Attributes","createDesc","hide","SRC","$toString","TPL","inspectSource","val","safe","isFunction","String","exec","aFunction","that","b","px","random","copyright","cof","TAG","ARG","T","B","tryGet","callee","redefine","ctx","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","expProto","U","W","R","bitmap","IObject","defined","toInteger","min","ceil","floor","isNaN","valueOf","def","tag","stat","$keys","enumBugKeys","classof","test","browser","getSupport","touch","DocumentTouch","pointerEvents","PointerEvent","maxTouchPoints","observer","passiveListener","supportsPassive","opts","gestures","calcSupport","getDevice","overrides","_temp","support","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","isEdge","isSafari","toLowerCase","isWebView","calcBrowser","swiper","resize","createObserver","destroyed","initialized","ResizeObserver","entries","newWidth","newHeight","_ref","contentBoxSize","contentRect","inlineSize","blockSize","resizeHandler","observe","removeObserver","unobserve","emit","orientationChangeHandler","init","resizeObserver","destroy","_extends","assign","Observer","attach","options","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observers","observeParents","containerParents","$el","observeSlideChildren","$wrapperEl","disconnect","onTouchStart","touchEventsData","touches","enabled","animating","preventInteractionOnTransition","originalEvent","$targetEl","touchEventsTarget","wrapperEl","isTouchEvent","which","button","isTouched","isMoved","noSwipingClass","shadowRoot","path","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","abs","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","position","time","updateProgress","setTranslate","onTouchEnd","slidesGrid","snapGrid","currentPos","touchEndTime","timeDiff","updateClickedSlide","lastClickTime","slideTo","activeIndex","slides","freeModeMomentum","lastMoveEvent","pop","velocityEvent","distance","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","freeModeMomentumBounceRatio","freeModeMomentumBounce","centeredSlides","freeModeSticky","nextSlide","once","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","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","previousTranslate","scrollWidth","translatesDiff","progress","dummyEventAttached","dummyEventListener","direction","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","_defineProperties","descriptor","prototypes","modular","useParams","instanceParams","moduleName","useModules","modulesParams","moduleParams","moduleEventName","eventsEmitter","priority","method","eventsListeners","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventHandler","eventsArray","update","clientWidth","clientHeight","parseInt","Number","size","getDirectionLabel","getDirectionPropertyValue","label","swiperSize","wrongRTL","isVirtual","virtual","previousSlidesLength","slidesLength","offsetBefore","offsetAfter","previousSnapGridLength","previousSlidesGridLength","slidePosition","prevSlideSize","slidesNumberEvenToRows","slideSize","virtualSize","marginLeft","marginBottom","marginTop","marginRight","max","newSlidesGrid","_$wrapperEl$css","_$wrapperEl$css2","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","column","row","groupIndex","slideIndexInGroup","columnsInGroup","order","slideStyles","currentTransform","currentWebKitTransform","paddingLeft","paddingRight","boxSizing","_slide$","swiperSlideSize","_i","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","x","y","translateTo","runCallbacks","translateBounds","internal","newTranslate","_wrapperEl$scrollTo","isH","scrollTo","behavior","onTranslateToWrapperTransitionEnd","dir","initial","Error","indexAsNumber","isFinite","normalizedTranslate","normalizedGird","normalizedGridNext","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","slideNext","_clientLeft","slidePrev","normalize","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","start","move","end","passive","cancel","detachEvents","_swiper$loopedSlides","breakpoint","getBreakpoint","currentBreakpoint","breakpointOnlyParams","param","paramValue","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","emitContainerClasses","directionChanged","needsReLoop","changeDirection","isEnabled","disable","enable","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","sort","_points$i","wasLocked","lastSlidePosition","addClasses","prefix","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","Constructor","protoProps","staticProps","_proto","setProgress","current","getSlideClasses","slideEl","updates","spv","breakLoop","translateValue","newDirection","needUpdate","currentDirection","mount","mounted","getWrapperSelector","getWrapper","wrapper","deleteInstance","cleanStyles","extendDefaults","newDefaults","installModule","use","prototypeGroup","protoMethod","g","shared","documentElement","iterator","ret","Iterators","ITERATOR","ArrayProto","getIteratorMethod","SAFE_CLOSING","riter","from","skipClosing","iter","done","toIObject","arrayIndexOf","IE_PROTO","names","result","propertyIsEnumerable","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","A11y","getRandomNumber","repeat","round","makeElFocusable","makeElNotFocusable","addElRole","role","addElRoleDescription","description","addElControls","controls","addElLabel","addElId","addElLive","live","disableEl","enableEl","onEnterOrSpaceKey","keyCode","a11y","notify","lastSlideMessage","nextSlideMessage","firstSlideMessage","prevSlideMessage","bulletClass","message","notification","liveRegion","updateNavigation","updatePagination","bullets","bulletEl","$bulletEl","renderBullet","paginationBulletMessage","$containerEl","containerRoleDescriptionMessage","containerMessage","wrapperId","itemRoleDescriptionMessage","slideRole","$slideEl","ariaLabelMessage","slideLabelMessage","notificationClass","afterInit","paginationUpdate","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","marker","runClearTimeout","Item","array","noop","title","env","argv","versions","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","toLength","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","addToUnscopables","step","iterated","kind","_t","_k","Arguments","DESCRIPTORS","META","KEY","$fails","setToStringTag","wks","wksExt","wksDefine","enumKeys","toObject","_create","gOPNExt","$GOPD","$GOPS","$DP","gOPD","gOPN","$Symbol","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","isEnum","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","D","protoDesc","wrap","sym","isSymbol","$defineProperty","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","defineProperties","getOwnPropertyNames","getOwnPropertySymbols","FAILS_ON_PRIMITIVES","replacer","$replacer","arg","dPs","Empty","createDict","iframeDocument","iframe","display","contentWindow","open","write","lt","close","Properties","hiddenKeys","isArrayIter","createProperty","getIterFn","arrayLike","C","aLen","mapfn","mapping","iterFn","$at","LIBRARY","$iterCreate","BUGGY","returnThis","Base","NAME","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","values","$iterators","getKeys","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","re1","re2","regexpFlags","nativeExec","RegExp","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","str","lastIndex","reCopy","re","then","resolve","reason","reject","remaining","status","setTimeoutFunc","Boolean","Promise","_state","_handled","_value","_deferreds","doResolve","handle","deferred","_immediateFn","cb","onFulfilled","onRejected","promise","newValue","finale","thisArg","_unhandledRejectionFn","Handler","ex","prom","all","allSettled","race","setImmediate","err","console","warn","Timeout","clearFn","_id","_clearFn","scope","setInterval","clearInterval","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","attachTo","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","script","onreadystatechange","attachEvent","task","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","charAt","gOPS","pIE","getSymbols","symbols","windowNames","getWindowNames","TO_STRING","pos","charCodeAt","UNSCOPABLES","$filter","callbackfn","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","speciesConstructor","original","SPECIES","fails","sameValue","regExpExec","SEARCH","$search","maybeCallNative","regexp","rx","previousLastIndex","builtinExec","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","arg2","forceStringMethod","strfn","rxfn","string","forced","ignoreCase","multiline","unicode","sticky","globalThis","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","normalizeName","normalizeValue","iteratorFor","shift","Headers","headers","header","consumed","bodyUsed","fileReaderReady","reader","error","readBlobAsArrayBuffer","blob","FileReader","readAsArrayBuffer","bufferClone","buf","view","Uint8Array","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","arrayBuffer","isConsumed","byteOffset","readAsText","chars","fromCharCode","readArrayBufferAsText","formData","decode","json","parse","oldValue","Request","input","upcased","credentials","signal","toUpperCase","referrer","cache","reParamSearch","getTime","form","bytes","decodeURIComponent","Response","bodyInit","ok","statusText","clone","response","redirectStatuses","redirect","RangeError","DOMException","stack","fetch","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","fixUrl","withCredentials","responseType","setRequestHeader","readyState","send","polyfill","splashVideo","videoEl","videoControls","video","play","pause","checkpoint","opacity","currentScroll","pageYOffset","SwiperSlider","elem","enableTabbing","handleFirstTab","handleMouseDownOnce","talksFilters","filterButtons","filterLists","buttonFilter","dataset","filterData","filters","parentElement","radio","currentURL","URL","searchParams","category","sortby","checked","dataToFilterBy","baseURL","newURL","validInputs","siteSearch","searchInput","searchInputText","queryString","searchQuery","ASP","api","talkVideoControls","watchNowButton","headerInfo","pageContent","calcPositioning","vh","setProperty"],"mappings":"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","file":"site.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 = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 84);\n","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 };","/**\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 $;","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* 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 hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\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 id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = {};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(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 (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = false;\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","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","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 { 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}","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","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) 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 ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\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 { bindModuleMethods, classesToSelector } from '../../utils/utils';\nvar A11y = {\n getRandomNumber: function getRandomNumber(size) {\n if (size === void 0) {\n size = 16;\n }\n\n var randomChar = function randomChar() {\n return Math.round(16 * Math.random()).toString(16);\n };\n\n return 'x'.repeat(size).replace(/x/g, randomChar);\n },\n makeElFocusable: function makeElFocusable($el) {\n $el.attr('tabIndex', '0');\n return $el;\n },\n makeElNotFocusable: function makeElNotFocusable($el) {\n $el.attr('tabIndex', '-1');\n return $el;\n },\n addElRole: function addElRole($el, role) {\n $el.attr('role', role);\n return $el;\n },\n addElRoleDescription: function addElRoleDescription($el, description) {\n $el.attr('aria-roledescription', description);\n return $el;\n },\n addElControls: function addElControls($el, controls) {\n $el.attr('aria-controls', controls);\n return $el;\n },\n addElLabel: function addElLabel($el, label) {\n $el.attr('aria-label', label);\n return $el;\n },\n addElId: function addElId($el, id) {\n $el.attr('id', id);\n return $el;\n },\n addElLive: function addElLive($el, live) {\n $el.attr('aria-live', live);\n return $el;\n },\n disableEl: function disableEl($el) {\n $el.attr('aria-disabled', true);\n return $el;\n },\n enableEl: function enableEl($el) {\n $el.attr('aria-disabled', false);\n return $el;\n },\n onEnterOrSpaceKey: function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n var swiper = this;\n var params = swiper.params.a11y;\n var $targetEl = $(e.target);\n\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n\n if (swiper.isEnd) {\n swiper.a11y.notify(params.lastSlideMessage);\n } else {\n swiper.a11y.notify(params.nextSlideMessage);\n }\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n\n if (swiper.isBeginning) {\n swiper.a11y.notify(params.firstSlideMessage);\n } else {\n swiper.a11y.notify(params.prevSlideMessage);\n }\n }\n\n if (swiper.pagination && $targetEl.is(classesToSelector(swiper.params.pagination.bulletClass))) {\n $targetEl[0].click();\n }\n },\n notify: function notify(message) {\n var swiper = this;\n var notification = swiper.a11y.liveRegion;\n if (notification.length === 0) return;\n notification.html('');\n notification.html(message);\n },\n updateNavigation: function updateNavigation() {\n var swiper = this;\n if (swiper.params.loop || !swiper.navigation) 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 swiper.a11y.disableEl($prevEl);\n swiper.a11y.makeElNotFocusable($prevEl);\n } else {\n swiper.a11y.enableEl($prevEl);\n swiper.a11y.makeElFocusable($prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n swiper.a11y.disableEl($nextEl);\n swiper.a11y.makeElNotFocusable($nextEl);\n } else {\n swiper.a11y.enableEl($nextEl);\n swiper.a11y.makeElFocusable($nextEl);\n }\n }\n },\n updatePagination: function updatePagination() {\n var swiper = this;\n var params = swiper.params.a11y;\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.bullets.each(function (bulletEl) {\n var $bulletEl = $(bulletEl);\n swiper.a11y.makeElFocusable($bulletEl);\n\n if (!swiper.params.pagination.renderBullet) {\n swiper.a11y.addElRole($bulletEl, 'button');\n swiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, $bulletEl.index() + 1));\n }\n });\n }\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.a11y;\n swiper.$el.append(swiper.a11y.liveRegion); // Container\n\n var $containerEl = swiper.$el;\n\n if (params.containerRoleDescriptionMessage) {\n swiper.a11y.addElRoleDescription($containerEl, params.containerRoleDescriptionMessage);\n }\n\n if (params.containerMessage) {\n swiper.a11y.addElLabel($containerEl, params.containerMessage);\n } // Wrapper\n\n\n var $wrapperEl = swiper.$wrapperEl;\n var wrapperId = $wrapperEl.attr('id') || \"swiper-wrapper-\" + swiper.a11y.getRandomNumber(16);\n var live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n swiper.a11y.addElId($wrapperEl, wrapperId);\n swiper.a11y.addElLive($wrapperEl, live); // Slide\n\n if (params.itemRoleDescriptionMessage) {\n swiper.a11y.addElRoleDescription($(swiper.slides), params.itemRoleDescriptionMessage);\n }\n\n swiper.a11y.addElRole($(swiper.slides), params.slideRole);\n var slidesLength = swiper.params.loop ? swiper.slides.filter(function (el) {\n return !el.classList.contains(swiper.params.slideDuplicateClass);\n }).length : swiper.slides.length;\n swiper.slides.each(function (slideEl, index) {\n var $slideEl = $(slideEl);\n var slideIndex = swiper.params.loop ? parseInt($slideEl.attr('data-swiper-slide-index'), 10) : index;\n var ariaLabelMessage = params.slideLabelMessage.replace(/\\{\\{index\\}\\}/, slideIndex + 1).replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n swiper.a11y.addElLabel($slideEl, ariaLabelMessage);\n }); // Navigation\n\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl && $nextEl.length) {\n swiper.a11y.makeElFocusable($nextEl);\n\n if ($nextEl[0].tagName !== 'BUTTON') {\n swiper.a11y.addElRole($nextEl, 'button');\n $nextEl.on('keydown', swiper.a11y.onEnterOrSpaceKey);\n }\n\n swiper.a11y.addElLabel($nextEl, params.nextSlideMessage);\n swiper.a11y.addElControls($nextEl, wrapperId);\n }\n\n if ($prevEl && $prevEl.length) {\n swiper.a11y.makeElFocusable($prevEl);\n\n if ($prevEl[0].tagName !== 'BUTTON') {\n swiper.a11y.addElRole($prevEl, 'button');\n $prevEl.on('keydown', swiper.a11y.onEnterOrSpaceKey);\n }\n\n swiper.a11y.addElLabel($prevEl, params.prevSlideMessage);\n swiper.a11y.addElControls($prevEl, wrapperId);\n } // Pagination\n\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.on('keydown', classesToSelector(swiper.params.pagination.bulletClass), swiper.a11y.onEnterOrSpaceKey);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n if (swiper.a11y.liveRegion && swiper.a11y.liveRegion.length > 0) swiper.a11y.liveRegion.remove();\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl) {\n $nextEl.off('keydown', swiper.a11y.onEnterOrSpaceKey);\n }\n\n if ($prevEl) {\n $prevEl.off('keydown', swiper.a11y.onEnterOrSpaceKey);\n } // Pagination\n\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.off('keydown', classesToSelector(swiper.params.pagination.bulletClass), swiper.a11y.onEnterOrSpaceKey);\n }\n }\n};\nexport default {\n name: 'a11y',\n params: {\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n slideLabelMessage: '{{index}} / {{slidesLength}}',\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n itemRoleDescriptionMessage: null,\n slideRole: 'group'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n a11y: _extends({}, A11y, {\n liveRegion: $(\"\")\n })\n });\n },\n on: {\n afterInit: function afterInit(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.init();\n swiper.a11y.updateNavigation();\n },\n toEdge: function toEdge(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n fromEdge: function fromEdge(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n paginationUpdate: function paginationUpdate(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updatePagination();\n },\n destroy: function destroy(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.destroy();\n }\n }\n};","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","exports.f = {}.propertyIsEnumerable;\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\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\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","exports.f = require('./_wks');\n","exports.f = Object.getOwnPropertySymbols;\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\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;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = 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 // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","/**\n * @this {Promise}\n */\nfunction finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(\n function(value) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n },\n function(reason) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n // @ts-ignore\n return constructor.reject(reason);\n });\n }\n );\n}\n\nexport default finallyConstructor;\n","function allSettled(arr) {\n var P = this;\n return new P(function(resolve, reject) {\n if (!(arr && typeof arr.length !== 'undefined')) {\n return reject(\n new TypeError(\n typeof arr +\n ' ' +\n arr +\n ' is not iterable(cannot read property Symbol(Symbol.iterator))'\n )\n );\n }\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n function(e) {\n args[i] = { status: 'rejected', reason: e };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n );\n return;\n }\n }\n args[i] = { status: 'fulfilled', value: val };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n}\n\nexport default allSettled;\n","import promiseFinally from './finally';\nimport allSettled from './allSettled';\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction isArray(x) {\n return Boolean(x && typeof x.length !== 'undefined');\n}\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n return function() {\n fn.apply(thisArg, arguments);\n };\n}\n\n/**\n * @constructor\n * @param {Function} fn\n */\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n /** @type {!number} */\n this._state = 0;\n /** @type {!boolean} */\n this._handled = false;\n /** @type {Promise|undefined} */\n this._value = undefined;\n /** @type {!Array} */\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\n/**\n * @constructor\n */\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n // @ts-ignore\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = promiseFinally;\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.all accepts an array'));\n }\n\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.allSettled = allSettled;\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.race accepts an array'));\n }\n\n for (var i = 0, len = arr.length; i < len; i++) {\n Promise.resolve(arr[i]).then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n // @ts-ignore\n (typeof setImmediate === 'function' &&\n function(fn) {\n // @ts-ignore\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\nexport default Promise;\n","var scope = (typeof global !== \"undefined\" && global) ||\n (typeof self !== \"undefined\" && self) ||\n window;\nvar apply = Function.prototype.apply;\n\n// DOM APIs, for completeness\n\nexports.setTimeout = function() {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\nexports.setInterval = function() {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\nexports.clearTimeout =\nexports.clearInterval = function(timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\nTimeout.prototype.unref = Timeout.prototype.ref = function() {};\nTimeout.prototype.close = function() {\n this._clearFn.call(scope, this._id);\n};\n\n// Does not start the time, just sets up the members needed.\nexports.enroll = function(item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function(item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function(item) {\n clearTimeout(item._idleTimeoutId);\n\n var msecs = item._idleTimeout;\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout)\n item._onTimeout();\n }, msecs);\n }\n};\n\n// setimmediate attaches itself to the global object\nrequire(\"setimmediate\");\n// On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\nexports.setImmediate = (typeof self !== \"undefined\" && self.setImmediate) ||\n (typeof global !== \"undefined\" && global.setImmediate) ||\n (this && this.setImmediate);\nexports.clearImmediate = (typeof self !== \"undefined\" && self.clearImmediate) ||\n (typeof global !== \"undefined\" && global.clearImmediate) ||\n (this && this.clearImmediate);\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a