{"version":3,"sources":["libraries/swiper.js"],"names":["global","factory","exports","module","define","amd","self","Swiper","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","Constructor","protoProps","staticProps","prototype","_extends","assign","arguments","source","hasOwnProperty","call","apply","isObject","obj","constructor","extend","src","keys","forEach","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","_inheritsLoose","subClass","superClass","create","__proto__","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","toString","e","_construct","Parent","args","Class","a","push","Function","bind","instance","_isNativeFunction","fn","indexOf","_wrapNativeSuper","_cache","Map","undefined","TypeError","has","get","set","Wrapper","value","_assertThisInitialized","ReferenceError","makeReactive","proto","Dom7","_Array","items","_this","concat","Array","arrayFlat","arr","res","el","isArray","arrayFilter","filter","arrayUnique","uniqueArray","qsa","selector","context","$","html","trim","toCreate","tempParent","innerHTML","nodeType","addClass","_len","classes","_key","classNames","map","c","split","_el$classList","classList","add","removeClass","_len2","_key2","_el$classList2","remove","toggleClass","_len3","_key3","className","toggle","hasClass","_len4","_key4","contains","attr","attrs","getAttribute","attrName","removeAttr","removeAttribute","transform","transition","duration","on","_len5","_key5","eventType","targetSelector","listener","capture","handleLiveEvent","eventData","dom7EventData","unshift","is","_parents","parents","k","handleEvent","events","j","event","dom7Listeners","proxyListener","_event","dom7LiveListeners","off","_len6","_key6","handlers","handler","splice","dom7proxy","trigger","_len9","_key9","evt","detail","bubbles","cancelable","data","dataIndex","dispatchEvent","transitionEnd","dom","fireCallBack","outerWidth","includeMargins","_styles","styles","offsetWidth","parseFloat","outerHeight","_styles2","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","css","_prop","each","index","result","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","appendChild","prepend","insertBefore","next","nextElementSibling","nextAll","nextEls","_next","prev","previousElementSibling","prevAll","prevEls","_prev","parent","parentNode","_parent","closest","find","foundElements","found","removeChild","Methods","methodName","deleteProps","object","nextTick","delay","now","getTranslate","axis","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","webkitTransform","replace","join","MozTransform","OTransform","MsTransform","msTransform","m41","m42","isObject$1","extend$1","to","nextSource","keysArray","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","bindModuleMethods","subKey","support","calcSupport","touch","DocumentTouch","pointerEvents","PointerEvent","maxTouchPoints","observer","checkObserver","passiveListener","checkPassiveListener","supportsPassive","opts","gestures","checkGestures","getSupport","device","calcDevice","_temp","_ref","platform","ua","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","iPadScreens","os","getDevice","overrides","browser","calcBrowser","isSafari","toLowerCase","isEdge","isWebView","test","getBrowser","Resize","name","swiper","resize","resizeHandler","destroyed","initialized","emit","orientationChangeHandler","init","destroy","Observer","attach","options","ObserverFunc","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","observe","attributes","childList","characterData","observers","params","observeParents","containerParents","$el","observeSlideChildren","$wrapperEl","disconnect","Observer$1","modular","useParams","instanceParams","modules","moduleName","useModules","modulesParams","moduleParams","moduleEventName","eventsEmitter","priority","method","eventsListeners","once","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventHandler","slice","eventsArray","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","Number","isNaN","size","updateSlides","swiperSize","rtl","rtlTranslate","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slides","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","slidesForMargin","slideEl","slideIndex","cssMode","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginTop","marginRight","marginBottom","slidesNumberEvenToRows","slidesPerColumn","Math","floor","ceil","slidesPerView","slidesPerColumnFill","max","slideSize","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","column","row","slidesPerGroup","groupIndex","slideIndexInGroup","columnsInGroup","min","order","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","paddingTop","paddingBottom","_boxSizing","swiperSlideSize","centeredSlides","abs","slidesPerGroupSkip","newSlidesGrid","effect","setWrapperSize","_i","slidesGridItem","_i2","_slidesGridItem","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","_allSlidesSize","allSlidesOffset","snapIndex","watchOverflow","checkOverflow","watchSlidesProgress","watchSlidesVisibility","updateSlidesOffset","updateAutoHeight","speed","activeSlides","newHeight","setTransition","visibleSlides","activeIndex","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","translate","offsetCenter","slideVisibleClass","visibleSlidesIndexes","slideProgress","minTranslate","autoHeight","slideBefore","slideAfter","isVisible","progress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","updateSlidesClasses","realIndex","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","activeSlide","loop","slideDuplicateClass","nextSlide","prevSlide","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","skip","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","update","getSwiperTranslate","virtualTranslate","currentTranslate","setTranslate","byController","wrapperEl","x","y","z","previousTranslate","newProgress","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","scrollTo","_wrapperEl$scrollTo","behavior","onTranslateToWrapperTransitionEnd","transitionStart","direction","dir","transitionEnd$1","transition$1","slideTo","initialSlide","allowSlideNext","allowSlidePrev","t","scrollWidth","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","loopedSlides","slideNext","increment","loopPreventsSlide","loopFix","_clientLeft","slidePrev","normalize","val","normalizedTranslate","normalizedSnapGrid","currentSnap","prevSnap","prevIndex","slideReset","slideToClosest","threshold","nextSnap","_currentSnap","slidesPerViewDynamic","slideToIndex","loopCreate","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","prependSlides","appendSlides","cloneNode","snapTranslate","diff","slideChanged","_slideChanged","loopDestroy","setGrabCursor","moving","simulateTouch","isLocked","cursor","unsetGrabCursor","grabCursor","appendSlide","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","manipulation","onTouchStart","touchEventsData","touches","originalEvent","$targetEl","touchEventsTarget","isTouchEvent","type","which","button","isTouched","isMoved","noSwiping","noSwipingSelector","noSwipingClass","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","preventDefault","formElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","sqrt","pow","touchAngle","atan2","PI","touchMoveStopPropagation","nested","stopPropagation","startTranslate","allowMomentumBounce","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","freeMode","velocities","position","time","onTouchEnd","touchEndTime","timeDiff","lastClickTime","currentPos","freeModeMomentum","lastMoveEvent","pop","velocityEvent","distance","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","doBounce","afterBouncePosition","bounceAmount","freeModeMomentumBounceRatio","needsLoopFix","freeModeMomentumBounce","freeModeSticky","moveDistance","currentSlideSize","longSwipesMs","stopIndex","groupSize","_increment","ratio","longSwipes","longSwipesRatio","shortSwipes","isNavButtonTarget","navigation","nextEl","prevEl","onResize","breakpoints","setBreakpoint","autoplay","running","paused","run","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","dummyEventAttached","dummyEventListener","attachEvents","touchEvents","start","move","end","passiveListeners","passive","cancel","updateOnWindowResize","detachEvents","_swiper$loopedSlides","breakpoint","getBreakpoint","currentBreakpoint","breakpointOnlyParams","param","paramValue","breakpointParams","originalParams","wasMultiRow","isMultiRow","containerModifierClass","emitContainerClasses","directionChanged","needsReLoop","changeDirection","getBreakpoints","points","point","minRatio","substr","innerHeight","sort","b","_points$i","innerWidth","addClasses","suffixes","suffix","removeClasses","loadImage","imageEl","srcset","sizes","checkForComplete","image","onReady","isPicture","complete","onload","onerror","preloadImages","imagesToLoad","imagesLoaded","updateOnImagesReady","currentSrc","images","wasLocked","lastSlidePosition","checkOverflow$1","defaults","url","uniqueNavElements","wrapperClass","_emitClasses","prototypes","extendedDefaults","moduleParamName","swiperParams","passedParams","eventName","swipers","containerEl","newParams","shadowRoot","desktop","touchEventsTouch","touchEventsDesktop","clickTimeout","_proto","spv","breakLoop","translateValue","translated","newDirection","needUpdate","currentDirection","deleteInstance","cleanStyles","extendDefaults","newDefaults","installModule","use","m","prototypeGroup","protoMethod","Virtual","force","_swiper$params","_swiper$params$virtua","addSlidesBefore","addSlidesAfter","_swiper$virtual","previousFrom","from","previousTo","previousSlidesGrid","renderSlide","previousOffset","offsetProp","slidesAfter","slidesBefore","onRendered","lazy","load","renderExternal","getSlides","slidesToRender","renderExternalUpdate","prependIndexes","appendIndexes","cache","$slideEl","numberOfNewSlides","newCache","cachedIndex","$cachedEl","cachedElIndex","Virtual$1","beforeInit","overwriteParams","Keyboard","handle","kc","keyCode","charCode","pageUpDown","keyboard","isPageUp","isPageDown","isArrowLeft","isArrowRight","isArrowUp","isArrowDown","shiftKey","altKey","ctrlKey","metaKey","onlyInViewport","inView","windowWidth","windowHeight","swiperOffset","swiperCoord","returnValue","enable","disable","Keyboard$1","isEventSupported","isSupported","element","implementation","hasFeature","Mousewheel","lastScrollTime","lastEventBeforeSnap","recentWheelEvents","PIXEL_STEP","LINE_HEIGHT","PAGE_HEIGHT","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","handleMouseEnter","mouseEntered","handleMouseLeave","mousewheel","eventsTarget","releaseOnEdges","delta","rtlFactor","forceToAxis","invert","newEvent","sign","raw","shift","prevEvent","animateSlider","releaseScroll","_newEvent","ignoreWheelEvents","sensitivity","timeout","_recentWheelEvents","_prevEvent","firstEvent","snapToThreshold","autoplayDisableOnInteraction","stop","thresholdDelta","thresholdTime","getTime","Mousewheel$1","Navigation","_swiper$navigation","$nextEl","$prevEl","disabledClass","lockClass","onPrevClick","onNextClick","_swiper$navigation2","Navigation$1","hideOnClick","hiddenClass","toEdge","fromEdge","click","_swiper$navigation3","isHidden","Pagination","pagination","current","total","paginationType","bullets","firstIndex","lastIndex","midIndex","dynamicBullets","bulletSize","dynamicMainBullets","dynamicBulletIndex","bulletActiveClass","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","currentClass","formatFractionCurrent","totalClass","formatFractionTotal","progressbarDirection","progressbarOpposite","scale","scaleX","scaleY","progressbarFillClass","renderCustom","render","paginationHTML","numberOfBullets","renderBullet","bulletClass","bulletElement","renderFraction","renderProgressbar","clickable","clickableClass","modifierClass","progressbarOppositeClass","Pagination$1","number","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","Scrollbar","scrollbar","dragSize","trackSize","$dragEl","newSize","newPos","hide","opacity","divider","moveDivider","display","getPointerPosition","clientX","clientY","setDragPosition","dragStartPos","positionRatio","onDragStart","dragTimeout","onDragMove","onDragEnd","snapOnRelease","enableDraggable","activeListener","disableDraggable","$swiperEl","dragClass","dragEl","draggable","Scrollbar$1","Parallax","setTransform","currentOpacity","currentScale","parallax","parallaxEl","$parallaxEl","parallaxDuration","Parallax$1","Zoom","getDistanceBetweenTouches","x1","y1","x2","y2","onGestureStart","zoom","gesture","fakeGestureTouched","fakeGestureMoved","scaleStart","$imageEl","$imageWrapEl","containerClass","maxRatio","isScaling","onGestureChange","scaleMove","onGestureEnd","touchesStart","slideWidth","slideHeight","scaledWidth","scaledHeight","minX","maxX","minY","maxY","touchesCurrent","prevPositionX","prevPositionY","prevTime","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","onTransitionEnd","out","in","_in","zoomedSlideClass","touchX","touchY","offsetX","offsetY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","toggleGestures","slideSelector","enableGestures","gesturesEnabled","disableGestures","activeListenerWithCapture","Zoom$1","touchStart","touchEnd","doubleTap","slideChange","Lazy","loadInSlide","loadInDuplicate","$images","elementClass","loadedClass","loadingClass","background","$pictureEl","sourceEl","$source","preloaderClass","slideOriginalIndex","originalSlide","duplicatedSlide","slideExist","initialImageLoaded","loadPrevNext","loadPrevNextAmount","amount","maxIndex","minIndex","Lazy$1","loadOnTransitionStart","scroll","scrollbarDragMove","Controller","LinearSpline","binarySearch","guess","array","i1","i3","interpolate","getInterpolateFunction","controller","spline","_setTranslate","controlled","control","controlledTranslate","setControlledTranslate","by","inverse","setControlledTransition","Controller$1","A11y","makeElFocusable","makeElNotFocusable","addElRole","role","addElLabel","label","disableEl","enableEl","onEnterKey","a11y","notify","lastSlideMessage","nextSlideMessage","firstSlideMessage","prevSlideMessage","message","notification","liveRegion","updateNavigation","updatePagination","bulletEl","$bulletEl","paginationBulletMessage","A11y$1","notificationClass","paginationUpdate","History","hashNavigation","paths","getPathValues","scrollToSlide","setHistoryPopState","urlOverride","URL","pathArray","part","setHistory","slugify","includes","currentState","state","slideHistory","History$1","HashNavigation","onHashCange","newHash","activeSlideHash","setHash","slideHash","watchState","HashNavigation$1","Autoplay","$activeSlideEl","reverseDirection","stopOnLastSlide","pause","waitForTransition","onVisibilityChange","visibilityState","Autoplay$1","disableOnInteraction","beforeTransitionStart","sliderFirstMove","Fade","tx","ty","slideOpacity","fadeEffect","crossFade","eventTriggered","triggerEvents","EffectFade","Cube","swiperWidth","swiperHeight","cubeEffect","wrapperRotate","$cubeShadowEl","shadow","slideAngle","round","tz","slideShadows","shadowBefore","shadowAfter","shadowOffset","shadowScale","shadowAngle","sin","cos","scale1","scale2","zFactor","EffectCube","Flip","flipEffect","limitRotation","rotate","rotateY","rotateX","zIndex","EffectFlip","Coverflow","coverflowEffect","center","depth","slideOffset","offsetMultiplier","modifier","translateZ","stretch","slideTransform","$shadowBeforeEl","$shadowAfterEl","EffectCoverflow","Thumbs","thumbsParams","thumbs","SwiperClass","swiperCreated","thumbsContainerClass","onThumbClick","thumbsSwiper","slideThumbActiveClass","currentIndex","initial","autoScrollOffset","useOffset","currentThumbsIndex","newThumbsIndex","prevThumbsIndex","nextThumbsIndex","thumbsToActivate","thumbActiveClass","multipleActiveThumbs","Thumbs$1","beforeDestroy","components"],"mappings":"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","sourcesContent":["/**\r\n * Swiper 6.2.0\r\n * Most modern mobile touch slider and framework with hardware accelerated transitions\r\n * http://swiperjs.com\r\n *\r\n * Copyright 2014-2020 Vladimir Kharlampidi\r\n *\r\n * Released under the MIT License\r\n *\r\n * Released on: September 4, 2020\r\n */\r\n\r\n(function (global, factory) {\r\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\r\n\t\ttypeof define === 'function' && define.amd ? define(factory) :\r\n\t\t\t(global = global || self, global.Swiper = factory());\r\n}(this, (function () { 'use strict';\r\n\r\n\tfunction _defineProperties(target, props) {\r\n\t\tfor (var i = 0; i < props.length; i++) {\r\n\t\t\tvar descriptor = props[i];\r\n\t\t\tdescriptor.enumerable = descriptor.enumerable || false;\r\n\t\t\tdescriptor.configurable = true;\r\n\t\t\tif (\"value\" in descriptor) descriptor.writable = true;\r\n\t\t\tObject.defineProperty(target, descriptor.key, descriptor);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction _createClass(Constructor, protoProps, staticProps) {\r\n\t\tif (protoProps) _defineProperties(Constructor.prototype, protoProps);\r\n\t\tif (staticProps) _defineProperties(Constructor, staticProps);\r\n\t\treturn Constructor;\r\n\t}\r\n\r\n\tfunction _extends() {\r\n\t\t_extends = Object.assign || function (target) {\r\n\t\t\tfor (var i = 1; i < arguments.length; i++) {\r\n\t\t\t\tvar source = arguments[i];\r\n\r\n\t\t\t\tfor (var key in source) {\r\n\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\r\n\t\t\t\t\t\ttarget[key] = source[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn target;\r\n\t\t};\r\n\r\n\t\treturn _extends.apply(this, arguments);\r\n\t}\r\n\r\n\t/**\r\n\t * SSR Window 3.0.0-alpha.4\r\n\t * Better handling for window object in SSR environment\r\n\t * https://github.com/nolimits4web/ssr-window\r\n\t *\r\n\t * Copyright 2020, Vladimir Kharlampidi\r\n\t *\r\n\t * Licensed under MIT\r\n\t *\r\n\t * Released on: May 20, 2020\r\n\t */\r\n\r\n\t/* eslint-disable no-param-reassign */\r\n\tfunction isObject(obj) {\r\n\t\treturn obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;\r\n\t}\r\n\r\n\tfunction extend(target, src) {\r\n\t\tif (target === void 0) {\r\n\t\t\ttarget = {};\r\n\t\t}\r\n\r\n\t\tif (src === void 0) {\r\n\t\t\tsrc = {};\r\n\t\t}\r\n\r\n\t\tObject.keys(src).forEach(function (key) {\r\n\t\t\tif (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\r\n\t\t\t\textend(target[key], src[key]);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tvar ssrDocument = {\r\n\t\tbody: {},\r\n\t\taddEventListener: function addEventListener() {},\r\n\t\tremoveEventListener: function removeEventListener() {},\r\n\t\tactiveElement: {\r\n\t\t\tblur: function blur() {},\r\n\t\t\tnodeName: ''\r\n\t\t},\r\n\t\tquerySelector: function querySelector() {\r\n\t\t\treturn null;\r\n\t\t},\r\n\t\tquerySelectorAll: function querySelectorAll() {\r\n\t\t\treturn [];\r\n\t\t},\r\n\t\tgetElementById: function getElementById() {\r\n\t\t\treturn null;\r\n\t\t},\r\n\t\tcreateEvent: function createEvent() {\r\n\t\t\treturn {\r\n\t\t\t\tinitEvent: function initEvent() {}\r\n\t\t\t};\r\n\t\t},\r\n\t\tcreateElement: function createElement() {\r\n\t\t\treturn {\r\n\t\t\t\tchildren: [],\r\n\t\t\t\tchildNodes: [],\r\n\t\t\t\tstyle: {},\r\n\t\t\t\tsetAttribute: function setAttribute() {},\r\n\t\t\t\tgetElementsByTagName: function getElementsByTagName() {\r\n\t\t\t\t\treturn [];\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t},\r\n\t\tcreateElementNS: function createElementNS() {\r\n\t\t\treturn {};\r\n\t\t},\r\n\t\timportNode: function importNode() {\r\n\t\t\treturn null;\r\n\t\t},\r\n\t\tlocation: {\r\n\t\t\thash: '',\r\n\t\t\thost: '',\r\n\t\t\thostname: '',\r\n\t\t\thref: '',\r\n\t\t\torigin: '',\r\n\t\t\tpathname: '',\r\n\t\t\tprotocol: '',\r\n\t\t\tsearch: ''\r\n\t\t}\r\n\t};\r\n\r\n\tfunction getDocument() {\r\n\t\tvar doc = typeof document !== 'undefined' ? document : {};\r\n\t\textend(doc, ssrDocument);\r\n\t\treturn doc;\r\n\t}\r\n\r\n\tvar ssrWindow = {\r\n\t\tdocument: ssrDocument,\r\n\t\tnavigator: {\r\n\t\t\tuserAgent: ''\r\n\t\t},\r\n\t\tlocation: {\r\n\t\t\thash: '',\r\n\t\t\thost: '',\r\n\t\t\thostname: '',\r\n\t\t\thref: '',\r\n\t\t\torigin: '',\r\n\t\t\tpathname: '',\r\n\t\t\tprotocol: '',\r\n\t\t\tsearch: ''\r\n\t\t},\r\n\t\thistory: {\r\n\t\t\treplaceState: function replaceState() {},\r\n\t\t\tpushState: function pushState() {},\r\n\t\t\tgo: function go() {},\r\n\t\t\tback: function back() {}\r\n\t\t},\r\n\t\tCustomEvent: function CustomEvent() {\r\n\t\t\treturn this;\r\n\t\t},\r\n\t\taddEventListener: function addEventListener() {},\r\n\t\tremoveEventListener: function removeEventListener() {},\r\n\t\tgetComputedStyle: function getComputedStyle() {\r\n\t\t\treturn {\r\n\t\t\t\tgetPropertyValue: function getPropertyValue() {\r\n\t\t\t\t\treturn '';\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t},\r\n\t\tImage: function Image() {},\r\n\t\tDate: function Date() {},\r\n\t\tscreen: {},\r\n\t\tsetTimeout: function setTimeout() {},\r\n\t\tclearTimeout: function clearTimeout() {},\r\n\t\tmatchMedia: function matchMedia() {\r\n\t\t\treturn {};\r\n\t\t},\r\n\t\trequestAnimationFrame: function requestAnimationFrame(callback) {\r\n\t\t\tif (typeof setTimeout === 'undefined') {\r\n\t\t\t\tcallback();\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\treturn setTimeout(callback, 0);\r\n\t\t},\r\n\t\tcancelAnimationFrame: function cancelAnimationFrame(id) {\r\n\t\t\tif (typeof setTimeout === 'undefined') {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tclearTimeout(id);\r\n\t\t}\r\n\t};\r\n\r\n\tfunction getWindow() {\r\n\t\tvar win = typeof window !== 'undefined' ? window : {};\r\n\t\textend(win, ssrWindow);\r\n\t\treturn win;\r\n\t}\r\n\r\n\t/**\r\n\t * Dom7 3.0.0-alpha.7\r\n\t * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\r\n\t * https://framework7.io/docs/dom7.html\r\n\t *\r\n\t * Copyright 2020, Vladimir Kharlampidi\r\n\t *\r\n\t * Licensed under MIT\r\n\t *\r\n\t * Released on: July 14, 2020\r\n\t */\r\n\r\n\tfunction _inheritsLoose(subClass, superClass) {\r\n\t\tsubClass.prototype = Object.create(superClass.prototype);\r\n\t\tsubClass.prototype.constructor = subClass;\r\n\t\tsubClass.__proto__ = superClass;\r\n\t}\r\n\r\n\tfunction _getPrototypeOf(o) {\r\n\t\t_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\r\n\t\t\treturn o.__proto__ || Object.getPrototypeOf(o);\r\n\t\t};\r\n\t\treturn _getPrototypeOf(o);\r\n\t}\r\n\r\n\tfunction _setPrototypeOf(o, p) {\r\n\t\t_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\r\n\t\t\to.__proto__ = p;\r\n\t\t\treturn o;\r\n\t\t};\r\n\r\n\t\treturn _setPrototypeOf(o, p);\r\n\t}\r\n\r\n\tfunction _isNativeReflectConstruct() {\r\n\t\tif (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\r\n\t\tif (Reflect.construct.sham) return false;\r\n\t\tif (typeof Proxy === \"function\") return true;\r\n\r\n\t\ttry {\r\n\t\t\tDate.prototype.toString.call(Reflect.construct(Date, [], function () {}));\r\n\t\t\treturn true;\r\n\t\t} catch (e) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction _construct(Parent, args, Class) {\r\n\t\tif (_isNativeReflectConstruct()) {\r\n\t\t\t_construct = Reflect.construct;\r\n\t\t} else {\r\n\t\t\t_construct = function _construct(Parent, args, Class) {\r\n\t\t\t\tvar a = [null];\r\n\t\t\t\ta.push.apply(a, args);\r\n\t\t\t\tvar Constructor = Function.bind.apply(Parent, a);\r\n\t\t\t\tvar instance = new Constructor();\r\n\t\t\t\tif (Class) _setPrototypeOf(instance, Class.prototype);\r\n\t\t\t\treturn instance;\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn _construct.apply(null, arguments);\r\n\t}\r\n\r\n\tfunction _isNativeFunction(fn) {\r\n\t\treturn Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\r\n\t}\r\n\r\n\tfunction _wrapNativeSuper(Class) {\r\n\t\tvar _cache = typeof Map === \"function\" ? new Map() : undefined;\r\n\r\n\t\t_wrapNativeSuper = function _wrapNativeSuper(Class) {\r\n\t\t\tif (Class === null || !_isNativeFunction(Class)) return Class;\r\n\r\n\t\t\tif (typeof Class !== \"function\") {\r\n\t\t\t\tthrow new TypeError(\"Super expression must either be null or a function\");\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof _cache !== \"undefined\") {\r\n\t\t\t\tif (_cache.has(Class)) return _cache.get(Class);\r\n\r\n\t\t\t\t_cache.set(Class, Wrapper);\r\n\t\t\t}\r\n\r\n\t\t\tfunction Wrapper() {\r\n\t\t\t\treturn _construct(Class, arguments, _getPrototypeOf(this).constructor);\r\n\t\t\t}\r\n\r\n\t\t\tWrapper.prototype = Object.create(Class.prototype, {\r\n\t\t\t\tconstructor: {\r\n\t\t\t\t\tvalue: Wrapper,\r\n\t\t\t\t\tenumerable: false,\r\n\t\t\t\t\twritable: true,\r\n\t\t\t\t\tconfigurable: true\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn _setPrototypeOf(Wrapper, Class);\r\n\t\t};\r\n\r\n\t\treturn _wrapNativeSuper(Class);\r\n\t}\r\n\r\n\tfunction _assertThisInitialized(self) {\r\n\t\tif (self === void 0) {\r\n\t\t\tthrow new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\r\n\t\t}\r\n\r\n\t\treturn self;\r\n\t}\r\n\t/* eslint-disable no-proto */\r\n\r\n\r\n\tfunction makeReactive(obj) {\r\n\t\tvar proto = obj.__proto__;\r\n\t\tObject.defineProperty(obj, '__proto__', {\r\n\t\t\tget: function get() {\r\n\t\t\t\treturn proto;\r\n\t\t\t},\r\n\t\t\tset: function set(value) {\r\n\t\t\t\tproto.__proto__ = value;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tvar Dom7 = /*#__PURE__*/function (_Array) {\r\n\t\t_inheritsLoose(Dom7, _Array);\r\n\r\n\t\tfunction Dom7(items) {\r\n\t\t\tvar _this;\r\n\r\n\t\t\t_this = _Array.call.apply(_Array, [this].concat(items)) || this;\r\n\t\t\tmakeReactive(_assertThisInitialized(_this));\r\n\t\t\treturn _this;\r\n\t\t}\r\n\r\n\t\treturn Dom7;\r\n\t}( /*#__PURE__*/_wrapNativeSuper(Array));\r\n\r\n\tfunction arrayFlat(arr) {\r\n\t\tif (arr === void 0) {\r\n\t\t\tarr = [];\r\n\t\t}\r\n\r\n\t\tvar res = [];\r\n\t\tarr.forEach(function (el) {\r\n\t\t\tif (Array.isArray(el)) {\r\n\t\t\t\tres.push.apply(res, arrayFlat(el));\r\n\t\t\t} else {\r\n\t\t\t\tres.push(el);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn res;\r\n\t}\r\n\r\n\tfunction arrayFilter(arr, callback) {\r\n\t\treturn Array.prototype.filter.call(arr, callback);\r\n\t}\r\n\r\n\tfunction arrayUnique(arr) {\r\n\t\tvar uniqueArray = [];\r\n\r\n\t\tfor (var i = 0; i < arr.length; i += 1) {\r\n\t\t\tif (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\r\n\t\t}\r\n\r\n\t\treturn uniqueArray;\r\n\t}\r\n\r\n\tfunction qsa(selector, context) {\r\n\t\tif (typeof selector !== 'string') {\r\n\t\t\treturn [selector];\r\n\t\t}\r\n\r\n\t\tvar a = [];\r\n\t\tvar res = context.querySelectorAll(selector);\r\n\r\n\t\tfor (var i = 0; i < res.length; i += 1) {\r\n\t\t\ta.push(res[i]);\r\n\t\t}\r\n\r\n\t\treturn a;\r\n\t}\r\n\r\n\tfunction $(selector, context) {\r\n\t\tvar window = getWindow();\r\n\t\tvar document = getDocument();\r\n\t\tvar arr = [];\r\n\r\n\t\tif (!context && selector instanceof Dom7) {\r\n\t\t\treturn selector;\r\n\t\t}\r\n\r\n\t\tif (!selector) {\r\n\t\t\treturn new Dom7(arr);\r\n\t\t}\r\n\r\n\t\tif (typeof selector === 'string') {\r\n\t\t\tvar html = selector.trim();\r\n\r\n\t\t\tif (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\r\n\t\t\t\tvar toCreate = 'div';\r\n\t\t\t\tif (html.indexOf(' 0;\r\n\t\t}).length > 0;\r\n\t}\r\n\r\n\tfunction attr(attrs, value) {\r\n\t\tif (arguments.length === 1 && typeof attrs === 'string') {\r\n\t\t\t// Get attr\r\n\t\t\tif (this[0]) return this[0].getAttribute(attrs);\r\n\t\t\treturn undefined;\r\n\t\t} // Set attrs\r\n\r\n\r\n\t\tfor (var i = 0; i < this.length; i += 1) {\r\n\t\t\tif (arguments.length === 2) {\r\n\t\t\t\t// String\r\n\t\t\t\tthis[i].setAttribute(attrs, value);\r\n\t\t\t} else {\r\n\t\t\t\t// Object\r\n\t\t\t\tfor (var attrName in attrs) {\r\n\t\t\t\t\tthis[i][attrName] = attrs[attrName];\r\n\t\t\t\t\tthis[i].setAttribute(attrName, attrs[attrName]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction removeAttr(attr) {\r\n\t\tfor (var i = 0; i < this.length; i += 1) {\r\n\t\t\tthis[i].removeAttribute(attr);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction transform(transform) {\r\n\t\tfor (var i = 0; i < this.length; i += 1) {\r\n\t\t\tthis[i].style.transform = transform;\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction transition(duration) {\r\n\t\tfor (var i = 0; i < this.length; i += 1) {\r\n\t\t\tthis[i].style.transition = typeof duration !== 'string' ? duration + \"ms\" : duration;\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction on() {\r\n\t\tfor (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\r\n\t\t\targs[_key5] = arguments[_key5];\r\n\t\t}\r\n\r\n\t\tvar eventType = args[0],\r\n\t\t\ttargetSelector = args[1],\r\n\t\t\tlistener = args[2],\r\n\t\t\tcapture = args[3];\r\n\r\n\t\tif (typeof args[1] === 'function') {\r\n\t\t\teventType = args[0];\r\n\t\t\tlistener = args[1];\r\n\t\t\tcapture = args[2];\r\n\t\t\ttargetSelector = undefined;\r\n\t\t}\r\n\r\n\t\tif (!capture) capture = false;\r\n\r\n\t\tfunction handleLiveEvent(e) {\r\n\t\t\tvar target = e.target;\r\n\t\t\tif (!target) return;\r\n\t\t\tvar eventData = e.target.dom7EventData || [];\r\n\r\n\t\t\tif (eventData.indexOf(e) < 0) {\r\n\t\t\t\teventData.unshift(e);\r\n\t\t\t}\r\n\r\n\t\t\tif ($(target).is(targetSelector)) listener.apply(target, eventData);else {\r\n\t\t\t\tvar _parents = $(target).parents(); // eslint-disable-line\r\n\r\n\r\n\t\t\t\tfor (var k = 0; k < _parents.length; k += 1) {\r\n\t\t\t\t\tif ($(_parents[k]).is(targetSelector)) listener.apply(_parents[k], eventData);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction handleEvent(e) {\r\n\t\t\tvar eventData = e && e.target ? e.target.dom7EventData || [] : [];\r\n\r\n\t\t\tif (eventData.indexOf(e) < 0) {\r\n\t\t\t\teventData.unshift(e);\r\n\t\t\t}\r\n\r\n\t\t\tlistener.apply(this, eventData);\r\n\t\t}\r\n\r\n\t\tvar events = eventType.split(' ');\r\n\t\tvar j;\r\n\r\n\t\tfor (var i = 0; i < this.length; i += 1) {\r\n\t\t\tvar el = this[i];\r\n\r\n\t\t\tif (!targetSelector) {\r\n\t\t\t\tfor (j = 0; j < events.length; j += 1) {\r\n\t\t\t\t\tvar event = events[j];\r\n\t\t\t\t\tif (!el.dom7Listeners) el.dom7Listeners = {};\r\n\t\t\t\t\tif (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\r\n\t\t\t\t\tel.dom7Listeners[event].push({\r\n\t\t\t\t\t\tlistener: listener,\r\n\t\t\t\t\t\tproxyListener: handleEvent\r\n\t\t\t\t\t});\r\n\t\t\t\t\tel.addEventListener(event, handleEvent, capture);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// Live events\r\n\t\t\t\tfor (j = 0; j < events.length; j += 1) {\r\n\t\t\t\t\tvar _event = events[j];\r\n\t\t\t\t\tif (!el.dom7LiveListeners) el.dom7LiveListeners = {};\r\n\t\t\t\t\tif (!el.dom7LiveListeners[_event]) el.dom7LiveListeners[_event] = [];\r\n\r\n\t\t\t\t\tel.dom7LiveListeners[_event].push({\r\n\t\t\t\t\t\tlistener: listener,\r\n\t\t\t\t\t\tproxyListener: handleLiveEvent\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tel.addEventListener(_event, handleLiveEvent, capture);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction off() {\r\n\t\tfor (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\r\n\t\t\targs[_key6] = arguments[_key6];\r\n\t\t}\r\n\r\n\t\tvar eventType = args[0],\r\n\t\t\ttargetSelector = args[1],\r\n\t\t\tlistener = args[2],\r\n\t\t\tcapture = args[3];\r\n\r\n\t\tif (typeof args[1] === 'function') {\r\n\t\t\teventType = args[0];\r\n\t\t\tlistener = args[1];\r\n\t\t\tcapture = args[2];\r\n\t\t\ttargetSelector = undefined;\r\n\t\t}\r\n\r\n\t\tif (!capture) capture = false;\r\n\t\tvar events = eventType.split(' ');\r\n\r\n\t\tfor (var i = 0; i < events.length; i += 1) {\r\n\t\t\tvar event = events[i];\r\n\r\n\t\t\tfor (var j = 0; j < this.length; j += 1) {\r\n\t\t\t\tvar el = this[j];\r\n\t\t\t\tvar handlers = void 0;\r\n\r\n\t\t\t\tif (!targetSelector && el.dom7Listeners) {\r\n\t\t\t\t\thandlers = el.dom7Listeners[event];\r\n\t\t\t\t} else if (targetSelector && el.dom7LiveListeners) {\r\n\t\t\t\t\thandlers = el.dom7LiveListeners[event];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (handlers && handlers.length) {\r\n\t\t\t\t\tfor (var k = handlers.length - 1; k >= 0; k -= 1) {\r\n\t\t\t\t\t\tvar handler = handlers[k];\r\n\r\n\t\t\t\t\t\tif (listener && handler.listener === listener) {\r\n\t\t\t\t\t\t\tel.removeEventListener(event, handler.proxyListener, capture);\r\n\t\t\t\t\t\t\thandlers.splice(k, 1);\r\n\t\t\t\t\t\t} else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\r\n\t\t\t\t\t\t\tel.removeEventListener(event, handler.proxyListener, capture);\r\n\t\t\t\t\t\t\thandlers.splice(k, 1);\r\n\t\t\t\t\t\t} else if (!listener) {\r\n\t\t\t\t\t\t\tel.removeEventListener(event, handler.proxyListener, capture);\r\n\t\t\t\t\t\t\thandlers.splice(k, 1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction trigger() {\r\n\t\tvar window = getWindow();\r\n\r\n\t\tfor (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\r\n\t\t\targs[_key9] = arguments[_key9];\r\n\t\t}\r\n\r\n\t\tvar events = args[0].split(' ');\r\n\t\tvar eventData = args[1];\r\n\r\n\t\tfor (var i = 0; i < events.length; i += 1) {\r\n\t\t\tvar event = events[i];\r\n\r\n\t\t\tfor (var j = 0; j < this.length; j += 1) {\r\n\t\t\t\tvar el = this[j];\r\n\r\n\t\t\t\tif (window.CustomEvent) {\r\n\t\t\t\t\tvar evt = new window.CustomEvent(event, {\r\n\t\t\t\t\t\tdetail: eventData,\r\n\t\t\t\t\t\tbubbles: true,\r\n\t\t\t\t\t\tcancelable: true\r\n\t\t\t\t\t});\r\n\t\t\t\t\tel.dom7EventData = args.filter(function (data, dataIndex) {\r\n\t\t\t\t\t\treturn dataIndex > 0;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tel.dispatchEvent(evt);\r\n\t\t\t\t\tel.dom7EventData = [];\r\n\t\t\t\t\tdelete el.dom7EventData;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction transitionEnd(callback) {\r\n\t\tvar dom = this;\r\n\r\n\t\tfunction fireCallBack(e) {\r\n\t\t\tif (e.target !== this) return;\r\n\t\t\tcallback.call(this, e);\r\n\t\t\tdom.off('transitionend', fireCallBack);\r\n\t\t}\r\n\r\n\t\tif (callback) {\r\n\t\t\tdom.on('transitionend', fireCallBack);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction outerWidth(includeMargins) {\r\n\t\tif (this.length > 0) {\r\n\t\t\tif (includeMargins) {\r\n\t\t\t\tvar _styles = this.styles();\r\n\r\n\t\t\t\treturn this[0].offsetWidth + parseFloat(_styles.getPropertyValue('margin-right')) + parseFloat(_styles.getPropertyValue('margin-left'));\r\n\t\t\t}\r\n\r\n\t\t\treturn this[0].offsetWidth;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n\r\n\tfunction outerHeight(includeMargins) {\r\n\t\tif (this.length > 0) {\r\n\t\t\tif (includeMargins) {\r\n\t\t\t\tvar _styles2 = this.styles();\r\n\r\n\t\t\t\treturn this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.getPropertyValue('margin-bottom'));\r\n\t\t\t}\r\n\r\n\t\t\treturn this[0].offsetHeight;\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n\r\n\tfunction offset() {\r\n\t\tif (this.length > 0) {\r\n\t\t\tvar window = getWindow();\r\n\t\t\tvar document = getDocument();\r\n\t\t\tvar el = this[0];\r\n\t\t\tvar box = el.getBoundingClientRect();\r\n\t\t\tvar body = document.body;\r\n\t\t\tvar clientTop = el.clientTop || body.clientTop || 0;\r\n\t\t\tvar clientLeft = el.clientLeft || body.clientLeft || 0;\r\n\t\t\tvar scrollTop = el === window ? window.scrollY : el.scrollTop;\r\n\t\t\tvar scrollLeft = el === window ? window.scrollX : el.scrollLeft;\r\n\t\t\treturn {\r\n\t\t\t\ttop: box.top + scrollTop - clientTop,\r\n\t\t\t\tleft: box.left + scrollLeft - clientLeft\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n\r\n\tfunction styles() {\r\n\t\tvar window = getWindow();\r\n\t\tif (this[0]) return window.getComputedStyle(this[0], null);\r\n\t\treturn {};\r\n\t}\r\n\r\n\tfunction css(props, value) {\r\n\t\tvar window = getWindow();\r\n\t\tvar i;\r\n\r\n\t\tif (arguments.length === 1) {\r\n\t\t\tif (typeof props === 'string') {\r\n\t\t\t\t// .css('width')\r\n\t\t\t\tif (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\r\n\t\t\t} else {\r\n\t\t\t\t// .css({ width: '100px' })\r\n\t\t\t\tfor (i = 0; i < this.length; i += 1) {\r\n\t\t\t\t\tfor (var _prop in props) {\r\n\t\t\t\t\t\tthis[i].style[_prop] = props[_prop];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn this;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (arguments.length === 2 && typeof props === 'string') {\r\n\t\t\t// .css('width', '100px')\r\n\t\t\tfor (i = 0; i < this.length; i += 1) {\r\n\t\t\t\tthis[i].style[props] = value;\r\n\t\t\t}\r\n\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction each(callback) {\r\n\t\tif (!callback) return this;\r\n\t\tthis.forEach(function (el, index) {\r\n\t\t\tcallback.apply(el, [el, index]);\r\n\t\t});\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction filter(callback) {\r\n\t\tvar result = arrayFilter(this, callback);\r\n\t\treturn $(result);\r\n\t}\r\n\r\n\tfunction html(html) {\r\n\t\tif (typeof html === 'undefined') {\r\n\t\t\treturn this[0] ? this[0].innerHTML : null;\r\n\t\t}\r\n\r\n\t\tfor (var i = 0; i < this.length; i += 1) {\r\n\t\t\tthis[i].innerHTML = html;\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction text(text) {\r\n\t\tif (typeof text === 'undefined') {\r\n\t\t\treturn this[0] ? this[0].textContent.trim() : null;\r\n\t\t}\r\n\r\n\t\tfor (var i = 0; i < this.length; i += 1) {\r\n\t\t\tthis[i].textContent = text;\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction is(selector) {\r\n\t\tvar window = getWindow();\r\n\t\tvar document = getDocument();\r\n\t\tvar el = this[0];\r\n\t\tvar compareWith;\r\n\t\tvar i;\r\n\t\tif (!el || typeof selector === 'undefined') return false;\r\n\r\n\t\tif (typeof selector === 'string') {\r\n\t\t\tif (el.matches) return el.matches(selector);\r\n\t\t\tif (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\r\n\t\t\tif (el.msMatchesSelector) return el.msMatchesSelector(selector);\r\n\t\t\tcompareWith = $(selector);\r\n\r\n\t\t\tfor (i = 0; i < compareWith.length; i += 1) {\r\n\t\t\t\tif (compareWith[i] === el) return true;\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (selector === document) {\r\n\t\t\treturn el === document;\r\n\t\t}\r\n\r\n\t\tif (selector === window) {\r\n\t\t\treturn el === window;\r\n\t\t}\r\n\r\n\t\tif (selector.nodeType || selector instanceof Dom7) {\r\n\t\t\tcompareWith = selector.nodeType ? [selector] : selector;\r\n\r\n\t\t\tfor (i = 0; i < compareWith.length; i += 1) {\r\n\t\t\t\tif (compareWith[i] === el) return true;\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t}\r\n\r\n\tfunction index() {\r\n\t\tvar child = this[0];\r\n\t\tvar i;\r\n\r\n\t\tif (child) {\r\n\t\t\ti = 0; // eslint-disable-next-line\r\n\r\n\t\t\twhile ((child = child.previousSibling) !== null) {\r\n\t\t\t\tif (child.nodeType === 1) i += 1;\r\n\t\t\t}\r\n\r\n\t\t\treturn i;\r\n\t\t}\r\n\r\n\t\treturn undefined;\r\n\t}\r\n\r\n\tfunction eq(index) {\r\n\t\tif (typeof index === 'undefined') return this;\r\n\t\tvar length = this.length;\r\n\r\n\t\tif (index > length - 1) {\r\n\t\t\treturn $([]);\r\n\t\t}\r\n\r\n\t\tif (index < 0) {\r\n\t\t\tvar returnIndex = length + index;\r\n\t\t\tif (returnIndex < 0) return $([]);\r\n\t\t\treturn $([this[returnIndex]]);\r\n\t\t}\r\n\r\n\t\treturn $([this[index]]);\r\n\t}\r\n\r\n\tfunction append() {\r\n\t\tvar newChild;\r\n\t\tvar document = getDocument();\r\n\r\n\t\tfor (var k = 0; k < arguments.length; k += 1) {\r\n\t\t\tnewChild = k < 0 || arguments.length <= k ? undefined : arguments[k];\r\n\r\n\t\t\tfor (var i = 0; i < this.length; i += 1) {\r\n\t\t\t\tif (typeof newChild === 'string') {\r\n\t\t\t\t\tvar tempDiv = document.createElement('div');\r\n\t\t\t\t\ttempDiv.innerHTML = newChild;\r\n\r\n\t\t\t\t\twhile (tempDiv.firstChild) {\r\n\t\t\t\t\t\tthis[i].appendChild(tempDiv.firstChild);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (newChild instanceof Dom7) {\r\n\t\t\t\t\tfor (var j = 0; j < newChild.length; j += 1) {\r\n\t\t\t\t\t\tthis[i].appendChild(newChild[j]);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis[i].appendChild(newChild);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction prepend(newChild) {\r\n\t\tvar document = getDocument();\r\n\t\tvar i;\r\n\t\tvar j;\r\n\r\n\t\tfor (i = 0; i < this.length; i += 1) {\r\n\t\t\tif (typeof newChild === 'string') {\r\n\t\t\t\tvar tempDiv = document.createElement('div');\r\n\t\t\t\ttempDiv.innerHTML = newChild;\r\n\r\n\t\t\t\tfor (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\r\n\t\t\t\t\tthis[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\r\n\t\t\t\t}\r\n\t\t\t} else if (newChild instanceof Dom7) {\r\n\t\t\t\tfor (j = 0; j < newChild.length; j += 1) {\r\n\t\t\t\t\tthis[i].insertBefore(newChild[j], this[i].childNodes[0]);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tthis[i].insertBefore(newChild, this[i].childNodes[0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tfunction next(selector) {\r\n\t\tif (this.length > 0) {\r\n\t\t\tif (selector) {\r\n\t\t\t\tif (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\r\n\t\t\t\t\treturn $([this[0].nextElementSibling]);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn $([]);\r\n\t\t\t}\r\n\r\n\t\t\tif (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\r\n\t\t\treturn $([]);\r\n\t\t}\r\n\r\n\t\treturn $([]);\r\n\t}\r\n\r\n\tfunction nextAll(selector) {\r\n\t\tvar nextEls = [];\r\n\t\tvar el = this[0];\r\n\t\tif (!el) return $([]);\r\n\r\n\t\twhile (el.nextElementSibling) {\r\n\t\t\tvar _next = el.nextElementSibling; // eslint-disable-line\r\n\r\n\t\t\tif (selector) {\r\n\t\t\t\tif ($(_next).is(selector)) nextEls.push(_next);\r\n\t\t\t} else nextEls.push(_next);\r\n\r\n\t\t\tel = _next;\r\n\t\t}\r\n\r\n\t\treturn $(nextEls);\r\n\t}\r\n\r\n\tfunction prev(selector) {\r\n\t\tif (this.length > 0) {\r\n\t\t\tvar el = this[0];\r\n\r\n\t\t\tif (selector) {\r\n\t\t\t\tif (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\r\n\t\t\t\t\treturn $([el.previousElementSibling]);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn $([]);\r\n\t\t\t}\r\n\r\n\t\t\tif (el.previousElementSibling) return $([el.previousElementSibling]);\r\n\t\t\treturn $([]);\r\n\t\t}\r\n\r\n\t\treturn $([]);\r\n\t}\r\n\r\n\tfunction prevAll(selector) {\r\n\t\tvar prevEls = [];\r\n\t\tvar el = this[0];\r\n\t\tif (!el) return $([]);\r\n\r\n\t\twhile (el.previousElementSibling) {\r\n\t\t\tvar _prev = el.previousElementSibling; // eslint-disable-line\r\n\r\n\t\t\tif (selector) {\r\n\t\t\t\tif ($(_prev).is(selector)) prevEls.push(_prev);\r\n\t\t\t} else prevEls.push(_prev);\r\n\r\n\t\t\tel = _prev;\r\n\t\t}\r\n\r\n\t\treturn $(prevEls);\r\n\t}\r\n\r\n\tfunction parent(selector) {\r\n\t\tvar parents = []; // eslint-disable-line\r\n\r\n\t\tfor (var i = 0; i < this.length; i += 1) {\r\n\t\t\tif (this[i].parentNode !== null) {\r\n\t\t\t\tif (selector) {\r\n\t\t\t\t\tif ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tparents.push(this[i].parentNode);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn $(parents);\r\n\t}\r\n\r\n\tfunction parents(selector) {\r\n\t\tvar parents = []; // eslint-disable-line\r\n\r\n\t\tfor (var i = 0; i < this.length; i += 1) {\r\n\t\t\tvar _parent = this[i].parentNode; // eslint-disable-line\r\n\r\n\t\t\twhile (_parent) {\r\n\t\t\t\tif (selector) {\r\n\t\t\t\t\tif ($(_parent).is(selector)) parents.push(_parent);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tparents.push(_parent);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t_parent = _parent.parentNode;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn $(parents);\r\n\t}\r\n\r\n\tfunction closest(selector) {\r\n\t\tvar closest = this; // eslint-disable-line\r\n\r\n\t\tif (typeof selector === 'undefined') {\r\n\t\t\treturn $([]);\r\n\t\t}\r\n\r\n\t\tif (!closest.is(selector)) {\r\n\t\t\tclosest = closest.parents(selector).eq(0);\r\n\t\t}\r\n\r\n\t\treturn closest;\r\n\t}\r\n\r\n\tfunction find(selector) {\r\n\t\tvar foundElements = [];\r\n\r\n\t\tfor (var i = 0; i < this.length; i += 1) {\r\n\t\t\tvar found = this[i].querySelectorAll(selector);\r\n\r\n\t\t\tfor (var j = 0; j < found.length; j += 1) {\r\n\t\t\t\tfoundElements.push(found[j]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn $(foundElements);\r\n\t}\r\n\r\n\tfunction children(selector) {\r\n\t\tvar children = []; // eslint-disable-line\r\n\r\n\t\tfor (var i = 0; i < this.length; i += 1) {\r\n\t\t\tvar childNodes = this[i].children;\r\n\r\n\t\t\tfor (var j = 0; j < childNodes.length; j += 1) {\r\n\t\t\t\tif (!selector || $(childNodes[j]).is(selector)) {\r\n\t\t\t\t\tchildren.push(childNodes[j]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn $(children);\r\n\t}\r\n\r\n\tfunction remove() {\r\n\t\tfor (var i = 0; i < this.length; i += 1) {\r\n\t\t\tif (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tvar Methods = {\r\n\t\taddClass: addClass,\r\n\t\tremoveClass: removeClass,\r\n\t\thasClass: hasClass,\r\n\t\ttoggleClass: toggleClass,\r\n\t\tattr: attr,\r\n\t\tremoveAttr: removeAttr,\r\n\t\ttransform: transform,\r\n\t\ttransition: transition,\r\n\t\ton: on,\r\n\t\toff: off,\r\n\t\ttrigger: trigger,\r\n\t\ttransitionEnd: transitionEnd,\r\n\t\touterWidth: outerWidth,\r\n\t\touterHeight: outerHeight,\r\n\t\tstyles: styles,\r\n\t\toffset: offset,\r\n\t\tcss: css,\r\n\t\teach: each,\r\n\t\thtml: html,\r\n\t\ttext: text,\r\n\t\tis: is,\r\n\t\tindex: index,\r\n\t\teq: eq,\r\n\t\tappend: append,\r\n\t\tprepend: prepend,\r\n\t\tnext: next,\r\n\t\tnextAll: nextAll,\r\n\t\tprev: prev,\r\n\t\tprevAll: prevAll,\r\n\t\tparent: parent,\r\n\t\tparents: parents,\r\n\t\tclosest: closest,\r\n\t\tfind: find,\r\n\t\tchildren: children,\r\n\t\tfilter: filter,\r\n\t\tremove: remove\r\n\t};\r\n\tObject.keys(Methods).forEach(function (methodName) {\r\n\t\t$.fn[methodName] = Methods[methodName];\r\n\t});\r\n\r\n\tfunction deleteProps(obj) {\r\n\t\tvar object = obj;\r\n\t\tObject.keys(object).forEach(function (key) {\r\n\t\t\ttry {\r\n\t\t\t\tobject[key] = null;\r\n\t\t\t} catch (e) {// no getter for object\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tdelete object[key];\r\n\t\t\t} catch (e) {// something got wrong\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tfunction nextTick(callback, delay) {\r\n\t\tif (delay === void 0) {\r\n\t\t\tdelay = 0;\r\n\t\t}\r\n\r\n\t\treturn setTimeout(callback, delay);\r\n\t}\r\n\r\n\tfunction now() {\r\n\t\treturn Date.now();\r\n\t}\r\n\r\n\tfunction getTranslate(el, axis) {\r\n\t\tif (axis === void 0) {\r\n\t\t\taxis = 'x';\r\n\t\t}\r\n\r\n\t\tvar window = getWindow();\r\n\t\tvar matrix;\r\n\t\tvar curTransform;\r\n\t\tvar transformMatrix;\r\n\t\tvar curStyle = window.getComputedStyle(el, null);\r\n\r\n\t\tif (window.WebKitCSSMatrix) {\r\n\t\t\tcurTransform = curStyle.transform || curStyle.webkitTransform;\r\n\r\n\t\t\tif (curTransform.split(',').length > 6) {\r\n\t\t\t\tcurTransform = curTransform.split(', ').map(function (a) {\r\n\t\t\t\t\treturn a.replace(',', '.');\r\n\t\t\t\t}).join(', ');\r\n\t\t\t} // Some old versions of Webkit choke when 'none' is passed; pass\r\n\t\t\t// empty string instead in this case\r\n\r\n\r\n\t\t\ttransformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\r\n\t\t} else {\r\n\t\t\ttransformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\r\n\t\t\tmatrix = transformMatrix.toString().split(',');\r\n\t\t}\r\n\r\n\t\tif (axis === 'x') {\r\n\t\t\t// Latest Chrome and webkits Fix\r\n\t\t\tif (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\r\n\t\t\telse if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\r\n\t\t\telse curTransform = parseFloat(matrix[4]);\r\n\t\t}\r\n\r\n\t\tif (axis === 'y') {\r\n\t\t\t// Latest Chrome and webkits Fix\r\n\t\t\tif (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\r\n\t\t\telse if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\r\n\t\t\telse curTransform = parseFloat(matrix[5]);\r\n\t\t}\r\n\r\n\t\treturn curTransform || 0;\r\n\t}\r\n\r\n\tfunction isObject$1(o) {\r\n\t\treturn typeof o === 'object' && o !== null && o.constructor && o.constructor === Object;\r\n\t}\r\n\r\n\tfunction extend$1() {\r\n\t\tvar to = Object(arguments.length <= 0 ? undefined : arguments[0]);\r\n\r\n\t\tfor (var i = 1; i < arguments.length; i += 1) {\r\n\t\t\tvar nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\r\n\r\n\t\t\tif (nextSource !== undefined && nextSource !== null) {\r\n\t\t\t\tvar keysArray = Object.keys(Object(nextSource));\r\n\r\n\t\t\t\tfor (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\r\n\t\t\t\t\tvar nextKey = keysArray[nextIndex];\r\n\t\t\t\t\tvar desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\r\n\r\n\t\t\t\t\tif (desc !== undefined && desc.enumerable) {\r\n\t\t\t\t\t\tif (isObject$1(to[nextKey]) && isObject$1(nextSource[nextKey])) {\r\n\t\t\t\t\t\t\textend$1(to[nextKey], nextSource[nextKey]);\r\n\t\t\t\t\t\t} else if (!isObject$1(to[nextKey]) && isObject$1(nextSource[nextKey])) {\r\n\t\t\t\t\t\t\tto[nextKey] = {};\r\n\t\t\t\t\t\t\textend$1(to[nextKey], nextSource[nextKey]);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tto[nextKey] = nextSource[nextKey];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn to;\r\n\t}\r\n\r\n\tfunction bindModuleMethods(instance, obj) {\r\n\t\tObject.keys(obj).forEach(function (key) {\r\n\t\t\tif (isObject$1(obj[key])) {\r\n\t\t\t\tObject.keys(obj[key]).forEach(function (subKey) {\r\n\t\t\t\t\tif (typeof obj[key][subKey] === 'function') {\r\n\t\t\t\t\t\tobj[key][subKey] = obj[key][subKey].bind(instance);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tinstance[key] = obj[key];\r\n\t\t});\r\n\t}\r\n\r\n\tvar support;\r\n\r\n\tfunction calcSupport() {\r\n\t\tvar window = getWindow();\r\n\t\tvar document = getDocument();\r\n\t\treturn {\r\n\t\t\ttouch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\r\n\t\t\tpointerEvents: !!window.PointerEvent && 'maxTouchPoints' in window.navigator && window.navigator.maxTouchPoints >= 0,\r\n\t\t\tobserver: function checkObserver() {\r\n\t\t\t\treturn 'MutationObserver' in window || 'WebkitMutationObserver' in window;\r\n\t\t\t}(),\r\n\t\t\tpassiveListener: function checkPassiveListener() {\r\n\t\t\t\tvar supportsPassive = false;\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\tvar opts = Object.defineProperty({}, 'passive', {\r\n\t\t\t\t\t\t// eslint-disable-next-line\r\n\t\t\t\t\t\tget: function get() {\r\n\t\t\t\t\t\t\tsupportsPassive = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\twindow.addEventListener('testPassiveListener', null, opts);\r\n\t\t\t\t} catch (e) {// No support\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn supportsPassive;\r\n\t\t\t}(),\r\n\t\t\tgestures: function checkGestures() {\r\n\t\t\t\treturn 'ongesturestart' in window;\r\n\t\t\t}()\r\n\t\t};\r\n\t}\r\n\r\n\tfunction getSupport() {\r\n\t\tif (!support) {\r\n\t\t\tsupport = calcSupport();\r\n\t\t}\r\n\r\n\t\treturn support;\r\n\t}\r\n\r\n\tvar device;\r\n\r\n\tfunction calcDevice(_temp) {\r\n\t\tvar _ref = _temp === void 0 ? {} : _temp,\r\n\t\t\tuserAgent = _ref.userAgent;\r\n\r\n\t\tvar support = getSupport();\r\n\t\tvar window = getWindow();\r\n\t\tvar platform = window.navigator.platform;\r\n\t\tvar ua = userAgent || window.navigator.userAgent;\r\n\t\tvar device = {\r\n\t\t\tios: false,\r\n\t\t\tandroid: false\r\n\t\t};\r\n\t\tvar screenWidth = window.screen.width;\r\n\t\tvar screenHeight = window.screen.height;\r\n\t\tvar android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\r\n\r\n\t\tvar ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\r\n\t\tvar ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\r\n\t\tvar iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\r\n\t\tvar windows = platform === 'Win32';\r\n\t\tvar macos = platform === 'MacIntel'; // iPadOs 13 fix\r\n\r\n\t\tvar iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768'];\r\n\r\n\t\tif (!ipad && macos && support.touch && iPadScreens.indexOf(screenWidth + \"x\" + screenHeight) >= 0) {\r\n\t\t\tipad = ua.match(/(Version)\\/([\\d.]+)/);\r\n\t\t\tif (!ipad) ipad = [0, 1, '13_0_0'];\r\n\t\t\tmacos = false;\r\n\t\t} // Android\r\n\r\n\r\n\t\tif (android && !windows) {\r\n\t\t\tdevice.os = 'android';\r\n\t\t\tdevice.android = true;\r\n\t\t}\r\n\r\n\t\tif (ipad || iphone || ipod) {\r\n\t\t\tdevice.os = 'ios';\r\n\t\t\tdevice.ios = true;\r\n\t\t} // Export object\r\n\r\n\r\n\t\treturn device;\r\n\t}\r\n\r\n\tfunction getDevice(overrides) {\r\n\t\tif (overrides === void 0) {\r\n\t\t\toverrides = {};\r\n\t\t}\r\n\r\n\t\tif (!device) {\r\n\t\t\tdevice = calcDevice(overrides);\r\n\t\t}\r\n\r\n\t\treturn device;\r\n\t}\r\n\r\n\tvar browser;\r\n\r\n\tfunction calcBrowser() {\r\n\t\tvar window = getWindow();\r\n\r\n\t\tfunction isSafari() {\r\n\t\t\tvar ua = window.navigator.userAgent.toLowerCase();\r\n\t\t\treturn ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tisEdge: !!window.navigator.userAgent.match(/Edge/g),\r\n\t\t\tisSafari: isSafari(),\r\n\t\t\tisWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\r\n\t\t};\r\n\t}\r\n\r\n\tfunction getBrowser() {\r\n\t\tif (!browser) {\r\n\t\t\tbrowser = calcBrowser();\r\n\t\t}\r\n\r\n\t\treturn browser;\r\n\t}\r\n\r\n\tvar Resize = {\r\n\t\tname: 'resize',\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\textend$1(swiper, {\r\n\t\t\t\tresize: {\r\n\t\t\t\t\tresizeHandler: function resizeHandler() {\r\n\t\t\t\t\t\tif (!swiper || swiper.destroyed || !swiper.initialized) return;\r\n\t\t\t\t\t\tswiper.emit('beforeResize');\r\n\t\t\t\t\t\tswiper.emit('resize');\r\n\t\t\t\t\t},\r\n\t\t\t\t\torientationChangeHandler: function orientationChangeHandler() {\r\n\t\t\t\t\t\tif (!swiper || swiper.destroyed || !swiper.initialized) return;\r\n\t\t\t\t\t\tswiper.emit('orientationchange');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tvar window = getWindow(); // Emit resize\r\n\r\n\t\t\t\twindow.addEventListener('resize', swiper.resize.resizeHandler); // Emit orientationchange\r\n\r\n\t\t\t\twindow.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\r\n\t\t\t},\r\n\t\t\tdestroy: function destroy(swiper) {\r\n\t\t\t\tvar window = getWindow();\r\n\t\t\t\twindow.removeEventListener('resize', swiper.resize.resizeHandler);\r\n\t\t\t\twindow.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Observer = {\r\n\t\tattach: function attach(target, options) {\r\n\t\t\tif (options === void 0) {\r\n\t\t\t\toptions = {};\r\n\t\t\t}\r\n\r\n\t\t\tvar window = getWindow();\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\r\n\t\t\tvar observer = new ObserverFunc(function (mutations) {\r\n\t\t\t\t// The observerUpdate event should only be triggered\r\n\t\t\t\t// once despite the number of mutations. Additional\r\n\t\t\t\t// triggers are redundant and are very costly\r\n\t\t\t\tif (mutations.length === 1) {\r\n\t\t\t\t\tswiper.emit('observerUpdate', mutations[0]);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar observerUpdate = function observerUpdate() {\r\n\t\t\t\t\tswiper.emit('observerUpdate', mutations[0]);\r\n\t\t\t\t};\r\n\r\n\t\t\t\tif (window.requestAnimationFrame) {\r\n\t\t\t\t\twindow.requestAnimationFrame(observerUpdate);\r\n\t\t\t\t} else {\r\n\t\t\t\t\twindow.setTimeout(observerUpdate, 0);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tobserver.observe(target, {\r\n\t\t\t\tattributes: typeof options.attributes === 'undefined' ? true : options.attributes,\r\n\t\t\t\tchildList: typeof options.childList === 'undefined' ? true : options.childList,\r\n\t\t\t\tcharacterData: typeof options.characterData === 'undefined' ? true : options.characterData\r\n\t\t\t});\r\n\t\t\tswiper.observer.observers.push(observer);\r\n\t\t},\r\n\t\tinit: function init() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (!swiper.support.observer || !swiper.params.observer) return;\r\n\r\n\t\t\tif (swiper.params.observeParents) {\r\n\t\t\t\tvar containerParents = swiper.$el.parents();\r\n\r\n\t\t\t\tfor (var i = 0; i < containerParents.length; i += 1) {\r\n\t\t\t\t\tswiper.observer.attach(containerParents[i]);\r\n\t\t\t\t}\r\n\t\t\t} // Observe container\r\n\r\n\r\n\t\t\tswiper.observer.attach(swiper.$el[0], {\r\n\t\t\t\tchildList: swiper.params.observeSlideChildren\r\n\t\t\t}); // Observe wrapper\r\n\r\n\t\t\tswiper.observer.attach(swiper.$wrapperEl[0], {\r\n\t\t\t\tattributes: false\r\n\t\t\t});\r\n\t\t},\r\n\t\tdestroy: function destroy() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tswiper.observer.observers.forEach(function (observer) {\r\n\t\t\t\tobserver.disconnect();\r\n\t\t\t});\r\n\t\t\tswiper.observer.observers = [];\r\n\t\t}\r\n\t};\r\n\tvar Observer$1 = {\r\n\t\tname: 'observer',\r\n\t\tparams: {\r\n\t\t\tobserver: false,\r\n\t\t\tobserveParents: false,\r\n\t\t\tobserveSlideChildren: false\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tobserver: _extends(_extends({}, Observer), {}, {\r\n\t\t\t\t\tobservers: []\r\n\t\t\t\t})\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tswiper.observer.init();\r\n\t\t\t},\r\n\t\t\tdestroy: function destroy(swiper) {\r\n\t\t\t\tswiper.observer.destroy();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar modular = {\r\n\t\tuseParams: function useParams(instanceParams) {\r\n\t\t\tvar instance = this;\r\n\t\t\tif (!instance.modules) return;\r\n\t\t\tObject.keys(instance.modules).forEach(function (moduleName) {\r\n\t\t\t\tvar module = instance.modules[moduleName]; // Extend params\r\n\r\n\t\t\t\tif (module.params) {\r\n\t\t\t\t\textend$1(instanceParams, module.params);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\tuseModules: function useModules(modulesParams) {\r\n\t\t\tif (modulesParams === void 0) {\r\n\t\t\t\tmodulesParams = {};\r\n\t\t\t}\r\n\r\n\t\t\tvar instance = this;\r\n\t\t\tif (!instance.modules) return;\r\n\t\t\tObject.keys(instance.modules).forEach(function (moduleName) {\r\n\t\t\t\tvar module = instance.modules[moduleName];\r\n\t\t\t\tvar moduleParams = modulesParams[moduleName] || {}; // Add event listeners\r\n\r\n\t\t\t\tif (module.on && instance.on) {\r\n\t\t\t\t\tObject.keys(module.on).forEach(function (moduleEventName) {\r\n\t\t\t\t\t\tinstance.on(moduleEventName, module.on[moduleEventName]);\r\n\t\t\t\t\t});\r\n\t\t\t\t} // Module create callback\r\n\r\n\r\n\t\t\t\tif (module.create) {\r\n\t\t\t\t\tmodule.create.bind(instance)(moduleParams);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\t/* eslint-disable no-underscore-dangle */\r\n\tvar eventsEmitter = {\r\n\t\ton: function on(events, handler, priority) {\r\n\t\t\tvar self = this;\r\n\t\t\tif (typeof handler !== 'function') return self;\r\n\t\t\tvar method = priority ? 'unshift' : 'push';\r\n\t\t\tevents.split(' ').forEach(function (event) {\r\n\t\t\t\tif (!self.eventsListeners[event]) self.eventsListeners[event] = [];\r\n\t\t\t\tself.eventsListeners[event][method](handler);\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t},\r\n\t\tonce: function once(events, handler, priority) {\r\n\t\t\tvar self = this;\r\n\t\t\tif (typeof handler !== 'function') return self;\r\n\r\n\t\t\tfunction onceHandler() {\r\n\t\t\t\tself.off(events, onceHandler);\r\n\r\n\t\t\t\tif (onceHandler.__emitterProxy) {\r\n\t\t\t\t\tdelete onceHandler.__emitterProxy;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n\t\t\t\t\targs[_key] = arguments[_key];\r\n\t\t\t\t}\r\n\r\n\t\t\t\thandler.apply(self, args);\r\n\t\t\t}\r\n\r\n\t\t\tonceHandler.__emitterProxy = handler;\r\n\t\t\treturn self.on(events, onceHandler, priority);\r\n\t\t},\r\n\t\tonAny: function onAny(handler, priority) {\r\n\t\t\tvar self = this;\r\n\t\t\tif (typeof handler !== 'function') return self;\r\n\t\t\tvar method = priority ? 'unshift' : 'push';\r\n\r\n\t\t\tif (self.eventsAnyListeners.indexOf(handler) < 0) {\r\n\t\t\t\tself.eventsAnyListeners[method](handler);\r\n\t\t\t}\r\n\r\n\t\t\treturn self;\r\n\t\t},\r\n\t\toffAny: function offAny(handler) {\r\n\t\t\tvar self = this;\r\n\t\t\tif (!self.eventsAnyListeners) return self;\r\n\t\t\tvar index = self.eventsAnyListeners.indexOf(handler);\r\n\r\n\t\t\tif (index >= 0) {\r\n\t\t\t\tself.eventsAnyListeners.splice(index, 1);\r\n\t\t\t}\r\n\r\n\t\t\treturn self;\r\n\t\t},\r\n\t\toff: function off(events, handler) {\r\n\t\t\tvar self = this;\r\n\t\t\tif (!self.eventsListeners) return self;\r\n\t\t\tevents.split(' ').forEach(function (event) {\r\n\t\t\t\tif (typeof handler === 'undefined') {\r\n\t\t\t\t\tself.eventsListeners[event] = [];\r\n\t\t\t\t} else if (self.eventsListeners[event]) {\r\n\t\t\t\t\tself.eventsListeners[event].forEach(function (eventHandler, index) {\r\n\t\t\t\t\t\tif (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\r\n\t\t\t\t\t\t\tself.eventsListeners[event].splice(index, 1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t},\r\n\t\temit: function emit() {\r\n\t\t\tvar self = this;\r\n\t\t\tif (!self.eventsListeners) return self;\r\n\t\t\tvar events;\r\n\t\t\tvar data;\r\n\t\t\tvar context;\r\n\r\n\t\t\tfor (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n\t\t\t\targs[_key2] = arguments[_key2];\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof args[0] === 'string' || Array.isArray(args[0])) {\r\n\t\t\t\tevents = args[0];\r\n\t\t\t\tdata = args.slice(1, args.length);\r\n\t\t\t\tcontext = self;\r\n\t\t\t} else {\r\n\t\t\t\tevents = args[0].events;\r\n\t\t\t\tdata = args[0].data;\r\n\t\t\t\tcontext = args[0].context || self;\r\n\t\t\t}\r\n\r\n\t\t\tdata.unshift(context);\r\n\t\t\tvar eventsArray = Array.isArray(events) ? events : events.split(' ');\r\n\t\t\teventsArray.forEach(function (event) {\r\n\t\t\t\tif (self.eventsAnyListeners && self.eventsAnyListeners.length) {\r\n\t\t\t\t\tself.eventsAnyListeners.forEach(function (eventHandler) {\r\n\t\t\t\t\t\teventHandler.apply(context, [event].concat(data));\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (self.eventsListeners && self.eventsListeners[event]) {\r\n\t\t\t\t\tvar handlers = [];\r\n\t\t\t\t\tself.eventsListeners[event].forEach(function (eventHandler) {\r\n\t\t\t\t\t\thandlers.push(eventHandler);\r\n\t\t\t\t\t});\r\n\t\t\t\t\thandlers.forEach(function (eventHandler) {\r\n\t\t\t\t\t\teventHandler.apply(context, data);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t}\r\n\t};\r\n\r\n\tfunction updateSize() {\r\n\t\tvar swiper = this;\r\n\t\tvar width;\r\n\t\tvar height;\r\n\t\tvar $el = swiper.$el;\r\n\r\n\t\tif (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\r\n\t\t\twidth = swiper.params.width;\r\n\t\t} else {\r\n\t\t\twidth = $el[0].clientWidth;\r\n\t\t}\r\n\r\n\t\tif (typeof swiper.params.height !== 'undefined' && swiper.params.width !== null) {\r\n\t\t\theight = swiper.params.height;\r\n\t\t} else {\r\n\t\t\theight = $el[0].clientHeight;\r\n\t\t}\r\n\r\n\t\tif (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\r\n\t\t\treturn;\r\n\t\t} // Subtract paddings\r\n\r\n\r\n\t\twidth = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);\r\n\t\theight = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);\r\n\t\tif (Number.isNaN(width)) width = 0;\r\n\t\tif (Number.isNaN(height)) height = 0;\r\n\t\textend$1(swiper, {\r\n\t\t\twidth: width,\r\n\t\t\theight: height,\r\n\t\t\tsize: swiper.isHorizontal() ? width : height\r\n\t\t});\r\n\t}\r\n\r\n\tfunction updateSlides() {\r\n\t\tvar swiper = this;\r\n\t\tvar window = getWindow();\r\n\t\tvar params = swiper.params;\r\n\t\tvar $wrapperEl = swiper.$wrapperEl,\r\n\t\t\tswiperSize = swiper.size,\r\n\t\t\trtl = swiper.rtlTranslate,\r\n\t\t\twrongRTL = swiper.wrongRTL;\r\n\t\tvar isVirtual = swiper.virtual && params.virtual.enabled;\r\n\t\tvar previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\r\n\t\tvar slides = $wrapperEl.children(\".\" + swiper.params.slideClass);\r\n\t\tvar slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\r\n\t\tvar snapGrid = [];\r\n\t\tvar slidesGrid = [];\r\n\t\tvar slidesSizesGrid = [];\r\n\r\n\t\tfunction slidesForMargin(slideEl, slideIndex) {\r\n\t\t\tif (!params.cssMode) return true;\r\n\r\n\t\t\tif (slideIndex === slides.length - 1) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tvar offsetBefore = params.slidesOffsetBefore;\r\n\r\n\t\tif (typeof offsetBefore === 'function') {\r\n\t\t\toffsetBefore = params.slidesOffsetBefore.call(swiper);\r\n\t\t}\r\n\r\n\t\tvar offsetAfter = params.slidesOffsetAfter;\r\n\r\n\t\tif (typeof offsetAfter === 'function') {\r\n\t\t\toffsetAfter = params.slidesOffsetAfter.call(swiper);\r\n\t\t}\r\n\r\n\t\tvar previousSnapGridLength = swiper.snapGrid.length;\r\n\t\tvar previousSlidesGridLength = swiper.snapGrid.length;\r\n\t\tvar spaceBetween = params.spaceBetween;\r\n\t\tvar slidePosition = -offsetBefore;\r\n\t\tvar prevSlideSize = 0;\r\n\t\tvar index = 0;\r\n\r\n\t\tif (typeof swiperSize === 'undefined') {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\r\n\t\t\tspaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\r\n\t\t}\r\n\r\n\t\tswiper.virtualSize = -spaceBetween; // reset margins\r\n\r\n\t\tif (rtl) slides.css({\r\n\t\t\tmarginLeft: '',\r\n\t\t\tmarginTop: ''\r\n\t\t});else slides.css({\r\n\t\t\tmarginRight: '',\r\n\t\t\tmarginBottom: ''\r\n\t\t});\r\n\t\tvar slidesNumberEvenToRows;\r\n\r\n\t\tif (params.slidesPerColumn > 1) {\r\n\t\t\tif (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\r\n\t\t\t\tslidesNumberEvenToRows = slidesLength;\r\n\t\t\t} else {\r\n\t\t\t\tslidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\r\n\t\t\t}\r\n\r\n\t\t\tif (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\r\n\t\t\t\tslidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\r\n\t\t\t}\r\n\t\t} // Calc slides\r\n\r\n\r\n\t\tvar slideSize;\r\n\t\tvar slidesPerColumn = params.slidesPerColumn;\r\n\t\tvar slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\r\n\t\tvar numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);\r\n\r\n\t\tfor (var i = 0; i < slidesLength; i += 1) {\r\n\t\t\tslideSize = 0;\r\n\t\t\tvar slide = slides.eq(i);\r\n\r\n\t\t\tif (params.slidesPerColumn > 1) {\r\n\t\t\t\t// Set slides order\r\n\t\t\t\tvar newSlideOrderIndex = void 0;\r\n\t\t\t\tvar column = void 0;\r\n\t\t\t\tvar row = void 0;\r\n\r\n\t\t\t\tif (params.slidesPerColumnFill === 'row' && params.slidesPerGroup > 1) {\r\n\t\t\t\t\tvar groupIndex = Math.floor(i / (params.slidesPerGroup * params.slidesPerColumn));\r\n\t\t\t\t\tvar slideIndexInGroup = i - params.slidesPerColumn * params.slidesPerGroup * groupIndex;\r\n\t\t\t\t\tvar columnsInGroup = groupIndex === 0 ? params.slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * slidesPerColumn * params.slidesPerGroup) / slidesPerColumn), params.slidesPerGroup);\r\n\t\t\t\t\trow = Math.floor(slideIndexInGroup / columnsInGroup);\r\n\t\t\t\t\tcolumn = slideIndexInGroup - row * columnsInGroup + groupIndex * params.slidesPerGroup;\r\n\t\t\t\t\tnewSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\r\n\t\t\t\t\tslide.css({\r\n\t\t\t\t\t\t'-webkit-box-ordinal-group': newSlideOrderIndex,\r\n\t\t\t\t\t\t'-moz-box-ordinal-group': newSlideOrderIndex,\r\n\t\t\t\t\t\t'-ms-flex-order': newSlideOrderIndex,\r\n\t\t\t\t\t\t'-webkit-order': newSlideOrderIndex,\r\n\t\t\t\t\t\torder: newSlideOrderIndex\r\n\t\t\t\t\t});\r\n\t\t\t\t} else if (params.slidesPerColumnFill === 'column') {\r\n\t\t\t\t\tcolumn = Math.floor(i / slidesPerColumn);\r\n\t\t\t\t\trow = i - column * slidesPerColumn;\r\n\r\n\t\t\t\t\tif (column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1) {\r\n\t\t\t\t\t\trow += 1;\r\n\r\n\t\t\t\t\t\tif (row >= slidesPerColumn) {\r\n\t\t\t\t\t\t\trow = 0;\r\n\t\t\t\t\t\t\tcolumn += 1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\trow = Math.floor(i / slidesPerRow);\r\n\t\t\t\t\tcolumn = i - row * slidesPerRow;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tslide.css(\"margin-\" + (swiper.isHorizontal() ? 'top' : 'left'), row !== 0 && params.spaceBetween && params.spaceBetween + \"px\");\r\n\t\t\t}\r\n\r\n\t\t\tif (slide.css('display') === 'none') continue; // eslint-disable-line\r\n\r\n\t\t\tif (params.slidesPerView === 'auto') {\r\n\t\t\t\tvar slideStyles = window.getComputedStyle(slide[0], null);\r\n\t\t\t\tvar currentTransform = slide[0].style.transform;\r\n\t\t\t\tvar currentWebKitTransform = slide[0].style.webkitTransform;\r\n\r\n\t\t\t\tif (currentTransform) {\r\n\t\t\t\t\tslide[0].style.transform = 'none';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (currentWebKitTransform) {\r\n\t\t\t\t\tslide[0].style.webkitTransform = 'none';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (params.roundLengths) {\r\n\t\t\t\t\tslideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// eslint-disable-next-line\r\n\t\t\t\t\tif (swiper.isHorizontal()) {\r\n\t\t\t\t\t\tvar width = parseFloat(slideStyles.getPropertyValue('width') || 0);\r\n\t\t\t\t\t\tvar paddingLeft = parseFloat(slideStyles.getPropertyValue('padding-left') || 0);\r\n\t\t\t\t\t\tvar paddingRight = parseFloat(slideStyles.getPropertyValue('padding-right') || 0);\r\n\t\t\t\t\t\tvar marginLeft = parseFloat(slideStyles.getPropertyValue('margin-left') || 0);\r\n\t\t\t\t\t\tvar marginRight = parseFloat(slideStyles.getPropertyValue('margin-right') || 0);\r\n\t\t\t\t\t\tvar boxSizing = slideStyles.getPropertyValue('box-sizing');\r\n\r\n\t\t\t\t\t\tif (boxSizing && boxSizing === 'border-box') {\r\n\t\t\t\t\t\t\tslideSize = width + marginLeft + marginRight;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tslideSize = width + paddingLeft + paddingRight + marginLeft + marginRight;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvar height = parseFloat(slideStyles.getPropertyValue('height') || 0);\r\n\t\t\t\t\t\tvar paddingTop = parseFloat(slideStyles.getPropertyValue('padding-top') || 0);\r\n\t\t\t\t\t\tvar paddingBottom = parseFloat(slideStyles.getPropertyValue('padding-bottom') || 0);\r\n\t\t\t\t\t\tvar marginTop = parseFloat(slideStyles.getPropertyValue('margin-top') || 0);\r\n\t\t\t\t\t\tvar marginBottom = parseFloat(slideStyles.getPropertyValue('margin-bottom') || 0);\r\n\r\n\t\t\t\t\t\tvar _boxSizing = slideStyles.getPropertyValue('box-sizing');\r\n\r\n\t\t\t\t\t\tif (_boxSizing && _boxSizing === 'border-box') {\r\n\t\t\t\t\t\t\tslideSize = height + marginTop + marginBottom;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tslideSize = height + paddingTop + paddingBottom + marginTop + marginBottom;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (currentTransform) {\r\n\t\t\t\t\tslide[0].style.transform = currentTransform;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (currentWebKitTransform) {\r\n\t\t\t\t\tslide[0].style.webkitTransform = currentWebKitTransform;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (params.roundLengths) slideSize = Math.floor(slideSize);\r\n\t\t\t} else {\r\n\t\t\t\tslideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\r\n\t\t\t\tif (params.roundLengths) slideSize = Math.floor(slideSize);\r\n\r\n\t\t\t\tif (slides[i]) {\r\n\t\t\t\t\tif (swiper.isHorizontal()) {\r\n\t\t\t\t\t\tslides[i].style.width = slideSize + \"px\";\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tslides[i].style.height = slideSize + \"px\";\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (slides[i]) {\r\n\t\t\t\tslides[i].swiperSlideSize = slideSize;\r\n\t\t\t}\r\n\r\n\t\t\tslidesSizesGrid.push(slideSize);\r\n\r\n\t\t\tif (params.centeredSlides) {\r\n\t\t\t\tslidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\r\n\t\t\t\tif (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\r\n\t\t\t\tif (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\r\n\t\t\t\tif (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\r\n\t\t\t\tif (params.roundLengths) slidePosition = Math.floor(slidePosition);\r\n\t\t\t\tif (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\r\n\t\t\t\tslidesGrid.push(slidePosition);\r\n\t\t\t} else {\r\n\t\t\t\tif (params.roundLengths) slidePosition = Math.floor(slidePosition);\r\n\t\t\t\tif ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\r\n\t\t\t\tslidesGrid.push(slidePosition);\r\n\t\t\t\tslidePosition = slidePosition + slideSize + spaceBetween;\r\n\t\t\t}\r\n\r\n\t\t\tswiper.virtualSize += slideSize + spaceBetween;\r\n\t\t\tprevSlideSize = slideSize;\r\n\t\t\tindex += 1;\r\n\t\t}\r\n\r\n\t\tswiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\r\n\t\tvar newSlidesGrid;\r\n\r\n\t\tif (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\r\n\t\t\t$wrapperEl.css({\r\n\t\t\t\twidth: swiper.virtualSize + params.spaceBetween + \"px\"\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (params.setWrapperSize) {\r\n\t\t\tif (swiper.isHorizontal()) $wrapperEl.css({\r\n\t\t\t\twidth: swiper.virtualSize + params.spaceBetween + \"px\"\r\n\t\t\t});else $wrapperEl.css({\r\n\t\t\t\theight: swiper.virtualSize + params.spaceBetween + \"px\"\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (params.slidesPerColumn > 1) {\r\n\t\t\tswiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\r\n\t\t\tswiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\r\n\t\t\tif (swiper.isHorizontal()) $wrapperEl.css({\r\n\t\t\t\twidth: swiper.virtualSize + params.spaceBetween + \"px\"\r\n\t\t\t});else $wrapperEl.css({\r\n\t\t\t\theight: swiper.virtualSize + params.spaceBetween + \"px\"\r\n\t\t\t});\r\n\r\n\t\t\tif (params.centeredSlides) {\r\n\t\t\t\tnewSlidesGrid = [];\r\n\r\n\t\t\t\tfor (var _i = 0; _i < snapGrid.length; _i += 1) {\r\n\t\t\t\t\tvar slidesGridItem = snapGrid[_i];\r\n\t\t\t\t\tif (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\r\n\t\t\t\t\tif (snapGrid[_i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsnapGrid = newSlidesGrid;\r\n\t\t\t}\r\n\t\t} // Remove last grid elements depending on width\r\n\r\n\r\n\t\tif (!params.centeredSlides) {\r\n\t\t\tnewSlidesGrid = [];\r\n\r\n\t\t\tfor (var _i2 = 0; _i2 < snapGrid.length; _i2 += 1) {\r\n\t\t\t\tvar _slidesGridItem = snapGrid[_i2];\r\n\t\t\t\tif (params.roundLengths) _slidesGridItem = Math.floor(_slidesGridItem);\r\n\r\n\t\t\t\tif (snapGrid[_i2] <= swiper.virtualSize - swiperSize) {\r\n\t\t\t\t\tnewSlidesGrid.push(_slidesGridItem);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tsnapGrid = newSlidesGrid;\r\n\r\n\t\t\tif (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\r\n\t\t\t\tsnapGrid.push(swiper.virtualSize - swiperSize);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (snapGrid.length === 0) snapGrid = [0];\r\n\r\n\t\tif (params.spaceBetween !== 0) {\r\n\t\t\tif (swiper.isHorizontal()) {\r\n\t\t\t\tif (rtl) slides.filter(slidesForMargin).css({\r\n\t\t\t\t\tmarginLeft: spaceBetween + \"px\"\r\n\t\t\t\t});else slides.filter(slidesForMargin).css({\r\n\t\t\t\t\tmarginRight: spaceBetween + \"px\"\r\n\t\t\t\t});\r\n\t\t\t} else slides.filter(slidesForMargin).css({\r\n\t\t\t\tmarginBottom: spaceBetween + \"px\"\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (params.centeredSlides && params.centeredSlidesBounds) {\r\n\t\t\tvar allSlidesSize = 0;\r\n\t\t\tslidesSizesGrid.forEach(function (slideSizeValue) {\r\n\t\t\t\tallSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\r\n\t\t\t});\r\n\t\t\tallSlidesSize -= params.spaceBetween;\r\n\t\t\tvar maxSnap = allSlidesSize - swiperSize;\r\n\t\t\tsnapGrid = snapGrid.map(function (snap) {\r\n\t\t\t\tif (snap < 0) return -offsetBefore;\r\n\t\t\t\tif (snap > maxSnap) return maxSnap + offsetAfter;\r\n\t\t\t\treturn snap;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (params.centerInsufficientSlides) {\r\n\t\t\tvar _allSlidesSize = 0;\r\n\t\t\tslidesSizesGrid.forEach(function (slideSizeValue) {\r\n\t\t\t\t_allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\r\n\t\t\t});\r\n\t\t\t_allSlidesSize -= params.spaceBetween;\r\n\r\n\t\t\tif (_allSlidesSize < swiperSize) {\r\n\t\t\t\tvar allSlidesOffset = (swiperSize - _allSlidesSize) / 2;\r\n\t\t\t\tsnapGrid.forEach(function (snap, snapIndex) {\r\n\t\t\t\t\tsnapGrid[snapIndex] = snap - allSlidesOffset;\r\n\t\t\t\t});\r\n\t\t\t\tslidesGrid.forEach(function (snap, snapIndex) {\r\n\t\t\t\t\tslidesGrid[snapIndex] = snap + allSlidesOffset;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\textend$1(swiper, {\r\n\t\t\tslides: slides,\r\n\t\t\tsnapGrid: snapGrid,\r\n\t\t\tslidesGrid: slidesGrid,\r\n\t\t\tslidesSizesGrid: slidesSizesGrid\r\n\t\t});\r\n\r\n\t\tif (slidesLength !== previousSlidesLength) {\r\n\t\t\tswiper.emit('slidesLengthChange');\r\n\t\t}\r\n\r\n\t\tif (snapGrid.length !== previousSnapGridLength) {\r\n\t\t\tif (swiper.params.watchOverflow) swiper.checkOverflow();\r\n\t\t\tswiper.emit('snapGridLengthChange');\r\n\t\t}\r\n\r\n\t\tif (slidesGrid.length !== previousSlidesGridLength) {\r\n\t\t\tswiper.emit('slidesGridLengthChange');\r\n\t\t}\r\n\r\n\t\tif (params.watchSlidesProgress || params.watchSlidesVisibility) {\r\n\t\t\tswiper.updateSlidesOffset();\r\n\t\t}\r\n\t}\r\n\r\n\tfunction updateAutoHeight(speed) {\r\n\t\tvar swiper = this;\r\n\t\tvar activeSlides = [];\r\n\t\tvar newHeight = 0;\r\n\t\tvar i;\r\n\r\n\t\tif (typeof speed === 'number') {\r\n\t\t\tswiper.setTransition(speed);\r\n\t\t} else if (speed === true) {\r\n\t\t\tswiper.setTransition(swiper.params.speed);\r\n\t\t} // Find slides currently in view\r\n\r\n\r\n\t\tif (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\r\n\t\t\tif (swiper.params.centeredSlides) {\r\n\t\t\t\tswiper.visibleSlides.each(function (slide) {\r\n\t\t\t\t\tactiveSlides.push(slide);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tfor (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\r\n\t\t\t\t\tvar index = swiper.activeIndex + i;\r\n\t\t\t\t\tif (index > swiper.slides.length) break;\r\n\t\t\t\t\tactiveSlides.push(swiper.slides.eq(index)[0]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tactiveSlides.push(swiper.slides.eq(swiper.activeIndex)[0]);\r\n\t\t} // Find new height from highest slide in view\r\n\r\n\r\n\t\tfor (i = 0; i < activeSlides.length; i += 1) {\r\n\t\t\tif (typeof activeSlides[i] !== 'undefined') {\r\n\t\t\t\tvar height = activeSlides[i].offsetHeight;\r\n\t\t\t\tnewHeight = height > newHeight ? height : newHeight;\r\n\t\t\t}\r\n\t\t} // Update Height\r\n\r\n\r\n\t\tif (newHeight) swiper.$wrapperEl.css('height', newHeight + \"px\");\r\n\t}\r\n\r\n\tfunction updateSlidesOffset() {\r\n\t\tvar swiper = this;\r\n\t\tvar slides = swiper.slides;\r\n\r\n\t\tfor (var i = 0; i < slides.length; i += 1) {\r\n\t\t\tslides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction updateSlidesProgress(translate) {\r\n\t\tif (translate === void 0) {\r\n\t\t\ttranslate = this && this.translate || 0;\r\n\t\t}\r\n\r\n\t\tvar swiper = this;\r\n\t\tvar params = swiper.params;\r\n\t\tvar slides = swiper.slides,\r\n\t\t\trtl = swiper.rtlTranslate;\r\n\t\tif (slides.length === 0) return;\r\n\t\tif (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\r\n\t\tvar offsetCenter = -translate;\r\n\t\tif (rtl) offsetCenter = translate; // Visible Slides\r\n\r\n\t\tslides.removeClass(params.slideVisibleClass);\r\n\t\tswiper.visibleSlidesIndexes = [];\r\n\t\tswiper.visibleSlides = [];\r\n\r\n\t\tfor (var i = 0; i < slides.length; i += 1) {\r\n\t\t\tvar slide = slides[i];\r\n\t\t\tvar slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + params.spaceBetween);\r\n\r\n\t\t\tif (params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) {\r\n\t\t\t\tvar slideBefore = -(offsetCenter - slide.swiperSlideOffset);\r\n\t\t\t\tvar slideAfter = slideBefore + swiper.slidesSizesGrid[i];\r\n\t\t\t\tvar isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\r\n\r\n\t\t\t\tif (isVisible) {\r\n\t\t\t\t\tswiper.visibleSlides.push(slide);\r\n\t\t\t\t\tswiper.visibleSlidesIndexes.push(i);\r\n\t\t\t\t\tslides.eq(i).addClass(params.slideVisibleClass);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tslide.progress = rtl ? -slideProgress : slideProgress;\r\n\t\t}\r\n\r\n\t\tswiper.visibleSlides = $(swiper.visibleSlides);\r\n\t}\r\n\r\n\tfunction updateProgress(translate) {\r\n\t\tvar swiper = this;\r\n\r\n\t\tif (typeof translate === 'undefined') {\r\n\t\t\tvar multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line\r\n\r\n\t\t\ttranslate = swiper && swiper.translate && swiper.translate * multiplier || 0;\r\n\t\t}\r\n\r\n\t\tvar params = swiper.params;\r\n\t\tvar translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\r\n\t\tvar progress = swiper.progress,\r\n\t\t\tisBeginning = swiper.isBeginning,\r\n\t\t\tisEnd = swiper.isEnd;\r\n\t\tvar wasBeginning = isBeginning;\r\n\t\tvar wasEnd = isEnd;\r\n\r\n\t\tif (translatesDiff === 0) {\r\n\t\t\tprogress = 0;\r\n\t\t\tisBeginning = true;\r\n\t\t\tisEnd = true;\r\n\t\t} else {\r\n\t\t\tprogress = (translate - swiper.minTranslate()) / translatesDiff;\r\n\t\t\tisBeginning = progress <= 0;\r\n\t\t\tisEnd = progress >= 1;\r\n\t\t}\r\n\r\n\t\textend$1(swiper, {\r\n\t\t\tprogress: progress,\r\n\t\t\tisBeginning: isBeginning,\r\n\t\t\tisEnd: isEnd\r\n\t\t});\r\n\t\tif (params.watchSlidesProgress || params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\r\n\r\n\t\tif (isBeginning && !wasBeginning) {\r\n\t\t\tswiper.emit('reachBeginning toEdge');\r\n\t\t}\r\n\r\n\t\tif (isEnd && !wasEnd) {\r\n\t\t\tswiper.emit('reachEnd toEdge');\r\n\t\t}\r\n\r\n\t\tif (wasBeginning && !isBeginning || wasEnd && !isEnd) {\r\n\t\t\tswiper.emit('fromEdge');\r\n\t\t}\r\n\r\n\t\tswiper.emit('progress', progress);\r\n\t}\r\n\r\n\tfunction updateSlidesClasses() {\r\n\t\tvar swiper = this;\r\n\t\tvar slides = swiper.slides,\r\n\t\t\tparams = swiper.params,\r\n\t\t\t$wrapperEl = swiper.$wrapperEl,\r\n\t\t\tactiveIndex = swiper.activeIndex,\r\n\t\t\trealIndex = swiper.realIndex;\r\n\t\tvar isVirtual = swiper.virtual && params.virtual.enabled;\r\n\t\tslides.removeClass(params.slideActiveClass + \" \" + params.slideNextClass + \" \" + params.slidePrevClass + \" \" + params.slideDuplicateActiveClass + \" \" + params.slideDuplicateNextClass + \" \" + params.slideDuplicatePrevClass);\r\n\t\tvar activeSlide;\r\n\r\n\t\tif (isVirtual) {\r\n\t\t\tactiveSlide = swiper.$wrapperEl.find(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + activeIndex + \"\\\"]\");\r\n\t\t} else {\r\n\t\t\tactiveSlide = slides.eq(activeIndex);\r\n\t\t} // Active classes\r\n\r\n\r\n\t\tactiveSlide.addClass(params.slideActiveClass);\r\n\r\n\t\tif (params.loop) {\r\n\t\t\t// Duplicate to all looped slides\r\n\t\t\tif (activeSlide.hasClass(params.slideDuplicateClass)) {\r\n\t\t\t\t$wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\r\n\t\t\t} else {\r\n\t\t\t\t$wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\r\n\t\t\t}\r\n\t\t} // Next Slide\r\n\r\n\r\n\t\tvar nextSlide = activeSlide.nextAll(\".\" + params.slideClass).eq(0).addClass(params.slideNextClass);\r\n\r\n\t\tif (params.loop && nextSlide.length === 0) {\r\n\t\t\tnextSlide = slides.eq(0);\r\n\t\t\tnextSlide.addClass(params.slideNextClass);\r\n\t\t} // Prev Slide\r\n\r\n\r\n\t\tvar prevSlide = activeSlide.prevAll(\".\" + params.slideClass).eq(0).addClass(params.slidePrevClass);\r\n\r\n\t\tif (params.loop && prevSlide.length === 0) {\r\n\t\t\tprevSlide = slides.eq(-1);\r\n\t\t\tprevSlide.addClass(params.slidePrevClass);\r\n\t\t}\r\n\r\n\t\tif (params.loop) {\r\n\t\t\t// Duplicate to all looped slides\r\n\t\t\tif (nextSlide.hasClass(params.slideDuplicateClass)) {\r\n\t\t\t\t$wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\r\n\t\t\t} else {\r\n\t\t\t\t$wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\r\n\t\t\t}\r\n\r\n\t\t\tif (prevSlide.hasClass(params.slideDuplicateClass)) {\r\n\t\t\t\t$wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\r\n\t\t\t} else {\r\n\t\t\t\t$wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tswiper.emitSlidesClasses();\r\n\t}\r\n\r\n\tfunction updateActiveIndex(newActiveIndex) {\r\n\t\tvar swiper = this;\r\n\t\tvar translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\r\n\t\tvar slidesGrid = swiper.slidesGrid,\r\n\t\t\tsnapGrid = swiper.snapGrid,\r\n\t\t\tparams = swiper.params,\r\n\t\t\tpreviousIndex = swiper.activeIndex,\r\n\t\t\tpreviousRealIndex = swiper.realIndex,\r\n\t\t\tpreviousSnapIndex = swiper.snapIndex;\r\n\t\tvar activeIndex = newActiveIndex;\r\n\t\tvar snapIndex;\r\n\r\n\t\tif (typeof activeIndex === 'undefined') {\r\n\t\t\tfor (var i = 0; i < slidesGrid.length; i += 1) {\r\n\t\t\t\tif (typeof slidesGrid[i + 1] !== 'undefined') {\r\n\t\t\t\t\tif (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\r\n\t\t\t\t\t\tactiveIndex = i;\r\n\t\t\t\t\t} else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\r\n\t\t\t\t\t\tactiveIndex = i + 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (translate >= slidesGrid[i]) {\r\n\t\t\t\t\tactiveIndex = i;\r\n\t\t\t\t}\r\n\t\t\t} // Normalize slideIndex\r\n\r\n\r\n\t\t\tif (params.normalizeSlideIndex) {\r\n\t\t\t\tif (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (snapGrid.indexOf(translate) >= 0) {\r\n\t\t\tsnapIndex = snapGrid.indexOf(translate);\r\n\t\t} else {\r\n\t\t\tvar skip = Math.min(params.slidesPerGroupSkip, activeIndex);\r\n\t\t\tsnapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\r\n\t\t}\r\n\r\n\t\tif (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\r\n\r\n\t\tif (activeIndex === previousIndex) {\r\n\t\t\tif (snapIndex !== previousSnapIndex) {\r\n\t\t\t\tswiper.snapIndex = snapIndex;\r\n\t\t\t\tswiper.emit('snapIndexChange');\r\n\t\t\t}\r\n\r\n\t\t\treturn;\r\n\t\t} // Get real index\r\n\r\n\r\n\t\tvar realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\r\n\t\textend$1(swiper, {\r\n\t\t\tsnapIndex: snapIndex,\r\n\t\t\trealIndex: realIndex,\r\n\t\t\tpreviousIndex: previousIndex,\r\n\t\t\tactiveIndex: activeIndex\r\n\t\t});\r\n\t\tswiper.emit('activeIndexChange');\r\n\t\tswiper.emit('snapIndexChange');\r\n\r\n\t\tif (previousRealIndex !== realIndex) {\r\n\t\t\tswiper.emit('realIndexChange');\r\n\t\t}\r\n\r\n\t\tif (swiper.initialized || swiper.params.runCallbacksOnInit) {\r\n\t\t\tswiper.emit('slideChange');\r\n\t\t}\r\n\t}\r\n\r\n\tfunction updateClickedSlide(e) {\r\n\t\tvar swiper = this;\r\n\t\tvar params = swiper.params;\r\n\t\tvar slide = $(e.target).closest(\".\" + params.slideClass)[0];\r\n\t\tvar slideFound = false;\r\n\r\n\t\tif (slide) {\r\n\t\t\tfor (var i = 0; i < swiper.slides.length; i += 1) {\r\n\t\t\t\tif (swiper.slides[i] === slide) slideFound = true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (slide && slideFound) {\r\n\t\t\tswiper.clickedSlide = slide;\r\n\r\n\t\t\tif (swiper.virtual && swiper.params.virtual.enabled) {\r\n\t\t\t\tswiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\r\n\t\t\t} else {\r\n\t\t\t\tswiper.clickedIndex = $(slide).index();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tswiper.clickedSlide = undefined;\r\n\t\t\tswiper.clickedIndex = undefined;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\r\n\t\t\tswiper.slideToClickedSlide();\r\n\t\t}\r\n\t}\r\n\r\n\tvar update = {\r\n\t\tupdateSize: updateSize,\r\n\t\tupdateSlides: updateSlides,\r\n\t\tupdateAutoHeight: updateAutoHeight,\r\n\t\tupdateSlidesOffset: updateSlidesOffset,\r\n\t\tupdateSlidesProgress: updateSlidesProgress,\r\n\t\tupdateProgress: updateProgress,\r\n\t\tupdateSlidesClasses: updateSlidesClasses,\r\n\t\tupdateActiveIndex: updateActiveIndex,\r\n\t\tupdateClickedSlide: updateClickedSlide\r\n\t};\r\n\r\n\tfunction getSwiperTranslate(axis) {\r\n\t\tif (axis === void 0) {\r\n\t\t\taxis = this.isHorizontal() ? 'x' : 'y';\r\n\t\t}\r\n\r\n\t\tvar swiper = this;\r\n\t\tvar params = swiper.params,\r\n\t\t\trtl = swiper.rtlTranslate,\r\n\t\t\ttranslate = swiper.translate,\r\n\t\t\t$wrapperEl = swiper.$wrapperEl;\r\n\r\n\t\tif (params.virtualTranslate) {\r\n\t\t\treturn rtl ? -translate : translate;\r\n\t\t}\r\n\r\n\t\tif (params.cssMode) {\r\n\t\t\treturn translate;\r\n\t\t}\r\n\r\n\t\tvar currentTranslate = getTranslate($wrapperEl[0], axis);\r\n\t\tif (rtl) currentTranslate = -currentTranslate;\r\n\t\treturn currentTranslate || 0;\r\n\t}\r\n\r\n\tfunction setTranslate(translate, byController) {\r\n\t\tvar swiper = this;\r\n\t\tvar rtl = swiper.rtlTranslate,\r\n\t\t\tparams = swiper.params,\r\n\t\t\t$wrapperEl = swiper.$wrapperEl,\r\n\t\t\twrapperEl = swiper.wrapperEl,\r\n\t\t\tprogress = swiper.progress;\r\n\t\tvar x = 0;\r\n\t\tvar y = 0;\r\n\t\tvar z = 0;\r\n\r\n\t\tif (swiper.isHorizontal()) {\r\n\t\t\tx = rtl ? -translate : translate;\r\n\t\t} else {\r\n\t\t\ty = translate;\r\n\t\t}\r\n\r\n\t\tif (params.roundLengths) {\r\n\t\t\tx = Math.floor(x);\r\n\t\t\ty = Math.floor(y);\r\n\t\t}\r\n\r\n\t\tif (params.cssMode) {\r\n\t\t\twrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\r\n\t\t} else if (!params.virtualTranslate) {\r\n\t\t\t$wrapperEl.transform(\"translate3d(\" + x + \"px, \" + y + \"px, \" + z + \"px)\");\r\n\t\t}\r\n\r\n\t\tswiper.previousTranslate = swiper.translate;\r\n\t\tswiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\r\n\r\n\t\tvar newProgress;\r\n\t\tvar translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\r\n\r\n\t\tif (translatesDiff === 0) {\r\n\t\t\tnewProgress = 0;\r\n\t\t} else {\r\n\t\t\tnewProgress = (translate - swiper.minTranslate()) / translatesDiff;\r\n\t\t}\r\n\r\n\t\tif (newProgress !== progress) {\r\n\t\t\tswiper.updateProgress(translate);\r\n\t\t}\r\n\r\n\t\tswiper.emit('setTranslate', swiper.translate, byController);\r\n\t}\r\n\r\n\tfunction minTranslate() {\r\n\t\treturn -this.snapGrid[0];\r\n\t}\r\n\r\n\tfunction maxTranslate() {\r\n\t\treturn -this.snapGrid[this.snapGrid.length - 1];\r\n\t}\r\n\r\n\tfunction translateTo(translate, speed, runCallbacks, translateBounds, internal) {\r\n\t\tif (translate === void 0) {\r\n\t\t\ttranslate = 0;\r\n\t\t}\r\n\r\n\t\tif (speed === void 0) {\r\n\t\t\tspeed = this.params.speed;\r\n\t\t}\r\n\r\n\t\tif (runCallbacks === void 0) {\r\n\t\t\trunCallbacks = true;\r\n\t\t}\r\n\r\n\t\tif (translateBounds === void 0) {\r\n\t\t\ttranslateBounds = true;\r\n\t\t}\r\n\r\n\t\tvar swiper = this;\r\n\t\tvar params = swiper.params,\r\n\t\t\twrapperEl = swiper.wrapperEl;\r\n\r\n\t\tif (swiper.animating && params.preventInteractionOnTransition) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar minTranslate = swiper.minTranslate();\r\n\t\tvar maxTranslate = swiper.maxTranslate();\r\n\t\tvar newTranslate;\r\n\t\tif (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress\r\n\r\n\t\tswiper.updateProgress(newTranslate);\r\n\r\n\t\tif (params.cssMode) {\r\n\t\t\tvar isH = swiper.isHorizontal();\r\n\r\n\t\t\tif (speed === 0) {\r\n\t\t\t\twrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\r\n\t\t\t} else {\r\n\t\t\t\t// eslint-disable-next-line\r\n\t\t\t\tif (wrapperEl.scrollTo) {\r\n\t\t\t\t\tvar _wrapperEl$scrollTo;\r\n\r\n\t\t\t\t\twrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = -newTranslate, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\r\n\t\t\t\t} else {\r\n\t\t\t\t\twrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tif (speed === 0) {\r\n\t\t\tswiper.setTransition(0);\r\n\t\t\tswiper.setTranslate(newTranslate);\r\n\r\n\t\t\tif (runCallbacks) {\r\n\t\t\t\tswiper.emit('beforeTransitionStart', speed, internal);\r\n\t\t\t\tswiper.emit('transitionEnd');\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tswiper.setTransition(speed);\r\n\t\t\tswiper.setTranslate(newTranslate);\r\n\r\n\t\t\tif (runCallbacks) {\r\n\t\t\t\tswiper.emit('beforeTransitionStart', speed, internal);\r\n\t\t\t\tswiper.emit('transitionStart');\r\n\t\t\t}\r\n\r\n\t\t\tif (!swiper.animating) {\r\n\t\t\t\tswiper.animating = true;\r\n\r\n\t\t\t\tif (!swiper.onTranslateToWrapperTransitionEnd) {\r\n\t\t\t\t\tswiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\r\n\t\t\t\t\t\tif (!swiper || swiper.destroyed) return;\r\n\t\t\t\t\t\tif (e.target !== this) return;\r\n\t\t\t\t\t\tswiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\r\n\t\t\t\t\t\tswiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\r\n\t\t\t\t\t\tswiper.onTranslateToWrapperTransitionEnd = null;\r\n\t\t\t\t\t\tdelete swiper.onTranslateToWrapperTransitionEnd;\r\n\r\n\t\t\t\t\t\tif (runCallbacks) {\r\n\t\t\t\t\t\t\tswiper.emit('transitionEnd');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\tswiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\r\n\t\t\t\tswiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\tvar translate = {\r\n\t\tgetTranslate: getSwiperTranslate,\r\n\t\tsetTranslate: setTranslate,\r\n\t\tminTranslate: minTranslate,\r\n\t\tmaxTranslate: maxTranslate,\r\n\t\ttranslateTo: translateTo\r\n\t};\r\n\r\n\tfunction setTransition(duration, byController) {\r\n\t\tvar swiper = this;\r\n\r\n\t\tif (!swiper.params.cssMode) {\r\n\t\t\tswiper.$wrapperEl.transition(duration);\r\n\t\t}\r\n\r\n\t\tswiper.emit('setTransition', duration, byController);\r\n\t}\r\n\r\n\tfunction transitionStart(runCallbacks, direction) {\r\n\t\tif (runCallbacks === void 0) {\r\n\t\t\trunCallbacks = true;\r\n\t\t}\r\n\r\n\t\tvar swiper = this;\r\n\t\tvar activeIndex = swiper.activeIndex,\r\n\t\t\tparams = swiper.params,\r\n\t\t\tpreviousIndex = swiper.previousIndex;\r\n\t\tif (params.cssMode) return;\r\n\r\n\t\tif (params.autoHeight) {\r\n\t\t\tswiper.updateAutoHeight();\r\n\t\t}\r\n\r\n\t\tvar dir = direction;\r\n\r\n\t\tif (!dir) {\r\n\t\t\tif (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\r\n\t\t}\r\n\r\n\t\tswiper.emit('transitionStart');\r\n\r\n\t\tif (runCallbacks && activeIndex !== previousIndex) {\r\n\t\t\tif (dir === 'reset') {\r\n\t\t\t\tswiper.emit('slideResetTransitionStart');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tswiper.emit('slideChangeTransitionStart');\r\n\r\n\t\t\tif (dir === 'next') {\r\n\t\t\t\tswiper.emit('slideNextTransitionStart');\r\n\t\t\t} else {\r\n\t\t\t\tswiper.emit('slidePrevTransitionStart');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction transitionEnd$1(runCallbacks, direction) {\r\n\t\tif (runCallbacks === void 0) {\r\n\t\t\trunCallbacks = true;\r\n\t\t}\r\n\r\n\t\tvar swiper = this;\r\n\t\tvar activeIndex = swiper.activeIndex,\r\n\t\t\tpreviousIndex = swiper.previousIndex,\r\n\t\t\tparams = swiper.params;\r\n\t\tswiper.animating = false;\r\n\t\tif (params.cssMode) return;\r\n\t\tswiper.setTransition(0);\r\n\t\tvar dir = direction;\r\n\r\n\t\tif (!dir) {\r\n\t\t\tif (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\r\n\t\t}\r\n\r\n\t\tswiper.emit('transitionEnd');\r\n\r\n\t\tif (runCallbacks && activeIndex !== previousIndex) {\r\n\t\t\tif (dir === 'reset') {\r\n\t\t\t\tswiper.emit('slideResetTransitionEnd');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tswiper.emit('slideChangeTransitionEnd');\r\n\r\n\t\t\tif (dir === 'next') {\r\n\t\t\t\tswiper.emit('slideNextTransitionEnd');\r\n\t\t\t} else {\r\n\t\t\t\tswiper.emit('slidePrevTransitionEnd');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tvar transition$1 = {\r\n\t\tsetTransition: setTransition,\r\n\t\ttransitionStart: transitionStart,\r\n\t\ttransitionEnd: transitionEnd$1\r\n\t};\r\n\r\n\tfunction slideTo(index, speed, runCallbacks, internal) {\r\n\t\tif (index === void 0) {\r\n\t\t\tindex = 0;\r\n\t\t}\r\n\r\n\t\tif (speed === void 0) {\r\n\t\t\tspeed = this.params.speed;\r\n\t\t}\r\n\r\n\t\tif (runCallbacks === void 0) {\r\n\t\t\trunCallbacks = true;\r\n\t\t}\r\n\r\n\t\tvar swiper = this;\r\n\t\tvar slideIndex = index;\r\n\t\tif (slideIndex < 0) slideIndex = 0;\r\n\t\tvar params = swiper.params,\r\n\t\t\tsnapGrid = swiper.snapGrid,\r\n\t\t\tslidesGrid = swiper.slidesGrid,\r\n\t\t\tpreviousIndex = swiper.previousIndex,\r\n\t\t\tactiveIndex = swiper.activeIndex,\r\n\t\t\trtl = swiper.rtlTranslate,\r\n\t\t\twrapperEl = swiper.wrapperEl;\r\n\r\n\t\tif (swiper.animating && params.preventInteractionOnTransition) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tvar skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\r\n\t\tvar snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\r\n\t\tif (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\r\n\r\n\t\tif ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\r\n\t\t\tswiper.emit('beforeSlideChangeStart');\r\n\t\t}\r\n\r\n\t\tvar translate = -snapGrid[snapIndex]; // Update progress\r\n\r\n\t\tswiper.updateProgress(translate); // Normalize slideIndex\r\n\r\n\t\tif (params.normalizeSlideIndex) {\r\n\t\t\tfor (var i = 0; i < slidesGrid.length; i += 1) {\r\n\t\t\t\tif (-Math.floor(translate * 100) >= Math.floor(slidesGrid[i] * 100)) {\r\n\t\t\t\t\tslideIndex = i;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} // Directions locks\r\n\r\n\r\n\t\tif (swiper.initialized && slideIndex !== activeIndex) {\r\n\t\t\tif (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\r\n\t\t\t\tif ((activeIndex || 0) !== slideIndex) return false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar direction;\r\n\t\tif (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\r\n\r\n\t\tif (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\r\n\t\t\tswiper.updateActiveIndex(slideIndex); // Update Height\r\n\r\n\t\t\tif (params.autoHeight) {\r\n\t\t\t\tswiper.updateAutoHeight();\r\n\t\t\t}\r\n\r\n\t\t\tswiper.updateSlidesClasses();\r\n\r\n\t\t\tif (params.effect !== 'slide') {\r\n\t\t\t\tswiper.setTranslate(translate);\r\n\t\t\t}\r\n\r\n\t\t\tif (direction !== 'reset') {\r\n\t\t\t\tswiper.transitionStart(runCallbacks, direction);\r\n\t\t\t\tswiper.transitionEnd(runCallbacks, direction);\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (params.cssMode) {\r\n\t\t\tvar isH = swiper.isHorizontal();\r\n\t\t\tvar t = -translate;\r\n\r\n\t\t\tif (rtl) {\r\n\t\t\t\tt = wrapperEl.scrollWidth - wrapperEl.offsetWidth - t;\r\n\t\t\t}\r\n\r\n\t\t\tif (speed === 0) {\r\n\t\t\t\twrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\r\n\t\t\t} else {\r\n\t\t\t\t// eslint-disable-next-line\r\n\t\t\t\tif (wrapperEl.scrollTo) {\r\n\t\t\t\t\tvar _wrapperEl$scrollTo;\r\n\r\n\t\t\t\t\twrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = t, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\r\n\t\t\t\t} else {\r\n\t\t\t\t\twrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tif (speed === 0) {\r\n\t\t\tswiper.setTransition(0);\r\n\t\t\tswiper.setTranslate(translate);\r\n\t\t\tswiper.updateActiveIndex(slideIndex);\r\n\t\t\tswiper.updateSlidesClasses();\r\n\t\t\tswiper.emit('beforeTransitionStart', speed, internal);\r\n\t\t\tswiper.transitionStart(runCallbacks, direction);\r\n\t\t\tswiper.transitionEnd(runCallbacks, direction);\r\n\t\t} else {\r\n\t\t\tswiper.setTransition(speed);\r\n\t\t\tswiper.setTranslate(translate);\r\n\t\t\tswiper.updateActiveIndex(slideIndex);\r\n\t\t\tswiper.updateSlidesClasses();\r\n\t\t\tswiper.emit('beforeTransitionStart', speed, internal);\r\n\t\t\tswiper.transitionStart(runCallbacks, direction);\r\n\r\n\t\t\tif (!swiper.animating) {\r\n\t\t\t\tswiper.animating = true;\r\n\r\n\t\t\t\tif (!swiper.onSlideToWrapperTransitionEnd) {\r\n\t\t\t\t\tswiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\r\n\t\t\t\t\t\tif (!swiper || swiper.destroyed) return;\r\n\t\t\t\t\t\tif (e.target !== this) return;\r\n\t\t\t\t\t\tswiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\r\n\t\t\t\t\t\tswiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\r\n\t\t\t\t\t\tswiper.onSlideToWrapperTransitionEnd = null;\r\n\t\t\t\t\t\tdelete swiper.onSlideToWrapperTransitionEnd;\r\n\t\t\t\t\t\tswiper.transitionEnd(runCallbacks, direction);\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\tswiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\r\n\t\t\t\tswiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\tfunction slideToLoop(index, speed, runCallbacks, internal) {\r\n\t\tif (index === void 0) {\r\n\t\t\tindex = 0;\r\n\t\t}\r\n\r\n\t\tif (speed === void 0) {\r\n\t\t\tspeed = this.params.speed;\r\n\t\t}\r\n\r\n\t\tif (runCallbacks === void 0) {\r\n\t\t\trunCallbacks = true;\r\n\t\t}\r\n\r\n\t\tvar swiper = this;\r\n\t\tvar newIndex = index;\r\n\r\n\t\tif (swiper.params.loop) {\r\n\t\t\tnewIndex += swiper.loopedSlides;\r\n\t\t}\r\n\r\n\t\treturn swiper.slideTo(newIndex, speed, runCallbacks, internal);\r\n\t}\r\n\r\n\t/* eslint no-unused-vars: \"off\" */\r\n\tfunction slideNext(speed, runCallbacks, internal) {\r\n\t\tif (speed === void 0) {\r\n\t\t\tspeed = this.params.speed;\r\n\t\t}\r\n\r\n\t\tif (runCallbacks === void 0) {\r\n\t\t\trunCallbacks = true;\r\n\t\t}\r\n\r\n\t\tvar swiper = this;\r\n\t\tvar params = swiper.params,\r\n\t\t\tanimating = swiper.animating;\r\n\t\tvar increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup;\r\n\r\n\t\tif (params.loop) {\r\n\t\t\tif (animating && params.loopPreventsSlide) return false;\r\n\t\t\tswiper.loopFix(); // eslint-disable-next-line\r\n\r\n\t\t\tswiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\r\n\t\t}\r\n\r\n\t\treturn swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\r\n\t}\r\n\r\n\t/* eslint no-unused-vars: \"off\" */\r\n\tfunction slidePrev(speed, runCallbacks, internal) {\r\n\t\tif (speed === void 0) {\r\n\t\t\tspeed = this.params.speed;\r\n\t\t}\r\n\r\n\t\tif (runCallbacks === void 0) {\r\n\t\t\trunCallbacks = true;\r\n\t\t}\r\n\r\n\t\tvar swiper = this;\r\n\t\tvar params = swiper.params,\r\n\t\t\tanimating = swiper.animating,\r\n\t\t\tsnapGrid = swiper.snapGrid,\r\n\t\t\tslidesGrid = swiper.slidesGrid,\r\n\t\t\trtlTranslate = swiper.rtlTranslate;\r\n\r\n\t\tif (params.loop) {\r\n\t\t\tif (animating && params.loopPreventsSlide) return false;\r\n\t\t\tswiper.loopFix(); // eslint-disable-next-line\r\n\r\n\t\t\tswiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\r\n\t\t}\r\n\r\n\t\tvar translate = rtlTranslate ? swiper.translate : -swiper.translate;\r\n\r\n\t\tfunction normalize(val) {\r\n\t\t\tif (val < 0) return -Math.floor(Math.abs(val));\r\n\t\t\treturn Math.floor(val);\r\n\t\t}\r\n\r\n\t\tvar normalizedTranslate = normalize(translate);\r\n\t\tvar normalizedSnapGrid = snapGrid.map(function (val) {\r\n\t\t\treturn normalize(val);\r\n\t\t});\r\n\t\tvar currentSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)];\r\n\t\tvar prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\r\n\r\n\t\tif (typeof prevSnap === 'undefined' && params.cssMode) {\r\n\t\t\tsnapGrid.forEach(function (snap) {\r\n\t\t\t\tif (!prevSnap && normalizedTranslate >= snap) prevSnap = snap;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tvar prevIndex;\r\n\r\n\t\tif (typeof prevSnap !== 'undefined') {\r\n\t\t\tprevIndex = slidesGrid.indexOf(prevSnap);\r\n\t\t\tif (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\r\n\t\t}\r\n\r\n\t\treturn swiper.slideTo(prevIndex, speed, runCallbacks, internal);\r\n\t}\r\n\r\n\t/* eslint no-unused-vars: \"off\" */\r\n\tfunction slideReset(speed, runCallbacks, internal) {\r\n\t\tif (speed === void 0) {\r\n\t\t\tspeed = this.params.speed;\r\n\t\t}\r\n\r\n\t\tif (runCallbacks === void 0) {\r\n\t\t\trunCallbacks = true;\r\n\t\t}\r\n\r\n\t\tvar swiper = this;\r\n\t\treturn swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\r\n\t}\r\n\r\n\t/* eslint no-unused-vars: \"off\" */\r\n\tfunction slideToClosest(speed, runCallbacks, internal, threshold) {\r\n\t\tif (speed === void 0) {\r\n\t\t\tspeed = this.params.speed;\r\n\t\t}\r\n\r\n\t\tif (runCallbacks === void 0) {\r\n\t\t\trunCallbacks = true;\r\n\t\t}\r\n\r\n\t\tif (threshold === void 0) {\r\n\t\t\tthreshold = 0.5;\r\n\t\t}\r\n\r\n\t\tvar swiper = this;\r\n\t\tvar index = swiper.activeIndex;\r\n\t\tvar skip = Math.min(swiper.params.slidesPerGroupSkip, index);\r\n\t\tvar snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\r\n\t\tvar translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\r\n\r\n\t\tif (translate >= swiper.snapGrid[snapIndex]) {\r\n\t\t\t// The current translate is on or after the current snap index, so the choice\r\n\t\t\t// is between the current index and the one after it.\r\n\t\t\tvar currentSnap = swiper.snapGrid[snapIndex];\r\n\t\t\tvar nextSnap = swiper.snapGrid[snapIndex + 1];\r\n\r\n\t\t\tif (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\r\n\t\t\t\tindex += swiper.params.slidesPerGroup;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// The current translate is before the current snap index, so the choice\r\n\t\t\t// is between the current index and the one before it.\r\n\t\t\tvar prevSnap = swiper.snapGrid[snapIndex - 1];\r\n\t\t\tvar _currentSnap = swiper.snapGrid[snapIndex];\r\n\r\n\t\t\tif (translate - prevSnap <= (_currentSnap - prevSnap) * threshold) {\r\n\t\t\t\tindex -= swiper.params.slidesPerGroup;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tindex = Math.max(index, 0);\r\n\t\tindex = Math.min(index, swiper.slidesGrid.length - 1);\r\n\t\treturn swiper.slideTo(index, speed, runCallbacks, internal);\r\n\t}\r\n\r\n\tfunction slideToClickedSlide() {\r\n\t\tvar swiper = this;\r\n\t\tvar params = swiper.params,\r\n\t\t\t$wrapperEl = swiper.$wrapperEl;\r\n\t\tvar slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\r\n\t\tvar slideToIndex = swiper.clickedIndex;\r\n\t\tvar realIndex;\r\n\r\n\t\tif (params.loop) {\r\n\t\t\tif (swiper.animating) return;\r\n\t\t\trealIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\r\n\r\n\t\t\tif (params.centeredSlides) {\r\n\t\t\t\tif (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\r\n\t\t\t\t\tswiper.loopFix();\r\n\t\t\t\t\tslideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\r\n\t\t\t\t\tnextTick(function () {\r\n\t\t\t\t\t\tswiper.slideTo(slideToIndex);\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswiper.slideTo(slideToIndex);\r\n\t\t\t\t}\r\n\t\t\t} else if (slideToIndex > swiper.slides.length - slidesPerView) {\r\n\t\t\t\tswiper.loopFix();\r\n\t\t\t\tslideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\r\n\t\t\t\tnextTick(function () {\r\n\t\t\t\t\tswiper.slideTo(slideToIndex);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tswiper.slideTo(slideToIndex);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tswiper.slideTo(slideToIndex);\r\n\t\t}\r\n\t}\r\n\r\n\tvar slide = {\r\n\t\tslideTo: slideTo,\r\n\t\tslideToLoop: slideToLoop,\r\n\t\tslideNext: slideNext,\r\n\t\tslidePrev: slidePrev,\r\n\t\tslideReset: slideReset,\r\n\t\tslideToClosest: slideToClosest,\r\n\t\tslideToClickedSlide: slideToClickedSlide\r\n\t};\r\n\r\n\tfunction loopCreate() {\r\n\t\tvar swiper = this;\r\n\t\tvar document = getDocument();\r\n\t\tvar params = swiper.params,\r\n\t\t\t$wrapperEl = swiper.$wrapperEl; // Remove duplicated slides\r\n\r\n\t\t$wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass).remove();\r\n\t\tvar slides = $wrapperEl.children(\".\" + params.slideClass);\r\n\r\n\t\tif (params.loopFillGroupWithBlank) {\r\n\t\t\tvar blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\r\n\r\n\t\t\tif (blankSlidesNum !== params.slidesPerGroup) {\r\n\t\t\t\tfor (var i = 0; i < blankSlidesNum; i += 1) {\r\n\t\t\t\t\tvar blankNode = $(document.createElement('div')).addClass(params.slideClass + \" \" + params.slideBlankClass);\r\n\t\t\t\t\t$wrapperEl.append(blankNode);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tslides = $wrapperEl.children(\".\" + params.slideClass);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\r\n\t\tswiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\r\n\t\tswiper.loopedSlides += params.loopAdditionalSlides;\r\n\r\n\t\tif (swiper.loopedSlides > slides.length) {\r\n\t\t\tswiper.loopedSlides = slides.length;\r\n\t\t}\r\n\r\n\t\tvar prependSlides = [];\r\n\t\tvar appendSlides = [];\r\n\t\tslides.each(function (el, index) {\r\n\t\t\tvar slide = $(el);\r\n\r\n\t\t\tif (index < swiper.loopedSlides) {\r\n\t\t\t\tappendSlides.push(el);\r\n\t\t\t}\r\n\r\n\t\t\tif (index < slides.length && index >= slides.length - swiper.loopedSlides) {\r\n\t\t\t\tprependSlides.push(el);\r\n\t\t\t}\r\n\r\n\t\t\tslide.attr('data-swiper-slide-index', index);\r\n\t\t});\r\n\r\n\t\tfor (var _i = 0; _i < appendSlides.length; _i += 1) {\r\n\t\t\t$wrapperEl.append($(appendSlides[_i].cloneNode(true)).addClass(params.slideDuplicateClass));\r\n\t\t}\r\n\r\n\t\tfor (var _i2 = prependSlides.length - 1; _i2 >= 0; _i2 -= 1) {\r\n\t\t\t$wrapperEl.prepend($(prependSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));\r\n\t\t}\r\n\t}\r\n\r\n\tfunction loopFix() {\r\n\t\tvar swiper = this;\r\n\t\tswiper.emit('beforeLoopFix');\r\n\t\tvar activeIndex = swiper.activeIndex,\r\n\t\t\tslides = swiper.slides,\r\n\t\t\tloopedSlides = swiper.loopedSlides,\r\n\t\t\tallowSlidePrev = swiper.allowSlidePrev,\r\n\t\t\tallowSlideNext = swiper.allowSlideNext,\r\n\t\t\tsnapGrid = swiper.snapGrid,\r\n\t\t\trtl = swiper.rtlTranslate;\r\n\t\tvar newIndex;\r\n\t\tswiper.allowSlidePrev = true;\r\n\t\tswiper.allowSlideNext = true;\r\n\t\tvar snapTranslate = -snapGrid[activeIndex];\r\n\t\tvar diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\r\n\r\n\t\tif (activeIndex < loopedSlides) {\r\n\t\t\tnewIndex = slides.length - loopedSlides * 3 + activeIndex;\r\n\t\t\tnewIndex += loopedSlides;\r\n\t\t\tvar slideChanged = swiper.slideTo(newIndex, 0, false, true);\r\n\r\n\t\t\tif (slideChanged && diff !== 0) {\r\n\t\t\t\tswiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\r\n\t\t\t}\r\n\t\t} else if (activeIndex >= slides.length - loopedSlides) {\r\n\t\t\t// Fix For Positive Oversliding\r\n\t\t\tnewIndex = -slides.length + activeIndex + loopedSlides;\r\n\t\t\tnewIndex += loopedSlides;\r\n\r\n\t\t\tvar _slideChanged = swiper.slideTo(newIndex, 0, false, true);\r\n\r\n\t\t\tif (_slideChanged && diff !== 0) {\r\n\t\t\t\tswiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tswiper.allowSlidePrev = allowSlidePrev;\r\n\t\tswiper.allowSlideNext = allowSlideNext;\r\n\t\tswiper.emit('loopFix');\r\n\t}\r\n\r\n\tfunction loopDestroy() {\r\n\t\tvar swiper = this;\r\n\t\tvar $wrapperEl = swiper.$wrapperEl,\r\n\t\t\tparams = swiper.params,\r\n\t\t\tslides = swiper.slides;\r\n\t\t$wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \",.\" + params.slideClass + \".\" + params.slideBlankClass).remove();\r\n\t\tslides.removeAttr('data-swiper-slide-index');\r\n\t}\r\n\r\n\tvar loop = {\r\n\t\tloopCreate: loopCreate,\r\n\t\tloopFix: loopFix,\r\n\t\tloopDestroy: loopDestroy\r\n\t};\r\n\r\n\tfunction setGrabCursor(moving) {\r\n\t\tvar swiper = this;\r\n\t\tif (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\r\n\t\tvar el = swiper.el;\r\n\t\tel.style.cursor = 'move';\r\n\t\tel.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\r\n\t\tel.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\r\n\t\tel.style.cursor = moving ? 'grabbing' : 'grab';\r\n\t}\r\n\r\n\tfunction unsetGrabCursor() {\r\n\t\tvar swiper = this;\r\n\r\n\t\tif (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tswiper.el.style.cursor = '';\r\n\t}\r\n\r\n\tvar grabCursor = {\r\n\t\tsetGrabCursor: setGrabCursor,\r\n\t\tunsetGrabCursor: unsetGrabCursor\r\n\t};\r\n\r\n\tfunction appendSlide(slides) {\r\n\t\tvar swiper = this;\r\n\t\tvar $wrapperEl = swiper.$wrapperEl,\r\n\t\t\tparams = swiper.params;\r\n\r\n\t\tif (params.loop) {\r\n\t\t\tswiper.loopDestroy();\r\n\t\t}\r\n\r\n\t\tif (typeof slides === 'object' && 'length' in slides) {\r\n\t\t\tfor (var i = 0; i < slides.length; i += 1) {\r\n\t\t\t\tif (slides[i]) $wrapperEl.append(slides[i]);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t$wrapperEl.append(slides);\r\n\t\t}\r\n\r\n\t\tif (params.loop) {\r\n\t\t\tswiper.loopCreate();\r\n\t\t}\r\n\r\n\t\tif (!(params.observer && swiper.support.observer)) {\r\n\t\t\tswiper.update();\r\n\t\t}\r\n\t}\r\n\r\n\tfunction prependSlide(slides) {\r\n\t\tvar swiper = this;\r\n\t\tvar params = swiper.params,\r\n\t\t\t$wrapperEl = swiper.$wrapperEl,\r\n\t\t\tactiveIndex = swiper.activeIndex;\r\n\r\n\t\tif (params.loop) {\r\n\t\t\tswiper.loopDestroy();\r\n\t\t}\r\n\r\n\t\tvar newActiveIndex = activeIndex + 1;\r\n\r\n\t\tif (typeof slides === 'object' && 'length' in slides) {\r\n\t\t\tfor (var i = 0; i < slides.length; i += 1) {\r\n\t\t\t\tif (slides[i]) $wrapperEl.prepend(slides[i]);\r\n\t\t\t}\r\n\r\n\t\t\tnewActiveIndex = activeIndex + slides.length;\r\n\t\t} else {\r\n\t\t\t$wrapperEl.prepend(slides);\r\n\t\t}\r\n\r\n\t\tif (params.loop) {\r\n\t\t\tswiper.loopCreate();\r\n\t\t}\r\n\r\n\t\tif (!(params.observer && swiper.support.observer)) {\r\n\t\t\tswiper.update();\r\n\t\t}\r\n\r\n\t\tswiper.slideTo(newActiveIndex, 0, false);\r\n\t}\r\n\r\n\tfunction addSlide(index, slides) {\r\n\t\tvar swiper = this;\r\n\t\tvar $wrapperEl = swiper.$wrapperEl,\r\n\t\t\tparams = swiper.params,\r\n\t\t\tactiveIndex = swiper.activeIndex;\r\n\t\tvar activeIndexBuffer = activeIndex;\r\n\r\n\t\tif (params.loop) {\r\n\t\t\tactiveIndexBuffer -= swiper.loopedSlides;\r\n\t\t\tswiper.loopDestroy();\r\n\t\t\tswiper.slides = $wrapperEl.children(\".\" + params.slideClass);\r\n\t\t}\r\n\r\n\t\tvar baseLength = swiper.slides.length;\r\n\r\n\t\tif (index <= 0) {\r\n\t\t\tswiper.prependSlide(slides);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (index >= baseLength) {\r\n\t\t\tswiper.appendSlide(slides);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\r\n\t\tvar slidesBuffer = [];\r\n\r\n\t\tfor (var i = baseLength - 1; i >= index; i -= 1) {\r\n\t\t\tvar currentSlide = swiper.slides.eq(i);\r\n\t\t\tcurrentSlide.remove();\r\n\t\t\tslidesBuffer.unshift(currentSlide);\r\n\t\t}\r\n\r\n\t\tif (typeof slides === 'object' && 'length' in slides) {\r\n\t\t\tfor (var _i = 0; _i < slides.length; _i += 1) {\r\n\t\t\t\tif (slides[_i]) $wrapperEl.append(slides[_i]);\r\n\t\t\t}\r\n\r\n\t\t\tnewActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\r\n\t\t} else {\r\n\t\t\t$wrapperEl.append(slides);\r\n\t\t}\r\n\r\n\t\tfor (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) {\r\n\t\t\t$wrapperEl.append(slidesBuffer[_i2]);\r\n\t\t}\r\n\r\n\t\tif (params.loop) {\r\n\t\t\tswiper.loopCreate();\r\n\t\t}\r\n\r\n\t\tif (!(params.observer && swiper.support.observer)) {\r\n\t\t\tswiper.update();\r\n\t\t}\r\n\r\n\t\tif (params.loop) {\r\n\t\t\tswiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\r\n\t\t} else {\r\n\t\t\tswiper.slideTo(newActiveIndex, 0, false);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction removeSlide(slidesIndexes) {\r\n\t\tvar swiper = this;\r\n\t\tvar params = swiper.params,\r\n\t\t\t$wrapperEl = swiper.$wrapperEl,\r\n\t\t\tactiveIndex = swiper.activeIndex;\r\n\t\tvar activeIndexBuffer = activeIndex;\r\n\r\n\t\tif (params.loop) {\r\n\t\t\tactiveIndexBuffer -= swiper.loopedSlides;\r\n\t\t\tswiper.loopDestroy();\r\n\t\t\tswiper.slides = $wrapperEl.children(\".\" + params.slideClass);\r\n\t\t}\r\n\r\n\t\tvar newActiveIndex = activeIndexBuffer;\r\n\t\tvar indexToRemove;\r\n\r\n\t\tif (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\r\n\t\t\tfor (var i = 0; i < slidesIndexes.length; i += 1) {\r\n\t\t\t\tindexToRemove = slidesIndexes[i];\r\n\t\t\t\tif (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\r\n\t\t\t\tif (indexToRemove < newActiveIndex) newActiveIndex -= 1;\r\n\t\t\t}\r\n\r\n\t\t\tnewActiveIndex = Math.max(newActiveIndex, 0);\r\n\t\t} else {\r\n\t\t\tindexToRemove = slidesIndexes;\r\n\t\t\tif (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\r\n\t\t\tif (indexToRemove < newActiveIndex) newActiveIndex -= 1;\r\n\t\t\tnewActiveIndex = Math.max(newActiveIndex, 0);\r\n\t\t}\r\n\r\n\t\tif (params.loop) {\r\n\t\t\tswiper.loopCreate();\r\n\t\t}\r\n\r\n\t\tif (!(params.observer && swiper.support.observer)) {\r\n\t\t\tswiper.update();\r\n\t\t}\r\n\r\n\t\tif (params.loop) {\r\n\t\t\tswiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\r\n\t\t} else {\r\n\t\t\tswiper.slideTo(newActiveIndex, 0, false);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction removeAllSlides() {\r\n\t\tvar swiper = this;\r\n\t\tvar slidesIndexes = [];\r\n\r\n\t\tfor (var i = 0; i < swiper.slides.length; i += 1) {\r\n\t\t\tslidesIndexes.push(i);\r\n\t\t}\r\n\r\n\t\tswiper.removeSlide(slidesIndexes);\r\n\t}\r\n\r\n\tvar manipulation = {\r\n\t\tappendSlide: appendSlide,\r\n\t\tprependSlide: prependSlide,\r\n\t\taddSlide: addSlide,\r\n\t\tremoveSlide: removeSlide,\r\n\t\tremoveAllSlides: removeAllSlides\r\n\t};\r\n\r\n\tfunction onTouchStart(event) {\r\n\t\tvar swiper = this;\r\n\t\tvar document = getDocument();\r\n\t\tvar window = getWindow();\r\n\t\tvar data = swiper.touchEventsData;\r\n\t\tvar params = swiper.params,\r\n\t\t\ttouches = swiper.touches;\r\n\r\n\t\tif (swiper.animating && params.preventInteractionOnTransition) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar e = event;\r\n\t\tif (e.originalEvent) e = e.originalEvent;\r\n\t\tvar $targetEl = $(e.target);\r\n\r\n\t\tif (params.touchEventsTarget === 'wrapper') {\r\n\t\t\tif (!$targetEl.closest(swiper.wrapperEl).length) return;\r\n\t\t}\r\n\r\n\t\tdata.isTouchEvent = e.type === 'touchstart';\r\n\t\tif (!data.isTouchEvent && 'which' in e && e.which === 3) return;\r\n\t\tif (!data.isTouchEvent && 'button' in e && e.button > 0) return;\r\n\t\tif (data.isTouched && data.isMoved) return;\r\n\r\n\t\tif (params.noSwiping && $targetEl.closest(params.noSwipingSelector ? params.noSwipingSelector : \".\" + params.noSwipingClass)[0]) {\r\n\t\t\tswiper.allowClick = true;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (params.swipeHandler) {\r\n\t\t\tif (!$targetEl.closest(params.swipeHandler)[0]) return;\r\n\t\t}\r\n\r\n\t\ttouches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\r\n\t\ttouches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\r\n\t\tvar startX = touches.currentX;\r\n\t\tvar startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\r\n\r\n\t\tvar edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\r\n\t\tvar edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\r\n\r\n\t\tif (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.screen.width - edgeSwipeThreshold)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\textend$1(data, {\r\n\t\t\tisTouched: true,\r\n\t\t\tisMoved: false,\r\n\t\t\tallowTouchCallbacks: true,\r\n\t\t\tisScrolling: undefined,\r\n\t\t\tstartMoving: undefined\r\n\t\t});\r\n\t\ttouches.startX = startX;\r\n\t\ttouches.startY = startY;\r\n\t\tdata.touchStartTime = now();\r\n\t\tswiper.allowClick = true;\r\n\t\tswiper.updateSize();\r\n\t\tswiper.swipeDirection = undefined;\r\n\t\tif (params.threshold > 0) data.allowThresholdMove = false;\r\n\r\n\t\tif (e.type !== 'touchstart') {\r\n\t\t\tvar preventDefault = true;\r\n\t\t\tif ($targetEl.is(data.formElements)) preventDefault = false;\r\n\r\n\t\t\tif (document.activeElement && $(document.activeElement).is(data.formElements) && document.activeElement !== $targetEl[0]) {\r\n\t\t\t\tdocument.activeElement.blur();\r\n\t\t\t}\r\n\r\n\t\t\tvar shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\r\n\r\n\t\t\tif (params.touchStartForcePreventDefault || shouldPreventDefault) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tswiper.emit('touchStart', e);\r\n\t}\r\n\r\n\tfunction onTouchMove(event) {\r\n\t\tvar document = getDocument();\r\n\t\tvar swiper = this;\r\n\t\tvar data = swiper.touchEventsData;\r\n\t\tvar params = swiper.params,\r\n\t\t\ttouches = swiper.touches,\r\n\t\t\trtl = swiper.rtlTranslate;\r\n\t\tvar e = event;\r\n\t\tif (e.originalEvent) e = e.originalEvent;\r\n\r\n\t\tif (!data.isTouched) {\r\n\t\t\tif (data.startMoving && data.isScrolling) {\r\n\t\t\t\tswiper.emit('touchMoveOpposite', e);\r\n\t\t\t}\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (data.isTouchEvent && e.type !== 'touchmove') return;\r\n\t\tvar targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\r\n\t\tvar pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\r\n\t\tvar pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\r\n\r\n\t\tif (e.preventedByNestedSwiper) {\r\n\t\t\ttouches.startX = pageX;\r\n\t\t\ttouches.startY = pageY;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!swiper.allowTouchMove) {\r\n\t\t\t// isMoved = true;\r\n\t\t\tswiper.allowClick = false;\r\n\r\n\t\t\tif (data.isTouched) {\r\n\t\t\t\textend$1(touches, {\r\n\t\t\t\t\tstartX: pageX,\r\n\t\t\t\t\tstartY: pageY,\r\n\t\t\t\t\tcurrentX: pageX,\r\n\t\t\t\t\tcurrentY: pageY\r\n\t\t\t\t});\r\n\t\t\t\tdata.touchStartTime = now();\r\n\t\t\t}\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\r\n\t\t\tif (swiper.isVertical()) {\r\n\t\t\t\t// Vertical\r\n\t\t\t\tif (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\r\n\t\t\t\t\tdata.isTouched = false;\r\n\t\t\t\t\tdata.isMoved = false;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t} else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (data.isTouchEvent && document.activeElement) {\r\n\t\t\tif (e.target === document.activeElement && $(e.target).is(data.formElements)) {\r\n\t\t\t\tdata.isMoved = true;\r\n\t\t\t\tswiper.allowClick = false;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (data.allowTouchCallbacks) {\r\n\t\t\tswiper.emit('touchMove', e);\r\n\t\t}\r\n\r\n\t\tif (e.targetTouches && e.targetTouches.length > 1) return;\r\n\t\ttouches.currentX = pageX;\r\n\t\ttouches.currentY = pageY;\r\n\t\tvar diffX = touches.currentX - touches.startX;\r\n\t\tvar diffY = touches.currentY - touches.startY;\r\n\t\tif (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\r\n\r\n\t\tif (typeof data.isScrolling === 'undefined') {\r\n\t\t\tvar touchAngle;\r\n\r\n\t\t\tif (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\r\n\t\t\t\tdata.isScrolling = false;\r\n\t\t\t} else {\r\n\t\t\t\t// eslint-disable-next-line\r\n\t\t\t\tif (diffX * diffX + diffY * diffY >= 25) {\r\n\t\t\t\t\ttouchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\r\n\t\t\t\t\tdata.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (data.isScrolling) {\r\n\t\t\tswiper.emit('touchMoveOpposite', e);\r\n\t\t}\r\n\r\n\t\tif (typeof data.startMoving === 'undefined') {\r\n\t\t\tif (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\r\n\t\t\t\tdata.startMoving = true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (data.isScrolling) {\r\n\t\t\tdata.isTouched = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!data.startMoving) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tswiper.allowClick = false;\r\n\r\n\t\tif (!params.cssMode && e.cancelable) {\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\r\n\t\tif (params.touchMoveStopPropagation && !params.nested) {\r\n\t\t\te.stopPropagation();\r\n\t\t}\r\n\r\n\t\tif (!data.isMoved) {\r\n\t\t\tif (params.loop) {\r\n\t\t\t\tswiper.loopFix();\r\n\t\t\t}\r\n\r\n\t\t\tdata.startTranslate = swiper.getTranslate();\r\n\t\t\tswiper.setTransition(0);\r\n\r\n\t\t\tif (swiper.animating) {\r\n\t\t\t\tswiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\r\n\t\t\t}\r\n\r\n\t\t\tdata.allowMomentumBounce = false; // Grab Cursor\r\n\r\n\t\t\tif (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\r\n\t\t\t\tswiper.setGrabCursor(true);\r\n\t\t\t}\r\n\r\n\t\t\tswiper.emit('sliderFirstMove', e);\r\n\t\t}\r\n\r\n\t\tswiper.emit('sliderMove', e);\r\n\t\tdata.isMoved = true;\r\n\t\tvar diff = swiper.isHorizontal() ? diffX : diffY;\r\n\t\ttouches.diff = diff;\r\n\t\tdiff *= params.touchRatio;\r\n\t\tif (rtl) diff = -diff;\r\n\t\tswiper.swipeDirection = diff > 0 ? 'prev' : 'next';\r\n\t\tdata.currentTranslate = diff + data.startTranslate;\r\n\t\tvar disableParentSwiper = true;\r\n\t\tvar resistanceRatio = params.resistanceRatio;\r\n\r\n\t\tif (params.touchReleaseOnEdges) {\r\n\t\t\tresistanceRatio = 0;\r\n\t\t}\r\n\r\n\t\tif (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\r\n\t\t\tdisableParentSwiper = false;\r\n\t\t\tif (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);\r\n\t\t} else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\r\n\t\t\tdisableParentSwiper = false;\r\n\t\t\tif (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);\r\n\t\t}\r\n\r\n\t\tif (disableParentSwiper) {\r\n\t\t\te.preventedByNestedSwiper = true;\r\n\t\t} // Directions locks\r\n\r\n\r\n\t\tif (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\r\n\t\t\tdata.currentTranslate = data.startTranslate;\r\n\t\t}\r\n\r\n\t\tif (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\r\n\t\t\tdata.currentTranslate = data.startTranslate;\r\n\t\t} // Threshold\r\n\r\n\r\n\t\tif (params.threshold > 0) {\r\n\t\t\tif (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\r\n\t\t\t\tif (!data.allowThresholdMove) {\r\n\t\t\t\t\tdata.allowThresholdMove = true;\r\n\t\t\t\t\ttouches.startX = touches.currentX;\r\n\t\t\t\t\ttouches.startY = touches.currentY;\r\n\t\t\t\t\tdata.currentTranslate = data.startTranslate;\r\n\t\t\t\t\ttouches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tdata.currentTranslate = data.startTranslate;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!params.followFinger || params.cssMode) return; // Update active index in free mode\r\n\r\n\t\tif (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {\r\n\t\t\tswiper.updateActiveIndex();\r\n\t\t\tswiper.updateSlidesClasses();\r\n\t\t}\r\n\r\n\t\tif (params.freeMode) {\r\n\t\t\t// Velocity\r\n\t\t\tif (data.velocities.length === 0) {\r\n\t\t\t\tdata.velocities.push({\r\n\t\t\t\t\tposition: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\r\n\t\t\t\t\ttime: data.touchStartTime\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tdata.velocities.push({\r\n\t\t\t\tposition: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\r\n\t\t\t\ttime: now()\r\n\t\t\t});\r\n\t\t} // Update progress\r\n\r\n\r\n\t\tswiper.updateProgress(data.currentTranslate); // Update translate\r\n\r\n\t\tswiper.setTranslate(data.currentTranslate);\r\n\t}\r\n\r\n\tfunction onTouchEnd(event) {\r\n\t\tvar swiper = this;\r\n\t\tvar data = swiper.touchEventsData;\r\n\t\tvar params = swiper.params,\r\n\t\t\ttouches = swiper.touches,\r\n\t\t\trtl = swiper.rtlTranslate,\r\n\t\t\t$wrapperEl = swiper.$wrapperEl,\r\n\t\t\tslidesGrid = swiper.slidesGrid,\r\n\t\t\tsnapGrid = swiper.snapGrid;\r\n\t\tvar e = event;\r\n\t\tif (e.originalEvent) e = e.originalEvent;\r\n\r\n\t\tif (data.allowTouchCallbacks) {\r\n\t\t\tswiper.emit('touchEnd', e);\r\n\t\t}\r\n\r\n\t\tdata.allowTouchCallbacks = false;\r\n\r\n\t\tif (!data.isTouched) {\r\n\t\t\tif (data.isMoved && params.grabCursor) {\r\n\t\t\t\tswiper.setGrabCursor(false);\r\n\t\t\t}\r\n\r\n\t\t\tdata.isMoved = false;\r\n\t\t\tdata.startMoving = false;\r\n\t\t\treturn;\r\n\t\t} // Return Grab Cursor\r\n\r\n\r\n\t\tif (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\r\n\t\t\tswiper.setGrabCursor(false);\r\n\t\t} // Time diff\r\n\r\n\r\n\t\tvar touchEndTime = now();\r\n\t\tvar timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\r\n\r\n\t\tif (swiper.allowClick) {\r\n\t\t\tswiper.updateClickedSlide(e);\r\n\t\t\tswiper.emit('tap click', e);\r\n\r\n\t\t\tif (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\r\n\t\t\t\tswiper.emit('doubleTap doubleClick', e);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tdata.lastClickTime = now();\r\n\t\tnextTick(function () {\r\n\t\t\tif (!swiper.destroyed) swiper.allowClick = true;\r\n\t\t});\r\n\r\n\t\tif (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\r\n\t\t\tdata.isTouched = false;\r\n\t\t\tdata.isMoved = false;\r\n\t\t\tdata.startMoving = false;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tdata.isTouched = false;\r\n\t\tdata.isMoved = false;\r\n\t\tdata.startMoving = false;\r\n\t\tvar currentPos;\r\n\r\n\t\tif (params.followFinger) {\r\n\t\t\tcurrentPos = rtl ? swiper.translate : -swiper.translate;\r\n\t\t} else {\r\n\t\t\tcurrentPos = -data.currentTranslate;\r\n\t\t}\r\n\r\n\t\tif (params.cssMode) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (params.freeMode) {\r\n\t\t\tif (currentPos < -swiper.minTranslate()) {\r\n\t\t\t\tswiper.slideTo(swiper.activeIndex);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (currentPos > -swiper.maxTranslate()) {\r\n\t\t\t\tif (swiper.slides.length < snapGrid.length) {\r\n\t\t\t\t\tswiper.slideTo(snapGrid.length - 1);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswiper.slideTo(swiper.slides.length - 1);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (params.freeModeMomentum) {\r\n\t\t\t\tif (data.velocities.length > 1) {\r\n\t\t\t\t\tvar lastMoveEvent = data.velocities.pop();\r\n\t\t\t\t\tvar velocityEvent = data.velocities.pop();\r\n\t\t\t\t\tvar distance = lastMoveEvent.position - velocityEvent.position;\r\n\t\t\t\t\tvar time = lastMoveEvent.time - velocityEvent.time;\r\n\t\t\t\t\tswiper.velocity = distance / time;\r\n\t\t\t\t\tswiper.velocity /= 2;\r\n\r\n\t\t\t\t\tif (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\r\n\t\t\t\t\t\tswiper.velocity = 0;\r\n\t\t\t\t\t} // this implies that the user stopped moving a finger then released.\r\n\t\t\t\t\t// There would be no events with distance zero, so the last event is stale.\r\n\r\n\r\n\t\t\t\t\tif (time > 150 || now() - lastMoveEvent.time > 300) {\r\n\t\t\t\t\t\tswiper.velocity = 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswiper.velocity = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tswiper.velocity *= params.freeModeMomentumVelocityRatio;\r\n\t\t\t\tdata.velocities.length = 0;\r\n\t\t\t\tvar momentumDuration = 1000 * params.freeModeMomentumRatio;\r\n\t\t\t\tvar momentumDistance = swiper.velocity * momentumDuration;\r\n\t\t\t\tvar newPosition = swiper.translate + momentumDistance;\r\n\t\t\t\tif (rtl) newPosition = -newPosition;\r\n\t\t\t\tvar doBounce = false;\r\n\t\t\t\tvar afterBouncePosition;\r\n\t\t\t\tvar bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\r\n\t\t\t\tvar needsLoopFix;\r\n\r\n\t\t\t\tif (newPosition < swiper.maxTranslate()) {\r\n\t\t\t\t\tif (params.freeModeMomentumBounce) {\r\n\t\t\t\t\t\tif (newPosition + swiper.maxTranslate() < -bounceAmount) {\r\n\t\t\t\t\t\t\tnewPosition = swiper.maxTranslate() - bounceAmount;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tafterBouncePosition = swiper.maxTranslate();\r\n\t\t\t\t\t\tdoBounce = true;\r\n\t\t\t\t\t\tdata.allowMomentumBounce = true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tnewPosition = swiper.maxTranslate();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (params.loop && params.centeredSlides) needsLoopFix = true;\r\n\t\t\t\t} else if (newPosition > swiper.minTranslate()) {\r\n\t\t\t\t\tif (params.freeModeMomentumBounce) {\r\n\t\t\t\t\t\tif (newPosition - swiper.minTranslate() > bounceAmount) {\r\n\t\t\t\t\t\t\tnewPosition = swiper.minTranslate() + bounceAmount;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tafterBouncePosition = swiper.minTranslate();\r\n\t\t\t\t\t\tdoBounce = true;\r\n\t\t\t\t\t\tdata.allowMomentumBounce = true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tnewPosition = swiper.minTranslate();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (params.loop && params.centeredSlides) needsLoopFix = true;\r\n\t\t\t\t} else if (params.freeModeSticky) {\r\n\t\t\t\t\tvar nextSlide;\r\n\r\n\t\t\t\t\tfor (var j = 0; j < snapGrid.length; j += 1) {\r\n\t\t\t\t\t\tif (snapGrid[j] > -newPosition) {\r\n\t\t\t\t\t\t\tnextSlide = j;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\r\n\t\t\t\t\t\tnewPosition = snapGrid[nextSlide];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tnewPosition = snapGrid[nextSlide - 1];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tnewPosition = -newPosition;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (needsLoopFix) {\r\n\t\t\t\t\tswiper.once('transitionEnd', function () {\r\n\t\t\t\t\t\tswiper.loopFix();\r\n\t\t\t\t\t});\r\n\t\t\t\t} // Fix duration\r\n\r\n\r\n\t\t\t\tif (swiper.velocity !== 0) {\r\n\t\t\t\t\tif (rtl) {\r\n\t\t\t\t\t\tmomentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tmomentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (params.freeModeSticky) {\r\n\t\t\t\t\t\t// If freeModeSticky is active and the user ends a swipe with a slow-velocity\r\n\t\t\t\t\t\t// event, then durations can be 20+ seconds to slide one (or zero!) slides.\r\n\t\t\t\t\t\t// It's easy to see this when simulating touch with mouse events. To fix this,\r\n\t\t\t\t\t\t// limit single-slide swipes to the default slide duration. This also has the\r\n\t\t\t\t\t\t// nice side effect of matching slide speed if the user stopped moving before\r\n\t\t\t\t\t\t// lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\r\n\t\t\t\t\t\t// For faster swipes, also apply limits (albeit higher ones).\r\n\t\t\t\t\t\tvar moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\r\n\t\t\t\t\t\tvar currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\r\n\r\n\t\t\t\t\t\tif (moveDistance < currentSlideSize) {\r\n\t\t\t\t\t\t\tmomentumDuration = params.speed;\r\n\t\t\t\t\t\t} else if (moveDistance < 2 * currentSlideSize) {\r\n\t\t\t\t\t\t\tmomentumDuration = params.speed * 1.5;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tmomentumDuration = params.speed * 2.5;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (params.freeModeSticky) {\r\n\t\t\t\t\tswiper.slideToClosest();\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (params.freeModeMomentumBounce && doBounce) {\r\n\t\t\t\t\tswiper.updateProgress(afterBouncePosition);\r\n\t\t\t\t\tswiper.setTransition(momentumDuration);\r\n\t\t\t\t\tswiper.setTranslate(newPosition);\r\n\t\t\t\t\tswiper.transitionStart(true, swiper.swipeDirection);\r\n\t\t\t\t\tswiper.animating = true;\r\n\t\t\t\t\t$wrapperEl.transitionEnd(function () {\r\n\t\t\t\t\t\tif (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\r\n\t\t\t\t\t\tswiper.emit('momentumBounce');\r\n\t\t\t\t\t\tswiper.setTransition(params.speed);\r\n\t\t\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\t\t\tswiper.setTranslate(afterBouncePosition);\r\n\t\t\t\t\t\t\t$wrapperEl.transitionEnd(function () {\r\n\t\t\t\t\t\t\t\tif (!swiper || swiper.destroyed) return;\r\n\t\t\t\t\t\t\t\tswiper.transitionEnd();\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}, 0);\r\n\t\t\t\t\t});\r\n\t\t\t\t} else if (swiper.velocity) {\r\n\t\t\t\t\tswiper.updateProgress(newPosition);\r\n\t\t\t\t\tswiper.setTransition(momentumDuration);\r\n\t\t\t\t\tswiper.setTranslate(newPosition);\r\n\t\t\t\t\tswiper.transitionStart(true, swiper.swipeDirection);\r\n\r\n\t\t\t\t\tif (!swiper.animating) {\r\n\t\t\t\t\t\tswiper.animating = true;\r\n\t\t\t\t\t\t$wrapperEl.transitionEnd(function () {\r\n\t\t\t\t\t\t\tif (!swiper || swiper.destroyed) return;\r\n\t\t\t\t\t\t\tswiper.transitionEnd();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswiper.updateProgress(newPosition);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tswiper.updateActiveIndex();\r\n\t\t\t\tswiper.updateSlidesClasses();\r\n\t\t\t} else if (params.freeModeSticky) {\r\n\t\t\t\tswiper.slideToClosest();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\r\n\t\t\t\tswiper.updateProgress();\r\n\t\t\t\tswiper.updateActiveIndex();\r\n\t\t\t\tswiper.updateSlidesClasses();\r\n\t\t\t}\r\n\r\n\t\t\treturn;\r\n\t\t} // Find current slide\r\n\r\n\r\n\t\tvar stopIndex = 0;\r\n\t\tvar groupSize = swiper.slidesSizesGrid[0];\r\n\r\n\t\tfor (var i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\r\n\t\t\tvar _increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\r\n\r\n\t\t\tif (typeof slidesGrid[i + _increment] !== 'undefined') {\r\n\t\t\t\tif (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + _increment]) {\r\n\t\t\t\t\tstopIndex = i;\r\n\t\t\t\t\tgroupSize = slidesGrid[i + _increment] - slidesGrid[i];\r\n\t\t\t\t}\r\n\t\t\t} else if (currentPos >= slidesGrid[i]) {\r\n\t\t\t\tstopIndex = i;\r\n\t\t\t\tgroupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\r\n\t\t\t}\r\n\t\t} // Find current slide size\r\n\r\n\r\n\t\tvar ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\r\n\t\tvar increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\r\n\r\n\t\tif (timeDiff > params.longSwipesMs) {\r\n\t\t\t// Long touches\r\n\t\t\tif (!params.longSwipes) {\r\n\t\t\t\tswiper.slideTo(swiper.activeIndex);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.swipeDirection === 'next') {\r\n\t\t\t\tif (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.swipeDirection === 'prev') {\r\n\t\t\t\tif (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// Short swipes\r\n\t\t\tif (!params.shortSwipes) {\r\n\t\t\t\tswiper.slideTo(swiper.activeIndex);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\r\n\r\n\t\t\tif (!isNavButtonTarget) {\r\n\t\t\t\tif (swiper.swipeDirection === 'next') {\r\n\t\t\t\t\tswiper.slideTo(stopIndex + increment);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (swiper.swipeDirection === 'prev') {\r\n\t\t\t\t\tswiper.slideTo(stopIndex);\r\n\t\t\t\t}\r\n\t\t\t} else if (e.target === swiper.navigation.nextEl) {\r\n\t\t\t\tswiper.slideTo(stopIndex + increment);\r\n\t\t\t} else {\r\n\t\t\t\tswiper.slideTo(stopIndex);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction onResize() {\r\n\t\tvar swiper = this;\r\n\t\tvar params = swiper.params,\r\n\t\t\tel = swiper.el;\r\n\t\tif (el && el.offsetWidth === 0) return; // Breakpoints\r\n\r\n\t\tif (params.breakpoints) {\r\n\t\t\tswiper.setBreakpoint();\r\n\t\t} // Save locks\r\n\r\n\r\n\t\tvar allowSlideNext = swiper.allowSlideNext,\r\n\t\t\tallowSlidePrev = swiper.allowSlidePrev,\r\n\t\t\tsnapGrid = swiper.snapGrid; // Disable locks on resize\r\n\r\n\t\tswiper.allowSlideNext = true;\r\n\t\tswiper.allowSlidePrev = true;\r\n\t\tswiper.updateSize();\r\n\t\tswiper.updateSlides();\r\n\t\tswiper.updateSlidesClasses();\r\n\r\n\t\tif ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\r\n\t\t\tswiper.slideTo(swiper.slides.length - 1, 0, false, true);\r\n\t\t} else {\r\n\t\t\tswiper.slideTo(swiper.activeIndex, 0, false, true);\r\n\t\t}\r\n\r\n\t\tif (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\r\n\t\t\tswiper.autoplay.run();\r\n\t\t} // Return locks after resize\r\n\r\n\r\n\t\tswiper.allowSlidePrev = allowSlidePrev;\r\n\t\tswiper.allowSlideNext = allowSlideNext;\r\n\r\n\t\tif (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\r\n\t\t\tswiper.checkOverflow();\r\n\t\t}\r\n\t}\r\n\r\n\tfunction onClick(e) {\r\n\t\tvar swiper = this;\r\n\r\n\t\tif (!swiper.allowClick) {\r\n\t\t\tif (swiper.params.preventClicks) e.preventDefault();\r\n\r\n\t\t\tif (swiper.params.preventClicksPropagation && swiper.animating) {\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t\te.stopImmediatePropagation();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction onScroll() {\r\n\t\tvar swiper = this;\r\n\t\tvar wrapperEl = swiper.wrapperEl,\r\n\t\t\trtlTranslate = swiper.rtlTranslate;\r\n\t\tswiper.previousTranslate = swiper.translate;\r\n\r\n\t\tif (swiper.isHorizontal()) {\r\n\t\t\tif (rtlTranslate) {\r\n\t\t\t\tswiper.translate = wrapperEl.scrollWidth - wrapperEl.offsetWidth - wrapperEl.scrollLeft;\r\n\t\t\t} else {\r\n\t\t\t\tswiper.translate = -wrapperEl.scrollLeft;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tswiper.translate = -wrapperEl.scrollTop;\r\n\t\t} // eslint-disable-next-line\r\n\r\n\r\n\t\tif (swiper.translate === -0) swiper.translate = 0;\r\n\t\tswiper.updateActiveIndex();\r\n\t\tswiper.updateSlidesClasses();\r\n\t\tvar newProgress;\r\n\t\tvar translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\r\n\r\n\t\tif (translatesDiff === 0) {\r\n\t\t\tnewProgress = 0;\r\n\t\t} else {\r\n\t\t\tnewProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\r\n\t\t}\r\n\r\n\t\tif (newProgress !== swiper.progress) {\r\n\t\t\tswiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\r\n\t\t}\r\n\r\n\t\tswiper.emit('setTranslate', swiper.translate, false);\r\n\t}\r\n\r\n\tvar dummyEventAttached = false;\r\n\r\n\tfunction dummyEventListener() {}\r\n\r\n\tfunction attachEvents() {\r\n\t\tvar swiper = this;\r\n\t\tvar document = getDocument();\r\n\t\tvar params = swiper.params,\r\n\t\t\ttouchEvents = swiper.touchEvents,\r\n\t\t\tel = swiper.el,\r\n\t\t\twrapperEl = swiper.wrapperEl,\r\n\t\t\tdevice = swiper.device,\r\n\t\t\tsupport = swiper.support;\r\n\t\tswiper.onTouchStart = onTouchStart.bind(swiper);\r\n\t\tswiper.onTouchMove = onTouchMove.bind(swiper);\r\n\t\tswiper.onTouchEnd = onTouchEnd.bind(swiper);\r\n\r\n\t\tif (params.cssMode) {\r\n\t\t\tswiper.onScroll = onScroll.bind(swiper);\r\n\t\t}\r\n\r\n\t\tswiper.onClick = onClick.bind(swiper);\r\n\t\tvar capture = !!params.nested; // Touch Events\r\n\r\n\t\tif (!support.touch && support.pointerEvents) {\r\n\t\t\tel.addEventListener(touchEvents.start, swiper.onTouchStart, false);\r\n\t\t\tdocument.addEventListener(touchEvents.move, swiper.onTouchMove, capture);\r\n\t\t\tdocument.addEventListener(touchEvents.end, swiper.onTouchEnd, false);\r\n\t\t} else {\r\n\t\t\tif (support.touch) {\r\n\t\t\t\tvar passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\r\n\t\t\t\t\tpassive: true,\r\n\t\t\t\t\tcapture: false\r\n\t\t\t\t} : false;\r\n\t\t\t\tel.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\r\n\t\t\t\tel.addEventListener(touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\r\n\t\t\t\t\tpassive: false,\r\n\t\t\t\t\tcapture: capture\r\n\t\t\t\t} : capture);\r\n\t\t\t\tel.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\r\n\r\n\t\t\t\tif (touchEvents.cancel) {\r\n\t\t\t\t\tel.addEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!dummyEventAttached) {\r\n\t\t\t\t\tdocument.addEventListener('touchstart', dummyEventListener);\r\n\t\t\t\t\tdummyEventAttached = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\r\n\t\t\t\tel.addEventListener('mousedown', swiper.onTouchStart, false);\r\n\t\t\t\tdocument.addEventListener('mousemove', swiper.onTouchMove, capture);\r\n\t\t\t\tdocument.addEventListener('mouseup', swiper.onTouchEnd, false);\r\n\t\t\t}\r\n\t\t} // Prevent Links Clicks\r\n\r\n\r\n\t\tif (params.preventClicks || params.preventClicksPropagation) {\r\n\t\t\tel.addEventListener('click', swiper.onClick, true);\r\n\t\t}\r\n\r\n\t\tif (params.cssMode) {\r\n\t\t\twrapperEl.addEventListener('scroll', swiper.onScroll);\r\n\t\t} // Resize handler\r\n\r\n\r\n\t\tif (params.updateOnWindowResize) {\r\n\t\t\tswiper.on(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\r\n\t\t} else {\r\n\t\t\tswiper.on('observerUpdate', onResize, true);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction detachEvents() {\r\n\t\tvar swiper = this;\r\n\t\tvar document = getDocument();\r\n\t\tvar params = swiper.params,\r\n\t\t\ttouchEvents = swiper.touchEvents,\r\n\t\t\tel = swiper.el,\r\n\t\t\twrapperEl = swiper.wrapperEl,\r\n\t\t\tdevice = swiper.device,\r\n\t\t\tsupport = swiper.support;\r\n\t\tvar capture = !!params.nested; // Touch Events\r\n\r\n\t\tif (!support.touch && support.pointerEvents) {\r\n\t\t\tel.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\r\n\t\t\tdocument.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\r\n\t\t\tdocument.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\r\n\t\t} else {\r\n\t\t\tif (support.touch) {\r\n\t\t\t\tvar passiveListener = touchEvents.start === 'onTouchStart' && support.passiveListener && params.passiveListeners ? {\r\n\t\t\t\t\tpassive: true,\r\n\t\t\t\t\tcapture: false\r\n\t\t\t\t} : false;\r\n\t\t\t\tel.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\r\n\t\t\t\tel.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\r\n\t\t\t\tel.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\r\n\r\n\t\t\t\tif (touchEvents.cancel) {\r\n\t\t\t\t\tel.removeEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\r\n\t\t\t\tel.removeEventListener('mousedown', swiper.onTouchStart, false);\r\n\t\t\t\tdocument.removeEventListener('mousemove', swiper.onTouchMove, capture);\r\n\t\t\t\tdocument.removeEventListener('mouseup', swiper.onTouchEnd, false);\r\n\t\t\t}\r\n\t\t} // Prevent Links Clicks\r\n\r\n\r\n\t\tif (params.preventClicks || params.preventClicksPropagation) {\r\n\t\t\tel.removeEventListener('click', swiper.onClick, true);\r\n\t\t}\r\n\r\n\t\tif (params.cssMode) {\r\n\t\t\twrapperEl.removeEventListener('scroll', swiper.onScroll);\r\n\t\t} // Resize handler\r\n\r\n\r\n\t\tswiper.off(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize);\r\n\t}\r\n\r\n\tvar events = {\r\n\t\tattachEvents: attachEvents,\r\n\t\tdetachEvents: detachEvents\r\n\t};\r\n\r\n\tfunction setBreakpoint() {\r\n\t\tvar swiper = this;\r\n\t\tvar activeIndex = swiper.activeIndex,\r\n\t\t\tinitialized = swiper.initialized,\r\n\t\t\t_swiper$loopedSlides = swiper.loopedSlides,\r\n\t\t\tloopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,\r\n\t\t\tparams = swiper.params,\r\n\t\t\t$el = swiper.$el;\r\n\t\tvar breakpoints = params.breakpoints;\r\n\t\tif (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\r\n\r\n\t\tvar breakpoint = swiper.getBreakpoint(breakpoints);\r\n\r\n\t\tif (breakpoint && swiper.currentBreakpoint !== breakpoint) {\r\n\t\t\tvar breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\r\n\r\n\t\t\tif (breakpointOnlyParams) {\r\n\t\t\t\t['slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn'].forEach(function (param) {\r\n\t\t\t\t\tvar paramValue = breakpointOnlyParams[param];\r\n\t\t\t\t\tif (typeof paramValue === 'undefined') return;\r\n\r\n\t\t\t\t\tif (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {\r\n\t\t\t\t\t\tbreakpointOnlyParams[param] = 'auto';\r\n\t\t\t\t\t} else if (param === 'slidesPerView') {\r\n\t\t\t\t\t\tbreakpointOnlyParams[param] = parseFloat(paramValue);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tbreakpointOnlyParams[param] = parseInt(paramValue, 10);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tvar breakpointParams = breakpointOnlyParams || swiper.originalParams;\r\n\t\t\tvar wasMultiRow = params.slidesPerColumn > 1;\r\n\t\t\tvar isMultiRow = breakpointParams.slidesPerColumn > 1;\r\n\r\n\t\t\tif (wasMultiRow && !isMultiRow) {\r\n\t\t\t\t$el.removeClass(params.containerModifierClass + \"multirow \" + params.containerModifierClass + \"multirow-column\");\r\n\t\t\t\tswiper.emitContainerClasses();\r\n\t\t\t} else if (!wasMultiRow && isMultiRow) {\r\n\t\t\t\t$el.addClass(params.containerModifierClass + \"multirow\");\r\n\r\n\t\t\t\tif (breakpointParams.slidesPerColumnFill === 'column') {\r\n\t\t\t\t\t$el.addClass(params.containerModifierClass + \"multirow-column\");\r\n\t\t\t\t}\r\n\r\n\t\t\t\tswiper.emitContainerClasses();\r\n\t\t\t}\r\n\r\n\t\t\tvar directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\r\n\t\t\tvar needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\r\n\r\n\t\t\tif (directionChanged && initialized) {\r\n\t\t\t\tswiper.changeDirection();\r\n\t\t\t}\r\n\r\n\t\t\textend$1(swiper.params, breakpointParams);\r\n\t\t\textend$1(swiper, {\r\n\t\t\t\tallowTouchMove: swiper.params.allowTouchMove,\r\n\t\t\t\tallowSlideNext: swiper.params.allowSlideNext,\r\n\t\t\t\tallowSlidePrev: swiper.params.allowSlidePrev\r\n\t\t\t});\r\n\t\t\tswiper.currentBreakpoint = breakpoint;\r\n\t\t\tswiper.emit('_beforeBreakpoint', breakpointParams);\r\n\r\n\t\t\tif (needsReLoop && initialized) {\r\n\t\t\t\tswiper.loopDestroy();\r\n\t\t\t\tswiper.loopCreate();\r\n\t\t\t\tswiper.updateSlides();\r\n\t\t\t\tswiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\r\n\t\t\t}\r\n\r\n\t\t\tswiper.emit('breakpoint', breakpointParams);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getBreakpoints(breakpoints) {\r\n\t\tvar window = getWindow(); // Get breakpoint for window width\r\n\r\n\t\tif (!breakpoints) return undefined;\r\n\t\tvar breakpoint = false;\r\n\t\tvar points = Object.keys(breakpoints).map(function (point) {\r\n\t\t\tif (typeof point === 'string' && point.indexOf('@') === 0) {\r\n\t\t\t\tvar minRatio = parseFloat(point.substr(1));\r\n\t\t\t\tvar value = window.innerHeight * minRatio;\r\n\t\t\t\treturn {\r\n\t\t\t\t\tvalue: value,\r\n\t\t\t\t\tpoint: point\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tvalue: point,\r\n\t\t\t\tpoint: point\r\n\t\t\t};\r\n\t\t});\r\n\t\tpoints.sort(function (a, b) {\r\n\t\t\treturn parseInt(a.value, 10) - parseInt(b.value, 10);\r\n\t\t});\r\n\r\n\t\tfor (var i = 0; i < points.length; i += 1) {\r\n\t\t\tvar _points$i = points[i],\r\n\t\t\t\tpoint = _points$i.point,\r\n\t\t\t\tvalue = _points$i.value;\r\n\r\n\t\t\tif (value <= window.innerWidth) {\r\n\t\t\t\tbreakpoint = point;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn breakpoint || 'max';\r\n\t}\r\n\r\n\tvar breakpoints = {\r\n\t\tsetBreakpoint: setBreakpoint,\r\n\t\tgetBreakpoint: getBreakpoints\r\n\t};\r\n\r\n\tfunction addClasses() {\r\n\t\tvar swiper = this;\r\n\t\tvar classNames = swiper.classNames,\r\n\t\t\tparams = swiper.params,\r\n\t\t\trtl = swiper.rtl,\r\n\t\t\t$el = swiper.$el,\r\n\t\t\tdevice = swiper.device;\r\n\t\tvar suffixes = [];\r\n\t\tsuffixes.push('initialized');\r\n\t\tsuffixes.push(params.direction);\r\n\r\n\t\tif (params.freeMode) {\r\n\t\t\tsuffixes.push('free-mode');\r\n\t\t}\r\n\r\n\t\tif (params.autoHeight) {\r\n\t\t\tsuffixes.push('autoheight');\r\n\t\t}\r\n\r\n\t\tif (rtl) {\r\n\t\t\tsuffixes.push('rtl');\r\n\t\t}\r\n\r\n\t\tif (params.slidesPerColumn > 1) {\r\n\t\t\tsuffixes.push('multirow');\r\n\r\n\t\t\tif (params.slidesPerColumnFill === 'column') {\r\n\t\t\t\tsuffixes.push('multirow-column');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (device.android) {\r\n\t\t\tsuffixes.push('android');\r\n\t\t}\r\n\r\n\t\tif (device.ios) {\r\n\t\t\tsuffixes.push('ios');\r\n\t\t}\r\n\r\n\t\tif (params.cssMode) {\r\n\t\t\tsuffixes.push('css-mode');\r\n\t\t}\r\n\r\n\t\tsuffixes.forEach(function (suffix) {\r\n\t\t\tclassNames.push(params.containerModifierClass + suffix);\r\n\t\t});\r\n\t\t$el.addClass(classNames.join(' '));\r\n\t\tswiper.emitContainerClasses();\r\n\t}\r\n\r\n\tfunction removeClasses() {\r\n\t\tvar swiper = this;\r\n\t\tvar $el = swiper.$el,\r\n\t\t\tclassNames = swiper.classNames;\r\n\t\t$el.removeClass(classNames.join(' '));\r\n\t\tswiper.emitContainerClasses();\r\n\t}\r\n\r\n\tvar classes = {\r\n\t\taddClasses: addClasses,\r\n\t\tremoveClasses: removeClasses\r\n\t};\r\n\r\n\tfunction loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\r\n\t\tvar window = getWindow();\r\n\t\tvar image;\r\n\r\n\t\tfunction onReady() {\r\n\t\t\tif (callback) callback();\r\n\t\t}\r\n\r\n\t\tvar isPicture = $(imageEl).parent('picture')[0];\r\n\r\n\t\tif (!isPicture && (!imageEl.complete || !checkForComplete)) {\r\n\t\t\tif (src) {\r\n\t\t\t\timage = new window.Image();\r\n\t\t\t\timage.onload = onReady;\r\n\t\t\t\timage.onerror = onReady;\r\n\r\n\t\t\t\tif (sizes) {\r\n\t\t\t\t\timage.sizes = sizes;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (srcset) {\r\n\t\t\t\t\timage.srcset = srcset;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (src) {\r\n\t\t\t\t\timage.src = src;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tonReady();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// image already loaded...\r\n\t\t\tonReady();\r\n\t\t}\r\n\t}\r\n\r\n\tfunction preloadImages() {\r\n\t\tvar swiper = this;\r\n\t\tswiper.imagesToLoad = swiper.$el.find('img');\r\n\r\n\t\tfunction onReady() {\r\n\t\t\tif (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\r\n\t\t\tif (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\r\n\r\n\t\t\tif (swiper.imagesLoaded === swiper.imagesToLoad.length) {\r\n\t\t\t\tif (swiper.params.updateOnImagesReady) swiper.update();\r\n\t\t\t\tswiper.emit('imagesReady');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfor (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\r\n\t\t\tvar imageEl = swiper.imagesToLoad[i];\r\n\t\t\tswiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\r\n\t\t}\r\n\t}\r\n\r\n\tvar images = {\r\n\t\tloadImage: loadImage,\r\n\t\tpreloadImages: preloadImages\r\n\t};\r\n\r\n\tfunction checkOverflow() {\r\n\t\tvar swiper = this;\r\n\t\tvar params = swiper.params;\r\n\t\tvar wasLocked = swiper.isLocked;\r\n\t\tvar lastSlidePosition = swiper.slides.length > 0 && params.slidesOffsetBefore + params.spaceBetween * (swiper.slides.length - 1) + swiper.slides[0].offsetWidth * swiper.slides.length;\r\n\r\n\t\tif (params.slidesOffsetBefore && params.slidesOffsetAfter && lastSlidePosition) {\r\n\t\t\tswiper.isLocked = lastSlidePosition <= swiper.size;\r\n\t\t} else {\r\n\t\t\tswiper.isLocked = swiper.snapGrid.length === 1;\r\n\t\t}\r\n\r\n\t\tswiper.allowSlideNext = !swiper.isLocked;\r\n\t\tswiper.allowSlidePrev = !swiper.isLocked; // events\r\n\r\n\t\tif (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\r\n\r\n\t\tif (wasLocked && wasLocked !== swiper.isLocked) {\r\n\t\t\tswiper.isEnd = false;\r\n\t\t\tif (swiper.navigation) swiper.navigation.update();\r\n\t\t}\r\n\t}\r\n\r\n\tvar checkOverflow$1 = {\r\n\t\tcheckOverflow: checkOverflow\r\n\t};\r\n\r\n\tvar defaults = {\r\n\t\tinit: true,\r\n\t\tdirection: 'horizontal',\r\n\t\ttouchEventsTarget: 'container',\r\n\t\tinitialSlide: 0,\r\n\t\tspeed: 300,\r\n\t\tcssMode: false,\r\n\t\tupdateOnWindowResize: true,\r\n\t\t// Overrides\r\n\t\twidth: null,\r\n\t\theight: null,\r\n\t\t//\r\n\t\tpreventInteractionOnTransition: false,\r\n\t\t// ssr\r\n\t\tuserAgent: null,\r\n\t\turl: null,\r\n\t\t// To support iOS's swipe-to-go-back gesture (when being used in-app).\r\n\t\tedgeSwipeDetection: false,\r\n\t\tedgeSwipeThreshold: 20,\r\n\t\t// Free mode\r\n\t\tfreeMode: false,\r\n\t\tfreeModeMomentum: true,\r\n\t\tfreeModeMomentumRatio: 1,\r\n\t\tfreeModeMomentumBounce: true,\r\n\t\tfreeModeMomentumBounceRatio: 1,\r\n\t\tfreeModeMomentumVelocityRatio: 1,\r\n\t\tfreeModeSticky: false,\r\n\t\tfreeModeMinimumVelocity: 0.02,\r\n\t\t// Autoheight\r\n\t\tautoHeight: false,\r\n\t\t// Set wrapper width\r\n\t\tsetWrapperSize: false,\r\n\t\t// Virtual Translate\r\n\t\tvirtualTranslate: false,\r\n\t\t// Effects\r\n\t\teffect: 'slide',\r\n\t\t// 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\r\n\t\t// Breakpoints\r\n\t\tbreakpoints: undefined,\r\n\t\t// Slides grid\r\n\t\tspaceBetween: 0,\r\n\t\tslidesPerView: 1,\r\n\t\tslidesPerColumn: 1,\r\n\t\tslidesPerColumnFill: 'column',\r\n\t\tslidesPerGroup: 1,\r\n\t\tslidesPerGroupSkip: 0,\r\n\t\tcenteredSlides: false,\r\n\t\tcenteredSlidesBounds: false,\r\n\t\tslidesOffsetBefore: 0,\r\n\t\t// in px\r\n\t\tslidesOffsetAfter: 0,\r\n\t\t// in px\r\n\t\tnormalizeSlideIndex: true,\r\n\t\tcenterInsufficientSlides: false,\r\n\t\t// Disable swiper and hide navigation when container not overflow\r\n\t\twatchOverflow: false,\r\n\t\t// Round length\r\n\t\troundLengths: false,\r\n\t\t// Touches\r\n\t\ttouchRatio: 1,\r\n\t\ttouchAngle: 45,\r\n\t\tsimulateTouch: true,\r\n\t\tshortSwipes: true,\r\n\t\tlongSwipes: true,\r\n\t\tlongSwipesRatio: 0.5,\r\n\t\tlongSwipesMs: 300,\r\n\t\tfollowFinger: true,\r\n\t\tallowTouchMove: true,\r\n\t\tthreshold: 0,\r\n\t\ttouchMoveStopPropagation: false,\r\n\t\ttouchStartPreventDefault: true,\r\n\t\ttouchStartForcePreventDefault: false,\r\n\t\ttouchReleaseOnEdges: false,\r\n\t\t// Unique Navigation Elements\r\n\t\tuniqueNavElements: true,\r\n\t\t// Resistance\r\n\t\tresistance: true,\r\n\t\tresistanceRatio: 0.85,\r\n\t\t// Progress\r\n\t\twatchSlidesProgress: false,\r\n\t\twatchSlidesVisibility: false,\r\n\t\t// Cursor\r\n\t\tgrabCursor: false,\r\n\t\t// Clicks\r\n\t\tpreventClicks: true,\r\n\t\tpreventClicksPropagation: true,\r\n\t\tslideToClickedSlide: false,\r\n\t\t// Images\r\n\t\tpreloadImages: true,\r\n\t\tupdateOnImagesReady: true,\r\n\t\t// loop\r\n\t\tloop: false,\r\n\t\tloopAdditionalSlides: 0,\r\n\t\tloopedSlides: null,\r\n\t\tloopFillGroupWithBlank: false,\r\n\t\tloopPreventsSlide: true,\r\n\t\t// Swiping/no swiping\r\n\t\tallowSlidePrev: true,\r\n\t\tallowSlideNext: true,\r\n\t\tswipeHandler: null,\r\n\t\t// '.swipe-handler',\r\n\t\tnoSwiping: true,\r\n\t\tnoSwipingClass: 'swiper-no-swiping',\r\n\t\tnoSwipingSelector: null,\r\n\t\t// Passive Listeners\r\n\t\tpassiveListeners: true,\r\n\t\t// NS\r\n\t\tcontainerModifierClass: 'swiper-container-',\r\n\t\t// NEW\r\n\t\tslideClass: 'swiper-slide',\r\n\t\tslideBlankClass: 'swiper-slide-invisible-blank',\r\n\t\tslideActiveClass: 'swiper-slide-active',\r\n\t\tslideDuplicateActiveClass: 'swiper-slide-duplicate-active',\r\n\t\tslideVisibleClass: 'swiper-slide-visible',\r\n\t\tslideDuplicateClass: 'swiper-slide-duplicate',\r\n\t\tslideNextClass: 'swiper-slide-next',\r\n\t\tslideDuplicateNextClass: 'swiper-slide-duplicate-next',\r\n\t\tslidePrevClass: 'swiper-slide-prev',\r\n\t\tslideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\r\n\t\twrapperClass: 'swiper-wrapper',\r\n\t\t// Callbacks\r\n\t\trunCallbacksOnInit: true,\r\n\t\t// Internals\r\n\t\t_emitClasses: false\r\n\t};\r\n\r\n\tvar prototypes = {\r\n\t\tmodular: modular,\r\n\t\teventsEmitter: eventsEmitter,\r\n\t\tupdate: update,\r\n\t\ttranslate: translate,\r\n\t\ttransition: transition$1,\r\n\t\tslide: slide,\r\n\t\tloop: loop,\r\n\t\tgrabCursor: grabCursor,\r\n\t\tmanipulation: manipulation,\r\n\t\tevents: events,\r\n\t\tbreakpoints: breakpoints,\r\n\t\tcheckOverflow: checkOverflow$1,\r\n\t\tclasses: classes,\r\n\t\timages: images\r\n\t};\r\n\tvar extendedDefaults = {};\r\n\r\n\tvar Swiper = /*#__PURE__*/function () {\r\n\t\tfunction Swiper() {\r\n\t\t\tvar el;\r\n\t\t\tvar params;\r\n\r\n\t\t\tfor (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n\t\t\t\targs[_key] = arguments[_key];\r\n\t\t\t}\r\n\r\n\t\t\tif (args.length === 1 && args[0].constructor && args[0].constructor === Object) {\r\n\t\t\t\tparams = args[0];\r\n\t\t\t} else {\r\n\t\t\t\tel = args[0];\r\n\t\t\t\tparams = args[1];\r\n\t\t\t}\r\n\r\n\t\t\tif (!params) params = {};\r\n\t\t\tparams = extend$1({}, params);\r\n\t\t\tif (el && !params.el) params.el = el; // Swiper Instance\r\n\r\n\t\t\tvar swiper = this;\r\n\t\t\tswiper.support = getSupport();\r\n\t\t\tswiper.device = getDevice({\r\n\t\t\t\tuserAgent: params.userAgent\r\n\t\t\t});\r\n\t\t\tswiper.browser = getBrowser();\r\n\t\t\tswiper.eventsListeners = {};\r\n\t\t\tswiper.eventsAnyListeners = [];\r\n\r\n\t\t\tif (typeof swiper.modules === 'undefined') {\r\n\t\t\t\tswiper.modules = {};\r\n\t\t\t}\r\n\r\n\t\t\tObject.keys(swiper.modules).forEach(function (moduleName) {\r\n\t\t\t\tvar module = swiper.modules[moduleName];\r\n\r\n\t\t\t\tif (module.params) {\r\n\t\t\t\t\tvar moduleParamName = Object.keys(module.params)[0];\r\n\t\t\t\t\tvar moduleParams = module.params[moduleParamName];\r\n\t\t\t\t\tif (typeof moduleParams !== 'object' || moduleParams === null) return;\r\n\t\t\t\t\tif (!(moduleParamName in params && 'enabled' in moduleParams)) return;\r\n\r\n\t\t\t\t\tif (params[moduleParamName] === true) {\r\n\t\t\t\t\t\tparams[moduleParamName] = {\r\n\t\t\t\t\t\t\tenabled: true\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\r\n\t\t\t\t\t\tparams[moduleParamName].enabled = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (!params[moduleParamName]) params[moduleParamName] = {\r\n\t\t\t\t\t\tenabled: false\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t}); // Extend defaults with modules params\r\n\r\n\t\t\tvar swiperParams = extend$1({}, defaults);\r\n\t\t\tswiper.useParams(swiperParams); // Extend defaults with passed params\r\n\r\n\t\t\tswiper.params = extend$1({}, swiperParams, extendedDefaults, params);\r\n\t\t\tswiper.originalParams = extend$1({}, swiper.params);\r\n\t\t\tswiper.passedParams = extend$1({}, params); // add event listeners\r\n\r\n\t\t\tif (swiper.params && swiper.params.on) {\r\n\t\t\t\tObject.keys(swiper.params.on).forEach(function (eventName) {\r\n\t\t\t\t\tswiper.on(eventName, swiper.params.on[eventName]);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.params && swiper.params.onAny) {\r\n\t\t\t\tswiper.onAny(swiper.params.onAny);\r\n\t\t\t} // Save Dom lib\r\n\r\n\r\n\t\t\tswiper.$ = $; // Find el\r\n\r\n\t\t\tvar $el = $(swiper.params.el);\r\n\t\t\tel = $el[0];\r\n\r\n\t\t\tif (!el) {\r\n\t\t\t\treturn undefined;\r\n\t\t\t}\r\n\r\n\t\t\tif ($el.length > 1) {\r\n\t\t\t\tvar swipers = [];\r\n\t\t\t\t$el.each(function (containerEl) {\r\n\t\t\t\t\tvar newParams = extend$1({}, params, {\r\n\t\t\t\t\t\tel: containerEl\r\n\t\t\t\t\t});\r\n\t\t\t\t\tswipers.push(new Swiper(newParams));\r\n\t\t\t\t});\r\n\t\t\t\treturn swipers;\r\n\t\t\t}\r\n\r\n\t\t\tel.swiper = swiper; // Find Wrapper\r\n\r\n\t\t\tvar $wrapperEl;\r\n\r\n\t\t\tif (el && el.shadowRoot && el.shadowRoot.querySelector) {\r\n\t\t\t\t$wrapperEl = $(el.shadowRoot.querySelector(\".\" + swiper.params.wrapperClass)); // Children needs to return slot items\r\n\r\n\t\t\t\t$wrapperEl.children = function (options) {\r\n\t\t\t\t\treturn $el.children(options);\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\t$wrapperEl = $el.children(\".\" + swiper.params.wrapperClass);\r\n\t\t\t} // Extend Swiper\r\n\r\n\r\n\t\t\textend$1(swiper, {\r\n\t\t\t\t$el: $el,\r\n\t\t\t\tel: el,\r\n\t\t\t\t$wrapperEl: $wrapperEl,\r\n\t\t\t\twrapperEl: $wrapperEl[0],\r\n\t\t\t\t// Classes\r\n\t\t\t\tclassNames: [],\r\n\t\t\t\t// Slides\r\n\t\t\t\tslides: $(),\r\n\t\t\t\tslidesGrid: [],\r\n\t\t\t\tsnapGrid: [],\r\n\t\t\t\tslidesSizesGrid: [],\r\n\t\t\t\t// isDirection\r\n\t\t\t\tisHorizontal: function isHorizontal() {\r\n\t\t\t\t\treturn swiper.params.direction === 'horizontal';\r\n\t\t\t\t},\r\n\t\t\t\tisVertical: function isVertical() {\r\n\t\t\t\t\treturn swiper.params.direction === 'vertical';\r\n\t\t\t\t},\r\n\t\t\t\t// RTL\r\n\t\t\t\trtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\r\n\t\t\t\trtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\r\n\t\t\t\twrongRTL: $wrapperEl.css('display') === '-webkit-box',\r\n\t\t\t\t// Indexes\r\n\t\t\t\tactiveIndex: 0,\r\n\t\t\t\trealIndex: 0,\r\n\t\t\t\t//\r\n\t\t\t\tisBeginning: true,\r\n\t\t\t\tisEnd: false,\r\n\t\t\t\t// Props\r\n\t\t\t\ttranslate: 0,\r\n\t\t\t\tpreviousTranslate: 0,\r\n\t\t\t\tprogress: 0,\r\n\t\t\t\tvelocity: 0,\r\n\t\t\t\tanimating: false,\r\n\t\t\t\t// Locks\r\n\t\t\t\tallowSlideNext: swiper.params.allowSlideNext,\r\n\t\t\t\tallowSlidePrev: swiper.params.allowSlidePrev,\r\n\t\t\t\t// Touch Events\r\n\t\t\t\ttouchEvents: function touchEvents() {\r\n\t\t\t\t\tvar touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\r\n\t\t\t\t\tvar desktop = ['mousedown', 'mousemove', 'mouseup'];\r\n\r\n\t\t\t\t\tif (swiper.support.pointerEvents) {\r\n\t\t\t\t\t\tdesktop = ['pointerdown', 'pointermove', 'pointerup'];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tswiper.touchEventsTouch = {\r\n\t\t\t\t\t\tstart: touch[0],\r\n\t\t\t\t\t\tmove: touch[1],\r\n\t\t\t\t\t\tend: touch[2],\r\n\t\t\t\t\t\tcancel: touch[3]\r\n\t\t\t\t\t};\r\n\t\t\t\t\tswiper.touchEventsDesktop = {\r\n\t\t\t\t\t\tstart: desktop[0],\r\n\t\t\t\t\t\tmove: desktop[1],\r\n\t\t\t\t\t\tend: desktop[2]\r\n\t\t\t\t\t};\r\n\t\t\t\t\treturn swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\r\n\t\t\t\t}(),\r\n\t\t\t\ttouchEventsData: {\r\n\t\t\t\t\tisTouched: undefined,\r\n\t\t\t\t\tisMoved: undefined,\r\n\t\t\t\t\tallowTouchCallbacks: undefined,\r\n\t\t\t\t\ttouchStartTime: undefined,\r\n\t\t\t\t\tisScrolling: undefined,\r\n\t\t\t\t\tcurrentTranslate: undefined,\r\n\t\t\t\t\tstartTranslate: undefined,\r\n\t\t\t\t\tallowThresholdMove: undefined,\r\n\t\t\t\t\t// Form elements to match\r\n\t\t\t\t\tformElements: 'input, select, option, textarea, button, video, label',\r\n\t\t\t\t\t// Last click time\r\n\t\t\t\t\tlastClickTime: now(),\r\n\t\t\t\t\tclickTimeout: undefined,\r\n\t\t\t\t\t// Velocities\r\n\t\t\t\t\tvelocities: [],\r\n\t\t\t\t\tallowMomentumBounce: undefined,\r\n\t\t\t\t\tisTouchEvent: undefined,\r\n\t\t\t\t\tstartMoving: undefined\r\n\t\t\t\t},\r\n\t\t\t\t// Clicks\r\n\t\t\t\tallowClick: true,\r\n\t\t\t\t// Touches\r\n\t\t\t\tallowTouchMove: swiper.params.allowTouchMove,\r\n\t\t\t\ttouches: {\r\n\t\t\t\t\tstartX: 0,\r\n\t\t\t\t\tstartY: 0,\r\n\t\t\t\t\tcurrentX: 0,\r\n\t\t\t\t\tcurrentY: 0,\r\n\t\t\t\t\tdiff: 0\r\n\t\t\t\t},\r\n\t\t\t\t// Images\r\n\t\t\t\timagesToLoad: [],\r\n\t\t\t\timagesLoaded: 0\r\n\t\t\t}); // Install Modules\r\n\r\n\t\t\tswiper.useModules();\r\n\t\t\tswiper.emit('_swiper'); // Init\r\n\r\n\t\t\tif (swiper.params.init) {\r\n\t\t\t\tswiper.init();\r\n\t\t\t} // Return app instance\r\n\r\n\r\n\t\t\treturn swiper;\r\n\t\t}\r\n\r\n\t\tvar _proto = Swiper.prototype;\r\n\r\n\t\t_proto.emitContainerClasses = function emitContainerClasses() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (!swiper.params._emitClasses || !swiper.el) return;\r\n\t\t\tvar classes = swiper.el.className.split(' ').filter(function (className) {\r\n\t\t\t\treturn className.indexOf('swiper-container') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\r\n\t\t\t});\r\n\t\t\tswiper.emit('_containerClasses', classes.join(' '));\r\n\t\t};\r\n\r\n\t\t_proto.emitSlidesClasses = function emitSlidesClasses() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (!swiper.params._emitClasses || !swiper.el) return;\r\n\t\t\tswiper.slides.each(function (slideEl) {\r\n\t\t\t\tvar classes = slideEl.className.split(' ').filter(function (className) {\r\n\t\t\t\t\treturn className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\r\n\t\t\t\t});\r\n\t\t\t\tswiper.emit('_slideClass', slideEl, classes.join(' '));\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t_proto.slidesPerViewDynamic = function slidesPerViewDynamic() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params,\r\n\t\t\t\tslides = swiper.slides,\r\n\t\t\t\tslidesGrid = swiper.slidesGrid,\r\n\t\t\t\tswiperSize = swiper.size,\r\n\t\t\t\tactiveIndex = swiper.activeIndex;\r\n\t\t\tvar spv = 1;\r\n\r\n\t\t\tif (params.centeredSlides) {\r\n\t\t\t\tvar slideSize = slides[activeIndex].swiperSlideSize;\r\n\t\t\t\tvar breakLoop;\r\n\r\n\t\t\t\tfor (var i = activeIndex + 1; i < slides.length; i += 1) {\r\n\t\t\t\t\tif (slides[i] && !breakLoop) {\r\n\t\t\t\t\t\tslideSize += slides[i].swiperSlideSize;\r\n\t\t\t\t\t\tspv += 1;\r\n\t\t\t\t\t\tif (slideSize > swiperSize) breakLoop = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (var _i = activeIndex - 1; _i >= 0; _i -= 1) {\r\n\t\t\t\t\tif (slides[_i] && !breakLoop) {\r\n\t\t\t\t\t\tslideSize += slides[_i].swiperSlideSize;\r\n\t\t\t\t\t\tspv += 1;\r\n\t\t\t\t\t\tif (slideSize > swiperSize) breakLoop = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {\r\n\t\t\t\t\tif (slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize) {\r\n\t\t\t\t\t\tspv += 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn spv;\r\n\t\t};\r\n\r\n\t\t_proto.update = function update() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (!swiper || swiper.destroyed) return;\r\n\t\t\tvar snapGrid = swiper.snapGrid,\r\n\t\t\t\tparams = swiper.params; // Breakpoints\r\n\r\n\t\t\tif (params.breakpoints) {\r\n\t\t\t\tswiper.setBreakpoint();\r\n\t\t\t}\r\n\r\n\t\t\tswiper.updateSize();\r\n\t\t\tswiper.updateSlides();\r\n\t\t\tswiper.updateProgress();\r\n\t\t\tswiper.updateSlidesClasses();\r\n\r\n\t\t\tfunction setTranslate() {\r\n\t\t\t\tvar translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\r\n\t\t\t\tvar newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\r\n\t\t\t\tswiper.setTranslate(newTranslate);\r\n\t\t\t\tswiper.updateActiveIndex();\r\n\t\t\t\tswiper.updateSlidesClasses();\r\n\t\t\t}\r\n\r\n\t\t\tvar translated;\r\n\r\n\t\t\tif (swiper.params.freeMode) {\r\n\t\t\t\tsetTranslate();\r\n\r\n\t\t\t\tif (swiper.params.autoHeight) {\r\n\t\t\t\t\tswiper.updateAutoHeight();\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\r\n\t\t\t\t\ttranslated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttranslated = swiper.slideTo(swiper.activeIndex, 0, false, true);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!translated) {\r\n\t\t\t\t\tsetTranslate();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (params.watchOverflow && snapGrid !== swiper.snapGrid) {\r\n\t\t\t\tswiper.checkOverflow();\r\n\t\t\t}\r\n\r\n\t\t\tswiper.emit('update');\r\n\t\t};\r\n\r\n\t\t_proto.changeDirection = function changeDirection(newDirection, needUpdate) {\r\n\t\t\tif (needUpdate === void 0) {\r\n\t\t\t\tneedUpdate = true;\r\n\t\t\t}\r\n\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar currentDirection = swiper.params.direction;\r\n\r\n\t\t\tif (!newDirection) {\r\n\t\t\t\t// eslint-disable-next-line\r\n\t\t\t\tnewDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\r\n\t\t\t}\r\n\r\n\t\t\tif (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\r\n\t\t\t\treturn swiper;\r\n\t\t\t}\r\n\r\n\t\t\tswiper.$el.removeClass(\"\" + swiper.params.containerModifierClass + currentDirection).addClass(\"\" + swiper.params.containerModifierClass + newDirection);\r\n\t\t\tswiper.emitContainerClasses();\r\n\t\t\tswiper.params.direction = newDirection;\r\n\t\t\tswiper.slides.each(function (slideEl) {\r\n\t\t\t\tif (newDirection === 'vertical') {\r\n\t\t\t\t\tslideEl.style.width = '';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tslideEl.style.height = '';\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tswiper.emit('changeDirection');\r\n\t\t\tif (needUpdate) swiper.update();\r\n\t\t\treturn swiper;\r\n\t\t};\r\n\r\n\t\t_proto.init = function init() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (swiper.initialized) return;\r\n\t\t\tswiper.emit('beforeInit'); // Set breakpoint\r\n\r\n\t\t\tif (swiper.params.breakpoints) {\r\n\t\t\t\tswiper.setBreakpoint();\r\n\t\t\t} // Add Classes\r\n\r\n\r\n\t\t\tswiper.addClasses(); // Create loop\r\n\r\n\t\t\tif (swiper.params.loop) {\r\n\t\t\t\tswiper.loopCreate();\r\n\t\t\t} // Update size\r\n\r\n\r\n\t\t\tswiper.updateSize(); // Update slides\r\n\r\n\t\t\tswiper.updateSlides();\r\n\r\n\t\t\tif (swiper.params.watchOverflow) {\r\n\t\t\t\tswiper.checkOverflow();\r\n\t\t\t} // Set Grab Cursor\r\n\r\n\r\n\t\t\tif (swiper.params.grabCursor) {\r\n\t\t\t\tswiper.setGrabCursor();\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.params.preloadImages) {\r\n\t\t\t\tswiper.preloadImages();\r\n\t\t\t} // Slide To Initial Slide\r\n\r\n\r\n\t\t\tif (swiper.params.loop) {\r\n\t\t\t\tswiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit);\r\n\t\t\t} else {\r\n\t\t\t\tswiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit);\r\n\t\t\t} // Attach events\r\n\r\n\r\n\t\t\tswiper.attachEvents(); // Init Flag\r\n\r\n\t\t\tswiper.initialized = true; // Emit\r\n\r\n\t\t\tswiper.emit('init');\r\n\t\t};\r\n\r\n\t\t_proto.destroy = function destroy(deleteInstance, cleanStyles) {\r\n\t\t\tif (deleteInstance === void 0) {\r\n\t\t\t\tdeleteInstance = true;\r\n\t\t\t}\r\n\r\n\t\t\tif (cleanStyles === void 0) {\r\n\t\t\t\tcleanStyles = true;\r\n\t\t\t}\r\n\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params,\r\n\t\t\t\t$el = swiper.$el,\r\n\t\t\t\t$wrapperEl = swiper.$wrapperEl,\r\n\t\t\t\tslides = swiper.slides;\r\n\r\n\t\t\tif (typeof swiper.params === 'undefined' || swiper.destroyed) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\tswiper.emit('beforeDestroy'); // Init Flag\r\n\r\n\t\t\tswiper.initialized = false; // Detach events\r\n\r\n\t\t\tswiper.detachEvents(); // Destroy loop\r\n\r\n\t\t\tif (params.loop) {\r\n\t\t\t\tswiper.loopDestroy();\r\n\t\t\t} // Cleanup styles\r\n\r\n\r\n\t\t\tif (cleanStyles) {\r\n\t\t\t\tswiper.removeClasses();\r\n\t\t\t\t$el.removeAttr('style');\r\n\t\t\t\t$wrapperEl.removeAttr('style');\r\n\r\n\t\t\t\tif (slides && slides.length) {\r\n\t\t\t\t\tslides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tswiper.emit('destroy'); // Detach emitter events\r\n\r\n\t\t\tObject.keys(swiper.eventsListeners).forEach(function (eventName) {\r\n\t\t\t\tswiper.off(eventName);\r\n\t\t\t});\r\n\r\n\t\t\tif (deleteInstance !== false) {\r\n\t\t\t\tswiper.$el[0].swiper = null;\r\n\t\t\t\tdeleteProps(swiper);\r\n\t\t\t}\r\n\r\n\t\t\tswiper.destroyed = true;\r\n\t\t\treturn null;\r\n\t\t};\r\n\r\n\t\tSwiper.extendDefaults = function extendDefaults(newDefaults) {\r\n\t\t\textend$1(extendedDefaults, newDefaults);\r\n\t\t};\r\n\r\n\t\tSwiper.installModule = function installModule(module) {\r\n\t\t\tif (!Swiper.prototype.modules) Swiper.prototype.modules = {};\r\n\t\t\tvar name = module.name || Object.keys(Swiper.prototype.modules).length + \"_\" + now();\r\n\t\t\tSwiper.prototype.modules[name] = module;\r\n\t\t};\r\n\r\n\t\tSwiper.use = function use(module) {\r\n\t\t\tif (Array.isArray(module)) {\r\n\t\t\t\tmodule.forEach(function (m) {\r\n\t\t\t\t\treturn Swiper.installModule(m);\r\n\t\t\t\t});\r\n\t\t\t\treturn Swiper;\r\n\t\t\t}\r\n\r\n\t\t\tSwiper.installModule(module);\r\n\t\t\treturn Swiper;\r\n\t\t};\r\n\r\n\t\t_createClass(Swiper, null, [{\r\n\t\t\tkey: \"extendedDefaults\",\r\n\t\t\tget: function get() {\r\n\t\t\t\treturn extendedDefaults;\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\tkey: \"defaults\",\r\n\t\t\tget: function get() {\r\n\t\t\t\treturn defaults;\r\n\t\t\t}\r\n\t\t}]);\r\n\r\n\t\treturn Swiper;\r\n\t}();\r\n\r\n\tObject.keys(prototypes).forEach(function (prototypeGroup) {\r\n\t\tObject.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\r\n\t\t\tSwiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\r\n\t\t});\r\n\t});\r\n\tSwiper.use([Resize, Observer$1]);\r\n\r\n\tvar Virtual = {\r\n\t\tupdate: function update(force) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar _swiper$params = swiper.params,\r\n\t\t\t\tslidesPerView = _swiper$params.slidesPerView,\r\n\t\t\t\tslidesPerGroup = _swiper$params.slidesPerGroup,\r\n\t\t\t\tcenteredSlides = _swiper$params.centeredSlides;\r\n\t\t\tvar _swiper$params$virtua = swiper.params.virtual,\r\n\t\t\t\taddSlidesBefore = _swiper$params$virtua.addSlidesBefore,\r\n\t\t\t\taddSlidesAfter = _swiper$params$virtua.addSlidesAfter;\r\n\t\t\tvar _swiper$virtual = swiper.virtual,\r\n\t\t\t\tpreviousFrom = _swiper$virtual.from,\r\n\t\t\t\tpreviousTo = _swiper$virtual.to,\r\n\t\t\t\tslides = _swiper$virtual.slides,\r\n\t\t\t\tpreviousSlidesGrid = _swiper$virtual.slidesGrid,\r\n\t\t\t\trenderSlide = _swiper$virtual.renderSlide,\r\n\t\t\t\tpreviousOffset = _swiper$virtual.offset;\r\n\t\t\tswiper.updateActiveIndex();\r\n\t\t\tvar activeIndex = swiper.activeIndex || 0;\r\n\t\t\tvar offsetProp;\r\n\t\t\tif (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\r\n\t\t\tvar slidesAfter;\r\n\t\t\tvar slidesBefore;\r\n\r\n\t\t\tif (centeredSlides) {\r\n\t\t\t\tslidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\r\n\t\t\t\tslidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\r\n\t\t\t} else {\r\n\t\t\t\tslidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;\r\n\t\t\t\tslidesBefore = slidesPerGroup + addSlidesBefore;\r\n\t\t\t}\r\n\r\n\t\t\tvar from = Math.max((activeIndex || 0) - slidesBefore, 0);\r\n\t\t\tvar to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);\r\n\t\t\tvar offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\r\n\t\t\textend$1(swiper.virtual, {\r\n\t\t\t\tfrom: from,\r\n\t\t\t\tto: to,\r\n\t\t\t\toffset: offset,\r\n\t\t\t\tslidesGrid: swiper.slidesGrid\r\n\t\t\t});\r\n\r\n\t\t\tfunction onRendered() {\r\n\t\t\t\tswiper.updateSlides();\r\n\t\t\t\tswiper.updateProgress();\r\n\t\t\t\tswiper.updateSlidesClasses();\r\n\r\n\t\t\t\tif (swiper.lazy && swiper.params.lazy.enabled) {\r\n\t\t\t\t\tswiper.lazy.load();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (previousFrom === from && previousTo === to && !force) {\r\n\t\t\t\tif (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\r\n\t\t\t\t\tswiper.slides.css(offsetProp, offset + \"px\");\r\n\t\t\t\t}\r\n\r\n\t\t\t\tswiper.updateProgress();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.params.virtual.renderExternal) {\r\n\t\t\t\tswiper.params.virtual.renderExternal.call(swiper, {\r\n\t\t\t\t\toffset: offset,\r\n\t\t\t\t\tfrom: from,\r\n\t\t\t\t\tto: to,\r\n\t\t\t\t\tslides: function getSlides() {\r\n\t\t\t\t\t\tvar slidesToRender = [];\r\n\r\n\t\t\t\t\t\tfor (var i = from; i <= to; i += 1) {\r\n\t\t\t\t\t\t\tslidesToRender.push(slides[i]);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn slidesToRender;\r\n\t\t\t\t\t}()\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (swiper.params.virtual.renderExternalUpdate) {\r\n\t\t\t\t\tonRendered();\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar prependIndexes = [];\r\n\t\t\tvar appendIndexes = [];\r\n\r\n\t\t\tif (force) {\r\n\t\t\t\tswiper.$wrapperEl.find(\".\" + swiper.params.slideClass).remove();\r\n\t\t\t} else {\r\n\t\t\t\tfor (var i = previousFrom; i <= previousTo; i += 1) {\r\n\t\t\t\t\tif (i < from || i > to) {\r\n\t\t\t\t\t\tswiper.$wrapperEl.find(\".\" + swiper.params.slideClass + \"[data-swiper-slide-index=\\\"\" + i + \"\\\"]\").remove();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfor (var _i = 0; _i < slides.length; _i += 1) {\r\n\t\t\t\tif (_i >= from && _i <= to) {\r\n\t\t\t\t\tif (typeof previousTo === 'undefined' || force) {\r\n\t\t\t\t\t\tappendIndexes.push(_i);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (_i > previousTo) appendIndexes.push(_i);\r\n\t\t\t\t\t\tif (_i < previousFrom) prependIndexes.push(_i);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tappendIndexes.forEach(function (index) {\r\n\t\t\t\tswiper.$wrapperEl.append(renderSlide(slides[index], index));\r\n\t\t\t});\r\n\t\t\tprependIndexes.sort(function (a, b) {\r\n\t\t\t\treturn b - a;\r\n\t\t\t}).forEach(function (index) {\r\n\t\t\t\tswiper.$wrapperEl.prepend(renderSlide(slides[index], index));\r\n\t\t\t});\r\n\t\t\tswiper.$wrapperEl.children('.swiper-slide').css(offsetProp, offset + \"px\");\r\n\t\t\tonRendered();\r\n\t\t},\r\n\t\trenderSlide: function renderSlide(slide, index) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params.virtual;\r\n\r\n\t\t\tif (params.cache && swiper.virtual.cache[index]) {\r\n\t\t\t\treturn swiper.virtual.cache[index];\r\n\t\t\t}\r\n\r\n\t\t\tvar $slideEl = params.renderSlide ? $(params.renderSlide.call(swiper, slide, index)) : $(\"
\" + slide + \"
\");\r\n\t\t\tif (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index);\r\n\t\t\tif (params.cache) swiper.virtual.cache[index] = $slideEl;\r\n\t\t\treturn $slideEl;\r\n\t\t},\r\n\t\tappendSlide: function appendSlide(slides) {\r\n\t\t\tvar swiper = this;\r\n\r\n\t\t\tif (typeof slides === 'object' && 'length' in slides) {\r\n\t\t\t\tfor (var i = 0; i < slides.length; i += 1) {\r\n\t\t\t\t\tif (slides[i]) swiper.virtual.slides.push(slides[i]);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tswiper.virtual.slides.push(slides);\r\n\t\t\t}\r\n\r\n\t\t\tswiper.virtual.update(true);\r\n\t\t},\r\n\t\tprependSlide: function prependSlide(slides) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar activeIndex = swiper.activeIndex;\r\n\t\t\tvar newActiveIndex = activeIndex + 1;\r\n\t\t\tvar numberOfNewSlides = 1;\r\n\r\n\t\t\tif (Array.isArray(slides)) {\r\n\t\t\t\tfor (var i = 0; i < slides.length; i += 1) {\r\n\t\t\t\t\tif (slides[i]) swiper.virtual.slides.unshift(slides[i]);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tnewActiveIndex = activeIndex + slides.length;\r\n\t\t\t\tnumberOfNewSlides = slides.length;\r\n\t\t\t} else {\r\n\t\t\t\tswiper.virtual.slides.unshift(slides);\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.params.virtual.cache) {\r\n\t\t\t\tvar cache = swiper.virtual.cache;\r\n\t\t\t\tvar newCache = {};\r\n\t\t\t\tObject.keys(cache).forEach(function (cachedIndex) {\r\n\t\t\t\t\tvar $cachedEl = cache[cachedIndex];\r\n\t\t\t\t\tvar cachedElIndex = $cachedEl.attr('data-swiper-slide-index');\r\n\r\n\t\t\t\t\tif (cachedElIndex) {\r\n\t\t\t\t\t\t$cachedEl.attr('data-swiper-slide-index', parseInt(cachedElIndex, 10) + 1);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tnewCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl;\r\n\t\t\t\t});\r\n\t\t\t\tswiper.virtual.cache = newCache;\r\n\t\t\t}\r\n\r\n\t\t\tswiper.virtual.update(true);\r\n\t\t\tswiper.slideTo(newActiveIndex, 0);\r\n\t\t},\r\n\t\tremoveSlide: function removeSlide(slidesIndexes) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\r\n\t\t\tvar activeIndex = swiper.activeIndex;\r\n\r\n\t\t\tif (Array.isArray(slidesIndexes)) {\r\n\t\t\t\tfor (var i = slidesIndexes.length - 1; i >= 0; i -= 1) {\r\n\t\t\t\t\tswiper.virtual.slides.splice(slidesIndexes[i], 1);\r\n\r\n\t\t\t\t\tif (swiper.params.virtual.cache) {\r\n\t\t\t\t\t\tdelete swiper.virtual.cache[slidesIndexes[i]];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (slidesIndexes[i] < activeIndex) activeIndex -= 1;\r\n\t\t\t\t\tactiveIndex = Math.max(activeIndex, 0);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tswiper.virtual.slides.splice(slidesIndexes, 1);\r\n\r\n\t\t\t\tif (swiper.params.virtual.cache) {\r\n\t\t\t\t\tdelete swiper.virtual.cache[slidesIndexes];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (slidesIndexes < activeIndex) activeIndex -= 1;\r\n\t\t\t\tactiveIndex = Math.max(activeIndex, 0);\r\n\t\t\t}\r\n\r\n\t\t\tswiper.virtual.update(true);\r\n\t\t\tswiper.slideTo(activeIndex, 0);\r\n\t\t},\r\n\t\tremoveAllSlides: function removeAllSlides() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tswiper.virtual.slides = [];\r\n\r\n\t\t\tif (swiper.params.virtual.cache) {\r\n\t\t\t\tswiper.virtual.cache = {};\r\n\t\t\t}\r\n\r\n\t\t\tswiper.virtual.update(true);\r\n\t\t\tswiper.slideTo(0, 0);\r\n\t\t}\r\n\t};\r\n\tvar Virtual$1 = {\r\n\t\tname: 'virtual',\r\n\t\tparams: {\r\n\t\t\tvirtual: {\r\n\t\t\t\tenabled: false,\r\n\t\t\t\tslides: [],\r\n\t\t\t\tcache: true,\r\n\t\t\t\trenderSlide: null,\r\n\t\t\t\trenderExternal: null,\r\n\t\t\t\trenderExternalUpdate: true,\r\n\t\t\t\taddSlidesBefore: 0,\r\n\t\t\t\taddSlidesAfter: 0\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tvirtual: _extends(_extends({}, Virtual), {}, {\r\n\t\t\t\t\tslides: swiper.params.virtual.slides,\r\n\t\t\t\t\tcache: {}\r\n\t\t\t\t})\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tbeforeInit: function beforeInit(swiper) {\r\n\t\t\t\tif (!swiper.params.virtual.enabled) return;\r\n\t\t\t\tswiper.classNames.push(swiper.params.containerModifierClass + \"virtual\");\r\n\t\t\t\tvar overwriteParams = {\r\n\t\t\t\t\twatchSlidesProgress: true\r\n\t\t\t\t};\r\n\t\t\t\textend$1(swiper.params, overwriteParams);\r\n\t\t\t\textend$1(swiper.originalParams, overwriteParams);\r\n\r\n\t\t\t\tif (!swiper.params.initialSlide) {\r\n\t\t\t\t\tswiper.virtual.update();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tsetTranslate: function setTranslate(swiper) {\r\n\t\t\t\tif (!swiper.params.virtual.enabled) return;\r\n\t\t\t\tswiper.virtual.update();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Keyboard = {\r\n\t\thandle: function handle(event) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar window = getWindow();\r\n\t\t\tvar document = getDocument();\r\n\t\t\tvar rtl = swiper.rtlTranslate;\r\n\t\t\tvar e = event;\r\n\t\t\tif (e.originalEvent) e = e.originalEvent; // jquery fix\r\n\r\n\t\t\tvar kc = e.keyCode || e.charCode;\r\n\t\t\tvar pageUpDown = swiper.params.keyboard.pageUpDown;\r\n\t\t\tvar isPageUp = pageUpDown && kc === 33;\r\n\t\t\tvar isPageDown = pageUpDown && kc === 34;\r\n\t\t\tvar isArrowLeft = kc === 37;\r\n\t\t\tvar isArrowRight = kc === 39;\r\n\t\t\tvar isArrowUp = kc === 38;\r\n\t\t\tvar isArrowDown = kc === 40; // Directions locks\r\n\r\n\t\t\tif (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\r\n\t\t\t\treturn undefined;\r\n\t\t\t}\r\n\r\n\t\t\tif (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {\r\n\t\t\t\treturn undefined;\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {\r\n\t\t\t\tvar inView = false; // Check that swiper should be inside of visible area of window\r\n\r\n\t\t\t\tif (swiper.$el.parents(\".\" + swiper.params.slideClass).length > 0 && swiper.$el.parents(\".\" + swiper.params.slideActiveClass).length === 0) {\r\n\t\t\t\t\treturn undefined;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar windowWidth = window.innerWidth;\r\n\t\t\t\tvar windowHeight = window.innerHeight;\r\n\t\t\t\tvar swiperOffset = swiper.$el.offset();\r\n\t\t\t\tif (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\r\n\t\t\t\tvar swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiper.width, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiper.height], [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]];\r\n\r\n\t\t\t\tfor (var i = 0; i < swiperCoord.length; i += 1) {\r\n\t\t\t\t\tvar point = swiperCoord[i];\r\n\r\n\t\t\t\t\tif (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\r\n\t\t\t\t\t\tinView = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!inView) return undefined;\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.isHorizontal()) {\r\n\t\t\t\tif (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\r\n\t\t\t\t\tif (e.preventDefault) e.preventDefault();else e.returnValue = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();\r\n\t\t\t\tif ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();\r\n\t\t\t} else {\r\n\t\t\t\tif (isPageUp || isPageDown || isArrowUp || isArrowDown) {\r\n\t\t\t\t\tif (e.preventDefault) e.preventDefault();else e.returnValue = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (isPageDown || isArrowDown) swiper.slideNext();\r\n\t\t\t\tif (isPageUp || isArrowUp) swiper.slidePrev();\r\n\t\t\t}\r\n\r\n\t\t\tswiper.emit('keyPress', kc);\r\n\t\t\treturn undefined;\r\n\t\t},\r\n\t\tenable: function enable() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar document = getDocument();\r\n\t\t\tif (swiper.keyboard.enabled) return;\r\n\t\t\t$(document).on('keydown', swiper.keyboard.handle);\r\n\t\t\tswiper.keyboard.enabled = true;\r\n\t\t},\r\n\t\tdisable: function disable() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar document = getDocument();\r\n\t\t\tif (!swiper.keyboard.enabled) return;\r\n\t\t\t$(document).off('keydown', swiper.keyboard.handle);\r\n\t\t\tswiper.keyboard.enabled = false;\r\n\t\t}\r\n\t};\r\n\tvar Keyboard$1 = {\r\n\t\tname: 'keyboard',\r\n\t\tparams: {\r\n\t\t\tkeyboard: {\r\n\t\t\t\tenabled: false,\r\n\t\t\t\tonlyInViewport: true,\r\n\t\t\t\tpageUpDown: true\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tkeyboard: _extends({\r\n\t\t\t\t\tenabled: false\r\n\t\t\t\t}, Keyboard)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tif (swiper.params.keyboard.enabled) {\r\n\t\t\t\t\tswiper.keyboard.enable();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tdestroy: function destroy(swiper) {\r\n\t\t\t\tif (swiper.keyboard.enabled) {\r\n\t\t\t\t\tswiper.keyboard.disable();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tfunction isEventSupported() {\r\n\t\tvar document = getDocument();\r\n\t\tvar eventName = 'onwheel';\r\n\t\tvar isSupported = (eventName in document);\r\n\r\n\t\tif (!isSupported) {\r\n\t\t\tvar element = document.createElement('div');\r\n\t\t\telement.setAttribute(eventName, 'return;');\r\n\t\t\tisSupported = typeof element[eventName] === 'function';\r\n\t\t}\r\n\r\n\t\tif (!isSupported && document.implementation && document.implementation.hasFeature && // always returns true in newer browsers as per the standard.\r\n\t\t\t// @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\r\n\t\t\tdocument.implementation.hasFeature('', '') !== true) {\r\n\t\t\t// This is the only way to test support for the `wheel` event in IE9+.\r\n\t\t\tisSupported = document.implementation.hasFeature('Events.wheel', '3.0');\r\n\t\t}\r\n\r\n\t\treturn isSupported;\r\n\t}\r\n\r\n\tvar Mousewheel = {\r\n\t\tlastScrollTime: now(),\r\n\t\tlastEventBeforeSnap: undefined,\r\n\t\trecentWheelEvents: [],\r\n\t\tevent: function event() {\r\n\t\t\tvar window = getWindow();\r\n\t\t\tif (window.navigator.userAgent.indexOf('firefox') > -1) return 'DOMMouseScroll';\r\n\t\t\treturn isEventSupported() ? 'wheel' : 'mousewheel';\r\n\t\t},\r\n\t\tnormalize: function normalize(e) {\r\n\t\t\t// Reasonable defaults\r\n\t\t\tvar PIXEL_STEP = 10;\r\n\t\t\tvar LINE_HEIGHT = 40;\r\n\t\t\tvar PAGE_HEIGHT = 800;\r\n\t\t\tvar sX = 0;\r\n\t\t\tvar sY = 0; // spinX, spinY\r\n\r\n\t\t\tvar pX = 0;\r\n\t\t\tvar pY = 0; // pixelX, pixelY\r\n\t\t\t// Legacy\r\n\r\n\t\t\tif ('detail' in e) {\r\n\t\t\t\tsY = e.detail;\r\n\t\t\t}\r\n\r\n\t\t\tif ('wheelDelta' in e) {\r\n\t\t\t\tsY = -e.wheelDelta / 120;\r\n\t\t\t}\r\n\r\n\t\t\tif ('wheelDeltaY' in e) {\r\n\t\t\t\tsY = -e.wheelDeltaY / 120;\r\n\t\t\t}\r\n\r\n\t\t\tif ('wheelDeltaX' in e) {\r\n\t\t\t\tsX = -e.wheelDeltaX / 120;\r\n\t\t\t} // side scrolling on FF with DOMMouseScroll\r\n\r\n\r\n\t\t\tif ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\r\n\t\t\t\tsX = sY;\r\n\t\t\t\tsY = 0;\r\n\t\t\t}\r\n\r\n\t\t\tpX = sX * PIXEL_STEP;\r\n\t\t\tpY = sY * PIXEL_STEP;\r\n\r\n\t\t\tif ('deltaY' in e) {\r\n\t\t\t\tpY = e.deltaY;\r\n\t\t\t}\r\n\r\n\t\t\tif ('deltaX' in e) {\r\n\t\t\t\tpX = e.deltaX;\r\n\t\t\t}\r\n\r\n\t\t\tif (e.shiftKey && !pX) {\r\n\t\t\t\t// if user scrolls with shift he wants horizontal scroll\r\n\t\t\t\tpX = pY;\r\n\t\t\t\tpY = 0;\r\n\t\t\t}\r\n\r\n\t\t\tif ((pX || pY) && e.deltaMode) {\r\n\t\t\t\tif (e.deltaMode === 1) {\r\n\t\t\t\t\t// delta in LINE units\r\n\t\t\t\t\tpX *= LINE_HEIGHT;\r\n\t\t\t\t\tpY *= LINE_HEIGHT;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// delta in PAGE units\r\n\t\t\t\t\tpX *= PAGE_HEIGHT;\r\n\t\t\t\t\tpY *= PAGE_HEIGHT;\r\n\t\t\t\t}\r\n\t\t\t} // Fall-back if spin cannot be determined\r\n\r\n\r\n\t\t\tif (pX && !sX) {\r\n\t\t\t\tsX = pX < 1 ? -1 : 1;\r\n\t\t\t}\r\n\r\n\t\t\tif (pY && !sY) {\r\n\t\t\t\tsY = pY < 1 ? -1 : 1;\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tspinX: sX,\r\n\t\t\t\tspinY: sY,\r\n\t\t\t\tpixelX: pX,\r\n\t\t\t\tpixelY: pY\r\n\t\t\t};\r\n\t\t},\r\n\t\thandleMouseEnter: function handleMouseEnter() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tswiper.mouseEntered = true;\r\n\t\t},\r\n\t\thandleMouseLeave: function handleMouseLeave() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tswiper.mouseEntered = false;\r\n\t\t},\r\n\t\thandle: function handle(event) {\r\n\t\t\tvar e = event;\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params.mousewheel;\r\n\r\n\t\t\tif (swiper.params.cssMode) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t}\r\n\r\n\t\t\tvar target = swiper.$el;\r\n\r\n\t\t\tif (swiper.params.mousewheel.eventsTarget !== 'container') {\r\n\t\t\t\ttarget = $(swiper.params.mousewheel.eventsTarget);\r\n\t\t\t}\r\n\r\n\t\t\tif (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges) return true;\r\n\t\t\tif (e.originalEvent) e = e.originalEvent; // jquery fix\r\n\r\n\t\t\tvar delta = 0;\r\n\t\t\tvar rtlFactor = swiper.rtlTranslate ? -1 : 1;\r\n\t\t\tvar data = Mousewheel.normalize(e);\r\n\r\n\t\t\tif (params.forceToAxis) {\r\n\t\t\t\tif (swiper.isHorizontal()) {\r\n\t\t\t\t\tif (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;\r\n\t\t\t\t} else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;\r\n\t\t\t} else {\r\n\t\t\t\tdelta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\r\n\t\t\t}\r\n\r\n\t\t\tif (delta === 0) return true;\r\n\t\t\tif (params.invert) delta = -delta;\r\n\r\n\t\t\tif (!swiper.params.freeMode) {\r\n\t\t\t\t// Register the new event in a variable which stores the relevant data\r\n\t\t\t\tvar newEvent = {\r\n\t\t\t\t\ttime: now(),\r\n\t\t\t\t\tdelta: Math.abs(delta),\r\n\t\t\t\t\tdirection: Math.sign(delta),\r\n\t\t\t\t\traw: event\r\n\t\t\t\t}; // Keep the most recent events\r\n\r\n\t\t\t\tvar recentWheelEvents = swiper.mousewheel.recentWheelEvents;\r\n\r\n\t\t\t\tif (recentWheelEvents.length >= 2) {\r\n\t\t\t\t\trecentWheelEvents.shift(); // only store the last N events\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\r\n\t\t\t\trecentWheelEvents.push(newEvent); // If there is at least one previous recorded event:\r\n\t\t\t\t// If direction has changed or\r\n\t\t\t\t// if the scroll is quicker than the previous one:\r\n\t\t\t\t// Animate the slider.\r\n\t\t\t\t// Else (this is the first time the wheel is moved):\r\n\t\t\t\t// Animate the slider.\r\n\r\n\t\t\t\tif (prevEvent) {\r\n\t\t\t\t\tif (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {\r\n\t\t\t\t\t\tswiper.mousewheel.animateSlider(newEvent);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswiper.mousewheel.animateSlider(newEvent);\r\n\t\t\t\t} // If it's time to release the scroll:\r\n\t\t\t\t// Return now so you don't hit the preventDefault.\r\n\r\n\r\n\t\t\t\tif (swiper.mousewheel.releaseScroll(newEvent)) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// Freemode or scrollContainer:\r\n\t\t\t\t// If we recently snapped after a momentum scroll, then ignore wheel events\r\n\t\t\t\t// to give time for the deceleration to finish. Stop ignoring after 500 msecs\r\n\t\t\t\t// or if it's a new scroll (larger delta or inverse sign as last event before\r\n\t\t\t\t// an end-of-momentum snap).\r\n\t\t\t\tvar _newEvent = {\r\n\t\t\t\t\ttime: now(),\r\n\t\t\t\t\tdelta: Math.abs(delta),\r\n\t\t\t\t\tdirection: Math.sign(delta)\r\n\t\t\t\t};\r\n\t\t\t\tvar lastEventBeforeSnap = swiper.mousewheel.lastEventBeforeSnap;\r\n\t\t\t\tvar ignoreWheelEvents = lastEventBeforeSnap && _newEvent.time < lastEventBeforeSnap.time + 500 && _newEvent.delta <= lastEventBeforeSnap.delta && _newEvent.direction === lastEventBeforeSnap.direction;\r\n\r\n\t\t\t\tif (!ignoreWheelEvents) {\r\n\t\t\t\t\tswiper.mousewheel.lastEventBeforeSnap = undefined;\r\n\r\n\t\t\t\t\tif (swiper.params.loop) {\r\n\t\t\t\t\t\tswiper.loopFix();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar position = swiper.getTranslate() + delta * params.sensitivity;\r\n\t\t\t\t\tvar wasBeginning = swiper.isBeginning;\r\n\t\t\t\t\tvar wasEnd = swiper.isEnd;\r\n\t\t\t\t\tif (position >= swiper.minTranslate()) position = swiper.minTranslate();\r\n\t\t\t\t\tif (position <= swiper.maxTranslate()) position = swiper.maxTranslate();\r\n\t\t\t\t\tswiper.setTransition(0);\r\n\t\t\t\t\tswiper.setTranslate(position);\r\n\t\t\t\t\tswiper.updateProgress();\r\n\t\t\t\t\tswiper.updateActiveIndex();\r\n\t\t\t\t\tswiper.updateSlidesClasses();\r\n\r\n\t\t\t\t\tif (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {\r\n\t\t\t\t\t\tswiper.updateSlidesClasses();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (swiper.params.freeModeSticky) {\r\n\t\t\t\t\t\t// When wheel scrolling starts with sticky (aka snap) enabled, then detect\r\n\t\t\t\t\t\t// the end of a momentum scroll by storing recent (N=15?) wheel events.\r\n\t\t\t\t\t\t// 1. do all N events have decreasing or same (absolute value) delta?\r\n\t\t\t\t\t\t// 2. did all N events arrive in the last M (M=500?) msecs?\r\n\t\t\t\t\t\t// 3. does the earliest event have an (absolute value) delta that's\r\n\t\t\t\t\t\t// at least P (P=1?) larger than the most recent event's delta?\r\n\t\t\t\t\t\t// 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?\r\n\t\t\t\t\t\t// If 1-4 are \"yes\" then we're near the end of a momuntum scroll deceleration.\r\n\t\t\t\t\t\t// Snap immediately and ignore remaining wheel events in this scroll.\r\n\t\t\t\t\t\t// See comment above for \"remaining wheel events in this scroll\" determination.\r\n\t\t\t\t\t\t// If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.\r\n\t\t\t\t\t\tclearTimeout(swiper.mousewheel.timeout);\r\n\t\t\t\t\t\tswiper.mousewheel.timeout = undefined;\r\n\t\t\t\t\t\tvar _recentWheelEvents = swiper.mousewheel.recentWheelEvents;\r\n\r\n\t\t\t\t\t\tif (_recentWheelEvents.length >= 15) {\r\n\t\t\t\t\t\t\t_recentWheelEvents.shift(); // only store the last N events\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tvar _prevEvent = _recentWheelEvents.length ? _recentWheelEvents[_recentWheelEvents.length - 1] : undefined;\r\n\r\n\t\t\t\t\t\tvar firstEvent = _recentWheelEvents[0];\r\n\r\n\t\t\t\t\t\t_recentWheelEvents.push(_newEvent);\r\n\r\n\t\t\t\t\t\tif (_prevEvent && (_newEvent.delta > _prevEvent.delta || _newEvent.direction !== _prevEvent.direction)) {\r\n\t\t\t\t\t\t\t// Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.\r\n\t\t\t\t\t\t\t_recentWheelEvents.splice(0);\r\n\t\t\t\t\t\t} else if (_recentWheelEvents.length >= 15 && _newEvent.time - firstEvent.time < 500 && firstEvent.delta - _newEvent.delta >= 1 && _newEvent.delta <= 6) {\r\n\t\t\t\t\t\t\t// We're at the end of the deceleration of a momentum scroll, so there's no need\r\n\t\t\t\t\t\t\t// to wait for more events. Snap ASAP on the next tick.\r\n\t\t\t\t\t\t\t// Also, because there's some remaining momentum we'll bias the snap in the\r\n\t\t\t\t\t\t\t// direction of the ongoing scroll because it's better UX for the scroll to snap\r\n\t\t\t\t\t\t\t// in the same direction as the scroll instead of reversing to snap. Therefore,\r\n\t\t\t\t\t\t\t// if it's already scrolled more than 20% in the current direction, keep going.\r\n\t\t\t\t\t\t\tvar snapToThreshold = delta > 0 ? 0.8 : 0.2;\r\n\t\t\t\t\t\t\tswiper.mousewheel.lastEventBeforeSnap = _newEvent;\r\n\r\n\t\t\t\t\t\t\t_recentWheelEvents.splice(0);\r\n\r\n\t\t\t\t\t\t\tswiper.mousewheel.timeout = nextTick(function () {\r\n\t\t\t\t\t\t\t\tswiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\r\n\t\t\t\t\t\t\t}, 0); // no delay; move on next tick\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (!swiper.mousewheel.timeout) {\r\n\t\t\t\t\t\t\t// if we get here, then we haven't detected the end of a momentum scroll, so\r\n\t\t\t\t\t\t\t// we'll consider a scroll \"complete\" when there haven't been any wheel events\r\n\t\t\t\t\t\t\t// for 500ms.\r\n\t\t\t\t\t\t\tswiper.mousewheel.timeout = nextTick(function () {\r\n\t\t\t\t\t\t\t\tvar snapToThreshold = 0.5;\r\n\t\t\t\t\t\t\t\tswiper.mousewheel.lastEventBeforeSnap = _newEvent;\r\n\r\n\t\t\t\t\t\t\t\t_recentWheelEvents.splice(0);\r\n\r\n\t\t\t\t\t\t\t\tswiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\r\n\t\t\t\t\t\t\t}, 500);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} // Emit event\r\n\r\n\r\n\t\t\t\t\tif (!ignoreWheelEvents) swiper.emit('scroll', e); // Stop autoplay\r\n\r\n\t\t\t\t\tif (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); // Return page scroll on edge positions\r\n\r\n\t\t\t\t\tif (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (e.preventDefault) e.preventDefault();else e.returnValue = false;\r\n\t\t\treturn false;\r\n\t\t},\r\n\t\tanimateSlider: function animateSlider(newEvent) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar window = getWindow();\r\n\r\n\t\t\tif (this.params.mousewheel.thresholdDelta && newEvent.delta < this.params.mousewheel.thresholdDelta) {\r\n\t\t\t\t// Prevent if delta of wheel scroll delta is below configured threshold\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tif (this.params.mousewheel.thresholdTime && now() - swiper.mousewheel.lastScrollTime < this.params.mousewheel.thresholdTime) {\r\n\t\t\t\t// Prevent if time between scrolls is below configured threshold\r\n\t\t\t\treturn false;\r\n\t\t\t} // If the movement is NOT big enough and\r\n\t\t\t// if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):\r\n\t\t\t// Don't go any further (avoid insignificant scroll movement).\r\n\r\n\r\n\t\t\tif (newEvent.delta >= 6 && now() - swiper.mousewheel.lastScrollTime < 60) {\r\n\t\t\t\t// Return false as a default\r\n\t\t\t\treturn true;\r\n\t\t\t} // If user is scrolling towards the end:\r\n\t\t\t// If the slider hasn't hit the latest slide or\r\n\t\t\t// if the slider is a loop and\r\n\t\t\t// if the slider isn't moving right now:\r\n\t\t\t// Go to next slide and\r\n\t\t\t// emit a scroll event.\r\n\t\t\t// Else (the user is scrolling towards the beginning) and\r\n\t\t\t// if the slider hasn't hit the first slide or\r\n\t\t\t// if the slider is a loop and\r\n\t\t\t// if the slider isn't moving right now:\r\n\t\t\t// Go to prev slide and\r\n\t\t\t// emit a scroll event.\r\n\r\n\r\n\t\t\tif (newEvent.direction < 0) {\r\n\t\t\t\tif ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\r\n\t\t\t\t\tswiper.slideNext();\r\n\t\t\t\t\tswiper.emit('scroll', newEvent.raw);\r\n\t\t\t\t}\r\n\t\t\t} else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\r\n\t\t\t\tswiper.slidePrev();\r\n\t\t\t\tswiper.emit('scroll', newEvent.raw);\r\n\t\t\t} // If you got here is because an animation has been triggered so store the current time\r\n\r\n\r\n\t\t\tswiper.mousewheel.lastScrollTime = new window.Date().getTime(); // Return false as a default\r\n\r\n\t\t\treturn false;\r\n\t\t},\r\n\t\treleaseScroll: function releaseScroll(newEvent) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params.mousewheel;\r\n\r\n\t\t\tif (newEvent.direction < 0) {\r\n\t\t\t\tif (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {\r\n\t\t\t\t\t// Return true to animate scroll on edges\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t} else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {\r\n\t\t\t\t// Return true to animate scroll on edges\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t},\r\n\t\tenable: function enable() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar event = Mousewheel.event();\r\n\r\n\t\t\tif (swiper.params.cssMode) {\r\n\t\t\t\tswiper.wrapperEl.removeEventListener(event, swiper.mousewheel.handle);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\tif (!event) return false;\r\n\t\t\tif (swiper.mousewheel.enabled) return false;\r\n\t\t\tvar target = swiper.$el;\r\n\r\n\t\t\tif (swiper.params.mousewheel.eventsTarget !== 'container') {\r\n\t\t\t\ttarget = $(swiper.params.mousewheel.eventsTarget);\r\n\t\t\t}\r\n\r\n\t\t\ttarget.on('mouseenter', swiper.mousewheel.handleMouseEnter);\r\n\t\t\ttarget.on('mouseleave', swiper.mousewheel.handleMouseLeave);\r\n\t\t\ttarget.on(event, swiper.mousewheel.handle);\r\n\t\t\tswiper.mousewheel.enabled = true;\r\n\t\t\treturn true;\r\n\t\t},\r\n\t\tdisable: function disable() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar event = Mousewheel.event();\r\n\r\n\t\t\tif (swiper.params.cssMode) {\r\n\t\t\t\tswiper.wrapperEl.addEventListener(event, swiper.mousewheel.handle);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\tif (!event) return false;\r\n\t\t\tif (!swiper.mousewheel.enabled) return false;\r\n\t\t\tvar target = swiper.$el;\r\n\r\n\t\t\tif (swiper.params.mousewheel.eventsTarget !== 'container') {\r\n\t\t\t\ttarget = $(swiper.params.mousewheel.eventsTarget);\r\n\t\t\t}\r\n\r\n\t\t\ttarget.off(event, swiper.mousewheel.handle);\r\n\t\t\tswiper.mousewheel.enabled = false;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t};\r\n\tvar Mousewheel$1 = {\r\n\t\tname: 'mousewheel',\r\n\t\tparams: {\r\n\t\t\tmousewheel: {\r\n\t\t\t\tenabled: false,\r\n\t\t\t\treleaseOnEdges: false,\r\n\t\t\t\tinvert: false,\r\n\t\t\t\tforceToAxis: false,\r\n\t\t\t\tsensitivity: 1,\r\n\t\t\t\teventsTarget: 'container',\r\n\t\t\t\tthresholdDelta: null,\r\n\t\t\t\tthresholdTime: null\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tmousewheel: {\r\n\t\t\t\t\tenabled: false,\r\n\t\t\t\t\tlastScrollTime: now(),\r\n\t\t\t\t\tlastEventBeforeSnap: undefined,\r\n\t\t\t\t\trecentWheelEvents: [],\r\n\t\t\t\t\tenable: Mousewheel.enable,\r\n\t\t\t\t\tdisable: Mousewheel.disable,\r\n\t\t\t\t\thandle: Mousewheel.handle,\r\n\t\t\t\t\thandleMouseEnter: Mousewheel.handleMouseEnter,\r\n\t\t\t\t\thandleMouseLeave: Mousewheel.handleMouseLeave,\r\n\t\t\t\t\tanimateSlider: Mousewheel.animateSlider,\r\n\t\t\t\t\treleaseScroll: Mousewheel.releaseScroll\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tif (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {\r\n\t\t\t\t\tswiper.mousewheel.disable();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (swiper.params.mousewheel.enabled) swiper.mousewheel.enable();\r\n\t\t\t},\r\n\t\t\tdestroy: function destroy(swiper) {\r\n\t\t\t\tif (swiper.params.cssMode) {\r\n\t\t\t\t\tswiper.mousewheel.enable();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (swiper.mousewheel.enabled) swiper.mousewheel.disable();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Navigation = {\r\n\t\tupdate: function update() {\r\n\t\t\t// Update Navigation Buttons\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params.navigation;\r\n\t\t\tif (swiper.params.loop) return;\r\n\t\t\tvar _swiper$navigation = swiper.navigation,\r\n\t\t\t\t$nextEl = _swiper$navigation.$nextEl,\r\n\t\t\t\t$prevEl = _swiper$navigation.$prevEl;\r\n\r\n\t\t\tif ($prevEl && $prevEl.length > 0) {\r\n\t\t\t\tif (swiper.isBeginning) {\r\n\t\t\t\t\t$prevEl.addClass(params.disabledClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$prevEl.removeClass(params.disabledClass);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$prevEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\r\n\t\t\t}\r\n\r\n\t\t\tif ($nextEl && $nextEl.length > 0) {\r\n\t\t\t\tif (swiper.isEnd) {\r\n\t\t\t\t\t$nextEl.addClass(params.disabledClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$nextEl.removeClass(params.disabledClass);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$nextEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\r\n\t\t\t}\r\n\t\t},\r\n\t\tonPrevClick: function onPrevClick(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\te.preventDefault();\r\n\t\t\tif (swiper.isBeginning && !swiper.params.loop) return;\r\n\t\t\tswiper.slidePrev();\r\n\t\t},\r\n\t\tonNextClick: function onNextClick(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\te.preventDefault();\r\n\t\t\tif (swiper.isEnd && !swiper.params.loop) return;\r\n\t\t\tswiper.slideNext();\r\n\t\t},\r\n\t\tinit: function init() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params.navigation;\r\n\t\t\tif (!(params.nextEl || params.prevEl)) return;\r\n\t\t\tvar $nextEl;\r\n\t\t\tvar $prevEl;\r\n\r\n\t\t\tif (params.nextEl) {\r\n\t\t\t\t$nextEl = $(params.nextEl);\r\n\r\n\t\t\t\tif (swiper.params.uniqueNavElements && typeof params.nextEl === 'string' && $nextEl.length > 1 && swiper.$el.find(params.nextEl).length === 1) {\r\n\t\t\t\t\t$nextEl = swiper.$el.find(params.nextEl);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (params.prevEl) {\r\n\t\t\t\t$prevEl = $(params.prevEl);\r\n\r\n\t\t\t\tif (swiper.params.uniqueNavElements && typeof params.prevEl === 'string' && $prevEl.length > 1 && swiper.$el.find(params.prevEl).length === 1) {\r\n\t\t\t\t\t$prevEl = swiper.$el.find(params.prevEl);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif ($nextEl && $nextEl.length > 0) {\r\n\t\t\t\t$nextEl.on('click', swiper.navigation.onNextClick);\r\n\t\t\t}\r\n\r\n\t\t\tif ($prevEl && $prevEl.length > 0) {\r\n\t\t\t\t$prevEl.on('click', swiper.navigation.onPrevClick);\r\n\t\t\t}\r\n\r\n\t\t\textend$1(swiper.navigation, {\r\n\t\t\t\t$nextEl: $nextEl,\r\n\t\t\t\tnextEl: $nextEl && $nextEl[0],\r\n\t\t\t\t$prevEl: $prevEl,\r\n\t\t\t\tprevEl: $prevEl && $prevEl[0]\r\n\t\t\t});\r\n\t\t},\r\n\t\tdestroy: function destroy() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar _swiper$navigation2 = swiper.navigation,\r\n\t\t\t\t$nextEl = _swiper$navigation2.$nextEl,\r\n\t\t\t\t$prevEl = _swiper$navigation2.$prevEl;\r\n\r\n\t\t\tif ($nextEl && $nextEl.length) {\r\n\t\t\t\t$nextEl.off('click', swiper.navigation.onNextClick);\r\n\t\t\t\t$nextEl.removeClass(swiper.params.navigation.disabledClass);\r\n\t\t\t}\r\n\r\n\t\t\tif ($prevEl && $prevEl.length) {\r\n\t\t\t\t$prevEl.off('click', swiper.navigation.onPrevClick);\r\n\t\t\t\t$prevEl.removeClass(swiper.params.navigation.disabledClass);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tvar Navigation$1 = {\r\n\t\tname: 'navigation',\r\n\t\tparams: {\r\n\t\t\tnavigation: {\r\n\t\t\t\tnextEl: null,\r\n\t\t\t\tprevEl: null,\r\n\t\t\t\thideOnClick: false,\r\n\t\t\t\tdisabledClass: 'swiper-button-disabled',\r\n\t\t\t\thiddenClass: 'swiper-button-hidden',\r\n\t\t\t\tlockClass: 'swiper-button-lock'\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tnavigation: _extends({}, Navigation)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tswiper.navigation.init();\r\n\t\t\t\tswiper.navigation.update();\r\n\t\t\t},\r\n\t\t\ttoEdge: function toEdge(swiper) {\r\n\t\t\t\tswiper.navigation.update();\r\n\t\t\t},\r\n\t\t\tfromEdge: function fromEdge(swiper) {\r\n\t\t\t\tswiper.navigation.update();\r\n\t\t\t},\r\n\t\t\tdestroy: function destroy(swiper) {\r\n\t\t\t\tswiper.navigation.destroy();\r\n\t\t\t},\r\n\t\t\tclick: function click(swiper, e) {\r\n\t\t\t\tvar _swiper$navigation3 = swiper.navigation,\r\n\t\t\t\t\t$nextEl = _swiper$navigation3.$nextEl,\r\n\t\t\t\t\t$prevEl = _swiper$navigation3.$prevEl;\r\n\r\n\t\t\t\tif (swiper.params.navigation.hideOnClick && !$(e.target).is($prevEl) && !$(e.target).is($nextEl)) {\r\n\t\t\t\t\tvar isHidden;\r\n\r\n\t\t\t\t\tif ($nextEl) {\r\n\t\t\t\t\t\tisHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\r\n\t\t\t\t\t} else if ($prevEl) {\r\n\t\t\t\t\t\tisHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (isHidden === true) {\r\n\t\t\t\t\t\tswiper.emit('navigationShow');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tswiper.emit('navigationHide');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ($nextEl) {\r\n\t\t\t\t\t\t$nextEl.toggleClass(swiper.params.navigation.hiddenClass);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ($prevEl) {\r\n\t\t\t\t\t\t$prevEl.toggleClass(swiper.params.navigation.hiddenClass);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Pagination = {\r\n\t\tupdate: function update() {\r\n\t\t\t// Render || Update Pagination bullets/items\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar rtl = swiper.rtl;\r\n\t\t\tvar params = swiper.params.pagination;\r\n\t\t\tif (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\r\n\t\t\tvar slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\r\n\t\t\tvar $el = swiper.pagination.$el; // Current/Total\r\n\r\n\t\t\tvar current;\r\n\t\t\tvar total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\r\n\r\n\t\t\tif (swiper.params.loop) {\r\n\t\t\t\tcurrent = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\r\n\r\n\t\t\t\tif (current > slidesLength - 1 - swiper.loopedSlides * 2) {\r\n\t\t\t\t\tcurrent -= slidesLength - swiper.loopedSlides * 2;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (current > total - 1) current -= total;\r\n\t\t\t\tif (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\r\n\t\t\t} else if (typeof swiper.snapIndex !== 'undefined') {\r\n\t\t\t\tcurrent = swiper.snapIndex;\r\n\t\t\t} else {\r\n\t\t\t\tcurrent = swiper.activeIndex || 0;\r\n\t\t\t} // Types\r\n\r\n\r\n\t\t\tif (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\r\n\t\t\t\tvar bullets = swiper.pagination.bullets;\r\n\t\t\t\tvar firstIndex;\r\n\t\t\t\tvar lastIndex;\r\n\t\t\t\tvar midIndex;\r\n\r\n\t\t\t\tif (params.dynamicBullets) {\r\n\t\t\t\t\tswiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\r\n\t\t\t\t\t$el.css(swiper.isHorizontal() ? 'width' : 'height', swiper.pagination.bulletSize * (params.dynamicMainBullets + 4) + \"px\");\r\n\r\n\t\t\t\t\tif (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\r\n\t\t\t\t\t\tswiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;\r\n\r\n\t\t\t\t\t\tif (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {\r\n\t\t\t\t\t\t\tswiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\r\n\t\t\t\t\t\t} else if (swiper.pagination.dynamicBulletIndex < 0) {\r\n\t\t\t\t\t\t\tswiper.pagination.dynamicBulletIndex = 0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfirstIndex = current - swiper.pagination.dynamicBulletIndex;\r\n\t\t\t\t\tlastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\r\n\t\t\t\t\tmidIndex = (lastIndex + firstIndex) / 2;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tbullets.removeClass(params.bulletActiveClass + \" \" + params.bulletActiveClass + \"-next \" + params.bulletActiveClass + \"-next-next \" + params.bulletActiveClass + \"-prev \" + params.bulletActiveClass + \"-prev-prev \" + params.bulletActiveClass + \"-main\");\r\n\r\n\t\t\t\tif ($el.length > 1) {\r\n\t\t\t\t\tbullets.each(function (bullet) {\r\n\t\t\t\t\t\tvar $bullet = $(bullet);\r\n\t\t\t\t\t\tvar bulletIndex = $bullet.index();\r\n\r\n\t\t\t\t\t\tif (bulletIndex === current) {\r\n\t\t\t\t\t\t\t$bullet.addClass(params.bulletActiveClass);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (params.dynamicBullets) {\r\n\t\t\t\t\t\t\tif (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\r\n\t\t\t\t\t\t\t\t$bullet.addClass(params.bulletActiveClass + \"-main\");\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (bulletIndex === firstIndex) {\r\n\t\t\t\t\t\t\t\t$bullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (bulletIndex === lastIndex) {\r\n\t\t\t\t\t\t\t\t$bullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar $bullet = bullets.eq(current);\r\n\t\t\t\t\tvar bulletIndex = $bullet.index();\r\n\t\t\t\t\t$bullet.addClass(params.bulletActiveClass);\r\n\r\n\t\t\t\t\tif (params.dynamicBullets) {\r\n\t\t\t\t\t\tvar $firstDisplayedBullet = bullets.eq(firstIndex);\r\n\t\t\t\t\t\tvar $lastDisplayedBullet = bullets.eq(lastIndex);\r\n\r\n\t\t\t\t\t\tfor (var i = firstIndex; i <= lastIndex; i += 1) {\r\n\t\t\t\t\t\t\tbullets.eq(i).addClass(params.bulletActiveClass + \"-main\");\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (swiper.params.loop) {\r\n\t\t\t\t\t\t\tif (bulletIndex >= bullets.length - params.dynamicMainBullets) {\r\n\t\t\t\t\t\t\t\tfor (var _i = params.dynamicMainBullets; _i >= 0; _i -= 1) {\r\n\t\t\t\t\t\t\t\t\tbullets.eq(bullets.length - _i).addClass(params.bulletActiveClass + \"-main\");\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tbullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(params.bulletActiveClass + \"-prev\");\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t$firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\r\n\t\t\t\t\t\t\t\t$lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t$firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\r\n\t\t\t\t\t\t\t$lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (params.dynamicBullets) {\r\n\t\t\t\t\tvar dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\r\n\t\t\t\t\tvar bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;\r\n\t\t\t\t\tvar offsetProp = rtl ? 'right' : 'left';\r\n\t\t\t\t\tbullets.css(swiper.isHorizontal() ? offsetProp : 'top', bulletsOffset + \"px\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (params.type === 'fraction') {\r\n\t\t\t\t$el.find(\".\" + params.currentClass).text(params.formatFractionCurrent(current + 1));\r\n\t\t\t\t$el.find(\".\" + params.totalClass).text(params.formatFractionTotal(total));\r\n\t\t\t}\r\n\r\n\t\t\tif (params.type === 'progressbar') {\r\n\t\t\t\tvar progressbarDirection;\r\n\r\n\t\t\t\tif (params.progressbarOpposite) {\r\n\t\t\t\t\tprogressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tprogressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar scale = (current + 1) / total;\r\n\t\t\t\tvar scaleX = 1;\r\n\t\t\t\tvar scaleY = 1;\r\n\r\n\t\t\t\tif (progressbarDirection === 'horizontal') {\r\n\t\t\t\t\tscaleX = scale;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tscaleY = scale;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$el.find(\".\" + params.progressbarFillClass).transform(\"translate3d(0,0,0) scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\").transition(swiper.params.speed);\r\n\t\t\t}\r\n\r\n\t\t\tif (params.type === 'custom' && params.renderCustom) {\r\n\t\t\t\t$el.html(params.renderCustom(swiper, current + 1, total));\r\n\t\t\t\tswiper.emit('paginationRender', $el[0]);\r\n\t\t\t} else {\r\n\t\t\t\tswiper.emit('paginationUpdate', $el[0]);\r\n\t\t\t}\r\n\r\n\t\t\t$el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\r\n\t\t},\r\n\t\trender: function render() {\r\n\t\t\t// Render Container\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params.pagination;\r\n\t\t\tif (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\r\n\t\t\tvar slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\r\n\t\t\tvar $el = swiper.pagination.$el;\r\n\t\t\tvar paginationHTML = '';\r\n\r\n\t\t\tif (params.type === 'bullets') {\r\n\t\t\t\tvar numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\r\n\r\n\t\t\t\tfor (var i = 0; i < numberOfBullets; i += 1) {\r\n\t\t\t\t\tif (params.renderBullet) {\r\n\t\t\t\t\t\tpaginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tpaginationHTML += \"<\" + params.bulletElement + \" class=\\\"\" + params.bulletClass + \"\\\">\";\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$el.html(paginationHTML);\r\n\t\t\t\tswiper.pagination.bullets = $el.find(\".\" + params.bulletClass);\r\n\t\t\t}\r\n\r\n\t\t\tif (params.type === 'fraction') {\r\n\t\t\t\tif (params.renderFraction) {\r\n\t\t\t\t\tpaginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tpaginationHTML = \"\" + ' / ' + (\"\");\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$el.html(paginationHTML);\r\n\t\t\t}\r\n\r\n\t\t\tif (params.type === 'progressbar') {\r\n\t\t\t\tif (params.renderProgressbar) {\r\n\t\t\t\t\tpaginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tpaginationHTML = \"\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$el.html(paginationHTML);\r\n\t\t\t}\r\n\r\n\t\t\tif (params.type !== 'custom') {\r\n\t\t\t\tswiper.emit('paginationRender', swiper.pagination.$el[0]);\r\n\t\t\t}\r\n\t\t},\r\n\t\tinit: function init() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params.pagination;\r\n\t\t\tif (!params.el) return;\r\n\t\t\tvar $el = $(params.el);\r\n\t\t\tif ($el.length === 0) return;\r\n\r\n\t\t\tif (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\r\n\t\t\t\t$el = swiper.$el.find(params.el);\r\n\t\t\t}\r\n\r\n\t\t\tif (params.type === 'bullets' && params.clickable) {\r\n\t\t\t\t$el.addClass(params.clickableClass);\r\n\t\t\t}\r\n\r\n\t\t\t$el.addClass(params.modifierClass + params.type);\r\n\r\n\t\t\tif (params.type === 'bullets' && params.dynamicBullets) {\r\n\t\t\t\t$el.addClass(\"\" + params.modifierClass + params.type + \"-dynamic\");\r\n\t\t\t\tswiper.pagination.dynamicBulletIndex = 0;\r\n\r\n\t\t\t\tif (params.dynamicMainBullets < 1) {\r\n\t\t\t\t\tparams.dynamicMainBullets = 1;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (params.type === 'progressbar' && params.progressbarOpposite) {\r\n\t\t\t\t$el.addClass(params.progressbarOppositeClass);\r\n\t\t\t}\r\n\r\n\t\t\tif (params.clickable) {\r\n\t\t\t\t$el.on('click', \".\" + params.bulletClass, function onClick(e) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tvar index = $(this).index() * swiper.params.slidesPerGroup;\r\n\t\t\t\t\tif (swiper.params.loop) index += swiper.loopedSlides;\r\n\t\t\t\t\tswiper.slideTo(index);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\textend$1(swiper.pagination, {\r\n\t\t\t\t$el: $el,\r\n\t\t\t\tel: $el[0]\r\n\t\t\t});\r\n\t\t},\r\n\t\tdestroy: function destroy() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params.pagination;\r\n\t\t\tif (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\r\n\t\t\tvar $el = swiper.pagination.$el;\r\n\t\t\t$el.removeClass(params.hiddenClass);\r\n\t\t\t$el.removeClass(params.modifierClass + params.type);\r\n\t\t\tif (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\r\n\r\n\t\t\tif (params.clickable) {\r\n\t\t\t\t$el.off('click', \".\" + params.bulletClass);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tvar Pagination$1 = {\r\n\t\tname: 'pagination',\r\n\t\tparams: {\r\n\t\t\tpagination: {\r\n\t\t\t\tel: null,\r\n\t\t\t\tbulletElement: 'span',\r\n\t\t\t\tclickable: false,\r\n\t\t\t\thideOnClick: false,\r\n\t\t\t\trenderBullet: null,\r\n\t\t\t\trenderProgressbar: null,\r\n\t\t\t\trenderFraction: null,\r\n\t\t\t\trenderCustom: null,\r\n\t\t\t\tprogressbarOpposite: false,\r\n\t\t\t\ttype: 'bullets',\r\n\t\t\t\t// 'bullets' or 'progressbar' or 'fraction' or 'custom'\r\n\t\t\t\tdynamicBullets: false,\r\n\t\t\t\tdynamicMainBullets: 1,\r\n\t\t\t\tformatFractionCurrent: function formatFractionCurrent(number) {\r\n\t\t\t\t\treturn number;\r\n\t\t\t\t},\r\n\t\t\t\tformatFractionTotal: function formatFractionTotal(number) {\r\n\t\t\t\t\treturn number;\r\n\t\t\t\t},\r\n\t\t\t\tbulletClass: 'swiper-pagination-bullet',\r\n\t\t\t\tbulletActiveClass: 'swiper-pagination-bullet-active',\r\n\t\t\t\tmodifierClass: 'swiper-pagination-',\r\n\t\t\t\t// NEW\r\n\t\t\t\tcurrentClass: 'swiper-pagination-current',\r\n\t\t\t\ttotalClass: 'swiper-pagination-total',\r\n\t\t\t\thiddenClass: 'swiper-pagination-hidden',\r\n\t\t\t\tprogressbarFillClass: 'swiper-pagination-progressbar-fill',\r\n\t\t\t\tprogressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\r\n\t\t\t\tclickableClass: 'swiper-pagination-clickable',\r\n\t\t\t\t// NEW\r\n\t\t\t\tlockClass: 'swiper-pagination-lock'\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tpagination: _extends({\r\n\t\t\t\t\tdynamicBulletIndex: 0\r\n\t\t\t\t}, Pagination)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tswiper.pagination.init();\r\n\t\t\t\tswiper.pagination.render();\r\n\t\t\t\tswiper.pagination.update();\r\n\t\t\t},\r\n\t\t\tactiveIndexChange: function activeIndexChange(swiper) {\r\n\t\t\t\tif (swiper.params.loop) {\r\n\t\t\t\t\tswiper.pagination.update();\r\n\t\t\t\t} else if (typeof swiper.snapIndex === 'undefined') {\r\n\t\t\t\t\tswiper.pagination.update();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tsnapIndexChange: function snapIndexChange(swiper) {\r\n\t\t\t\tif (!swiper.params.loop) {\r\n\t\t\t\t\tswiper.pagination.update();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tslidesLengthChange: function slidesLengthChange(swiper) {\r\n\t\t\t\tif (swiper.params.loop) {\r\n\t\t\t\t\tswiper.pagination.render();\r\n\t\t\t\t\tswiper.pagination.update();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tsnapGridLengthChange: function snapGridLengthChange(swiper) {\r\n\t\t\t\tif (!swiper.params.loop) {\r\n\t\t\t\t\tswiper.pagination.render();\r\n\t\t\t\t\tswiper.pagination.update();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tdestroy: function destroy(swiper) {\r\n\t\t\t\tswiper.pagination.destroy();\r\n\t\t\t},\r\n\t\t\tclick: function click(swiper, e) {\r\n\t\t\t\tif (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$el.length > 0 && !$(e.target).hasClass(swiper.params.pagination.bulletClass)) {\r\n\t\t\t\t\tvar isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);\r\n\r\n\t\t\t\t\tif (isHidden === true) {\r\n\t\t\t\t\t\tswiper.emit('paginationShow');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tswiper.emit('paginationHide');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tswiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Scrollbar = {\r\n\t\tsetTranslate: function setTranslate() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\r\n\t\t\tvar scrollbar = swiper.scrollbar,\r\n\t\t\t\trtl = swiper.rtlTranslate,\r\n\t\t\t\tprogress = swiper.progress;\r\n\t\t\tvar dragSize = scrollbar.dragSize,\r\n\t\t\t\ttrackSize = scrollbar.trackSize,\r\n\t\t\t\t$dragEl = scrollbar.$dragEl,\r\n\t\t\t\t$el = scrollbar.$el;\r\n\t\t\tvar params = swiper.params.scrollbar;\r\n\t\t\tvar newSize = dragSize;\r\n\t\t\tvar newPos = (trackSize - dragSize) * progress;\r\n\r\n\t\t\tif (rtl) {\r\n\t\t\t\tnewPos = -newPos;\r\n\r\n\t\t\t\tif (newPos > 0) {\r\n\t\t\t\t\tnewSize = dragSize - newPos;\r\n\t\t\t\t\tnewPos = 0;\r\n\t\t\t\t} else if (-newPos + dragSize > trackSize) {\r\n\t\t\t\t\tnewSize = trackSize + newPos;\r\n\t\t\t\t}\r\n\t\t\t} else if (newPos < 0) {\r\n\t\t\t\tnewSize = dragSize + newPos;\r\n\t\t\t\tnewPos = 0;\r\n\t\t\t} else if (newPos + dragSize > trackSize) {\r\n\t\t\t\tnewSize = trackSize - newPos;\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.isHorizontal()) {\r\n\t\t\t\t$dragEl.transform(\"translate3d(\" + newPos + \"px, 0, 0)\");\r\n\t\t\t\t$dragEl[0].style.width = newSize + \"px\";\r\n\t\t\t} else {\r\n\t\t\t\t$dragEl.transform(\"translate3d(0px, \" + newPos + \"px, 0)\");\r\n\t\t\t\t$dragEl[0].style.height = newSize + \"px\";\r\n\t\t\t}\r\n\r\n\t\t\tif (params.hide) {\r\n\t\t\t\tclearTimeout(swiper.scrollbar.timeout);\r\n\t\t\t\t$el[0].style.opacity = 1;\r\n\t\t\t\tswiper.scrollbar.timeout = setTimeout(function () {\r\n\t\t\t\t\t$el[0].style.opacity = 0;\r\n\t\t\t\t\t$el.transition(400);\r\n\t\t\t\t}, 1000);\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetTransition: function setTransition(duration) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\r\n\t\t\tswiper.scrollbar.$dragEl.transition(duration);\r\n\t\t},\r\n\t\tupdateSize: function updateSize() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\r\n\t\t\tvar scrollbar = swiper.scrollbar;\r\n\t\t\tvar $dragEl = scrollbar.$dragEl,\r\n\t\t\t\t$el = scrollbar.$el;\r\n\t\t\t$dragEl[0].style.width = '';\r\n\t\t\t$dragEl[0].style.height = '';\r\n\t\t\tvar trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\r\n\t\t\tvar divider = swiper.size / swiper.virtualSize;\r\n\t\t\tvar moveDivider = divider * (trackSize / swiper.size);\r\n\t\t\tvar dragSize;\r\n\r\n\t\t\tif (swiper.params.scrollbar.dragSize === 'auto') {\r\n\t\t\t\tdragSize = trackSize * divider;\r\n\t\t\t} else {\r\n\t\t\t\tdragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.isHorizontal()) {\r\n\t\t\t\t$dragEl[0].style.width = dragSize + \"px\";\r\n\t\t\t} else {\r\n\t\t\t\t$dragEl[0].style.height = dragSize + \"px\";\r\n\t\t\t}\r\n\r\n\t\t\tif (divider >= 1) {\r\n\t\t\t\t$el[0].style.display = 'none';\r\n\t\t\t} else {\r\n\t\t\t\t$el[0].style.display = '';\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.params.scrollbar.hide) {\r\n\t\t\t\t$el[0].style.opacity = 0;\r\n\t\t\t}\r\n\r\n\t\t\textend$1(scrollbar, {\r\n\t\t\t\ttrackSize: trackSize,\r\n\t\t\t\tdivider: divider,\r\n\t\t\t\tmoveDivider: moveDivider,\r\n\t\t\t\tdragSize: dragSize\r\n\t\t\t});\r\n\t\t\tscrollbar.$el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);\r\n\t\t},\r\n\t\tgetPointerPosition: function getPointerPosition(e) {\r\n\t\t\tvar swiper = this;\r\n\r\n\t\t\tif (swiper.isHorizontal()) {\r\n\t\t\t\treturn e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX;\r\n\t\t\t}\r\n\r\n\t\t\treturn e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY;\r\n\t\t},\r\n\t\tsetDragPosition: function setDragPosition(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar scrollbar = swiper.scrollbar,\r\n\t\t\t\trtl = swiper.rtlTranslate;\r\n\t\t\tvar $el = scrollbar.$el,\r\n\t\t\t\tdragSize = scrollbar.dragSize,\r\n\t\t\t\ttrackSize = scrollbar.trackSize,\r\n\t\t\t\tdragStartPos = scrollbar.dragStartPos;\r\n\t\t\tvar positionRatio;\r\n\t\t\tpositionRatio = (scrollbar.getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\r\n\t\t\tpositionRatio = Math.max(Math.min(positionRatio, 1), 0);\r\n\r\n\t\t\tif (rtl) {\r\n\t\t\t\tpositionRatio = 1 - positionRatio;\r\n\t\t\t}\r\n\r\n\t\t\tvar position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\r\n\t\t\tswiper.updateProgress(position);\r\n\t\t\tswiper.setTranslate(position);\r\n\t\t\tswiper.updateActiveIndex();\r\n\t\t\tswiper.updateSlidesClasses();\r\n\t\t},\r\n\t\tonDragStart: function onDragStart(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params.scrollbar;\r\n\t\t\tvar scrollbar = swiper.scrollbar,\r\n\t\t\t\t$wrapperEl = swiper.$wrapperEl;\r\n\t\t\tvar $el = scrollbar.$el,\r\n\t\t\t\t$dragEl = scrollbar.$dragEl;\r\n\t\t\tswiper.scrollbar.isTouched = true;\r\n\t\t\tswiper.scrollbar.dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? scrollbar.getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\r\n\t\t\te.preventDefault();\r\n\t\t\te.stopPropagation();\r\n\t\t\t$wrapperEl.transition(100);\r\n\t\t\t$dragEl.transition(100);\r\n\t\t\tscrollbar.setDragPosition(e);\r\n\t\t\tclearTimeout(swiper.scrollbar.dragTimeout);\r\n\t\t\t$el.transition(0);\r\n\r\n\t\t\tif (params.hide) {\r\n\t\t\t\t$el.css('opacity', 1);\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.params.cssMode) {\r\n\t\t\t\tswiper.$wrapperEl.css('scroll-snap-type', 'none');\r\n\t\t\t}\r\n\r\n\t\t\tswiper.emit('scrollbarDragStart', e);\r\n\t\t},\r\n\t\tonDragMove: function onDragMove(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar scrollbar = swiper.scrollbar,\r\n\t\t\t\t$wrapperEl = swiper.$wrapperEl;\r\n\t\t\tvar $el = scrollbar.$el,\r\n\t\t\t\t$dragEl = scrollbar.$dragEl;\r\n\t\t\tif (!swiper.scrollbar.isTouched) return;\r\n\t\t\tif (e.preventDefault) e.preventDefault();else e.returnValue = false;\r\n\t\t\tscrollbar.setDragPosition(e);\r\n\t\t\t$wrapperEl.transition(0);\r\n\t\t\t$el.transition(0);\r\n\t\t\t$dragEl.transition(0);\r\n\t\t\tswiper.emit('scrollbarDragMove', e);\r\n\t\t},\r\n\t\tonDragEnd: function onDragEnd(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params.scrollbar;\r\n\t\t\tvar scrollbar = swiper.scrollbar,\r\n\t\t\t\t$wrapperEl = swiper.$wrapperEl;\r\n\t\t\tvar $el = scrollbar.$el;\r\n\t\t\tif (!swiper.scrollbar.isTouched) return;\r\n\t\t\tswiper.scrollbar.isTouched = false;\r\n\r\n\t\t\tif (swiper.params.cssMode) {\r\n\t\t\t\tswiper.$wrapperEl.css('scroll-snap-type', '');\r\n\t\t\t\t$wrapperEl.transition('');\r\n\t\t\t}\r\n\r\n\t\t\tif (params.hide) {\r\n\t\t\t\tclearTimeout(swiper.scrollbar.dragTimeout);\r\n\t\t\t\tswiper.scrollbar.dragTimeout = nextTick(function () {\r\n\t\t\t\t\t$el.css('opacity', 0);\r\n\t\t\t\t\t$el.transition(400);\r\n\t\t\t\t}, 1000);\r\n\t\t\t}\r\n\r\n\t\t\tswiper.emit('scrollbarDragEnd', e);\r\n\r\n\t\t\tif (params.snapOnRelease) {\r\n\t\t\t\tswiper.slideToClosest();\r\n\t\t\t}\r\n\t\t},\r\n\t\tenableDraggable: function enableDraggable() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (!swiper.params.scrollbar.el) return;\r\n\t\t\tvar document = getDocument();\r\n\t\t\tvar scrollbar = swiper.scrollbar,\r\n\t\t\t\ttouchEventsTouch = swiper.touchEventsTouch,\r\n\t\t\t\ttouchEventsDesktop = swiper.touchEventsDesktop,\r\n\t\t\t\tparams = swiper.params,\r\n\t\t\t\tsupport = swiper.support;\r\n\t\t\tvar $el = scrollbar.$el;\r\n\t\t\tvar target = $el[0];\r\n\t\t\tvar activeListener = support.passiveListener && params.passiveListeners ? {\r\n\t\t\t\tpassive: false,\r\n\t\t\t\tcapture: false\r\n\t\t\t} : false;\r\n\t\t\tvar passiveListener = support.passiveListener && params.passiveListeners ? {\r\n\t\t\t\tpassive: true,\r\n\t\t\t\tcapture: false\r\n\t\t\t} : false;\r\n\r\n\t\t\tif (!support.touch) {\r\n\t\t\t\ttarget.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\r\n\t\t\t\tdocument.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\r\n\t\t\t\tdocument.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\r\n\t\t\t} else {\r\n\t\t\t\ttarget.addEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\r\n\t\t\t\ttarget.addEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\r\n\t\t\t\ttarget.addEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\r\n\t\t\t}\r\n\t\t},\r\n\t\tdisableDraggable: function disableDraggable() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (!swiper.params.scrollbar.el) return;\r\n\t\t\tvar document = getDocument();\r\n\t\t\tvar scrollbar = swiper.scrollbar,\r\n\t\t\t\ttouchEventsTouch = swiper.touchEventsTouch,\r\n\t\t\t\ttouchEventsDesktop = swiper.touchEventsDesktop,\r\n\t\t\t\tparams = swiper.params,\r\n\t\t\t\tsupport = swiper.support;\r\n\t\t\tvar $el = scrollbar.$el;\r\n\t\t\tvar target = $el[0];\r\n\t\t\tvar activeListener = support.passiveListener && params.passiveListeners ? {\r\n\t\t\t\tpassive: false,\r\n\t\t\t\tcapture: false\r\n\t\t\t} : false;\r\n\t\t\tvar passiveListener = support.passiveListener && params.passiveListeners ? {\r\n\t\t\t\tpassive: true,\r\n\t\t\t\tcapture: false\r\n\t\t\t} : false;\r\n\r\n\t\t\tif (!support.touch) {\r\n\t\t\t\ttarget.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\r\n\t\t\t\tdocument.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\r\n\t\t\t\tdocument.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\r\n\t\t\t} else {\r\n\t\t\t\ttarget.removeEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\r\n\t\t\t\ttarget.removeEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\r\n\t\t\t\ttarget.removeEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\r\n\t\t\t}\r\n\t\t},\r\n\t\tinit: function init() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (!swiper.params.scrollbar.el) return;\r\n\t\t\tvar scrollbar = swiper.scrollbar,\r\n\t\t\t\t$swiperEl = swiper.$el;\r\n\t\t\tvar params = swiper.params.scrollbar;\r\n\t\t\tvar $el = $(params.el);\r\n\r\n\t\t\tif (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {\r\n\t\t\t\t$el = $swiperEl.find(params.el);\r\n\t\t\t}\r\n\r\n\t\t\tvar $dragEl = $el.find(\".\" + swiper.params.scrollbar.dragClass);\r\n\r\n\t\t\tif ($dragEl.length === 0) {\r\n\t\t\t\t$dragEl = $(\"
\");\r\n\t\t\t\t$el.append($dragEl);\r\n\t\t\t}\r\n\r\n\t\t\textend$1(scrollbar, {\r\n\t\t\t\t$el: $el,\r\n\t\t\t\tel: $el[0],\r\n\t\t\t\t$dragEl: $dragEl,\r\n\t\t\t\tdragEl: $dragEl[0]\r\n\t\t\t});\r\n\r\n\t\t\tif (params.draggable) {\r\n\t\t\t\tscrollbar.enableDraggable();\r\n\t\t\t}\r\n\t\t},\r\n\t\tdestroy: function destroy() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tswiper.scrollbar.disableDraggable();\r\n\t\t}\r\n\t};\r\n\tvar Scrollbar$1 = {\r\n\t\tname: 'scrollbar',\r\n\t\tparams: {\r\n\t\t\tscrollbar: {\r\n\t\t\t\tel: null,\r\n\t\t\t\tdragSize: 'auto',\r\n\t\t\t\thide: false,\r\n\t\t\t\tdraggable: false,\r\n\t\t\t\tsnapOnRelease: true,\r\n\t\t\t\tlockClass: 'swiper-scrollbar-lock',\r\n\t\t\t\tdragClass: 'swiper-scrollbar-drag'\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tscrollbar: _extends({\r\n\t\t\t\t\tisTouched: false,\r\n\t\t\t\t\ttimeout: null,\r\n\t\t\t\t\tdragTimeout: null\r\n\t\t\t\t}, Scrollbar)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tswiper.scrollbar.init();\r\n\t\t\t\tswiper.scrollbar.updateSize();\r\n\t\t\t\tswiper.scrollbar.setTranslate();\r\n\t\t\t},\r\n\t\t\tupdate: function update(swiper) {\r\n\t\t\t\tswiper.scrollbar.updateSize();\r\n\t\t\t},\r\n\t\t\tresize: function resize(swiper) {\r\n\t\t\t\tswiper.scrollbar.updateSize();\r\n\t\t\t},\r\n\t\t\tobserverUpdate: function observerUpdate(swiper) {\r\n\t\t\t\tswiper.scrollbar.updateSize();\r\n\t\t\t},\r\n\t\t\tsetTranslate: function setTranslate(swiper) {\r\n\t\t\t\tswiper.scrollbar.setTranslate();\r\n\t\t\t},\r\n\t\t\tsetTransition: function setTransition(swiper, duration) {\r\n\t\t\t\tswiper.scrollbar.setTransition(duration);\r\n\t\t\t},\r\n\t\t\tdestroy: function destroy(swiper) {\r\n\t\t\t\tswiper.scrollbar.destroy();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Parallax = {\r\n\t\tsetTransform: function setTransform(el, progress) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar rtl = swiper.rtl;\r\n\t\t\tvar $el = $(el);\r\n\t\t\tvar rtlFactor = rtl ? -1 : 1;\r\n\t\t\tvar p = $el.attr('data-swiper-parallax') || '0';\r\n\t\t\tvar x = $el.attr('data-swiper-parallax-x');\r\n\t\t\tvar y = $el.attr('data-swiper-parallax-y');\r\n\t\t\tvar scale = $el.attr('data-swiper-parallax-scale');\r\n\t\t\tvar opacity = $el.attr('data-swiper-parallax-opacity');\r\n\r\n\t\t\tif (x || y) {\r\n\t\t\t\tx = x || '0';\r\n\t\t\t\ty = y || '0';\r\n\t\t\t} else if (swiper.isHorizontal()) {\r\n\t\t\t\tx = p;\r\n\t\t\t\ty = '0';\r\n\t\t\t} else {\r\n\t\t\t\ty = p;\r\n\t\t\t\tx = '0';\r\n\t\t\t}\r\n\r\n\t\t\tif (x.indexOf('%') >= 0) {\r\n\t\t\t\tx = parseInt(x, 10) * progress * rtlFactor + \"%\";\r\n\t\t\t} else {\r\n\t\t\t\tx = x * progress * rtlFactor + \"px\";\r\n\t\t\t}\r\n\r\n\t\t\tif (y.indexOf('%') >= 0) {\r\n\t\t\t\ty = parseInt(y, 10) * progress + \"%\";\r\n\t\t\t} else {\r\n\t\t\t\ty = y * progress + \"px\";\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof opacity !== 'undefined' && opacity !== null) {\r\n\t\t\t\tvar currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\r\n\t\t\t\t$el[0].style.opacity = currentOpacity;\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof scale === 'undefined' || scale === null) {\r\n\t\t\t\t$el.transform(\"translate3d(\" + x + \", \" + y + \", 0px)\");\r\n\t\t\t} else {\r\n\t\t\t\tvar currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\r\n\t\t\t\t$el.transform(\"translate3d(\" + x + \", \" + y + \", 0px) scale(\" + currentScale + \")\");\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetTranslate: function setTranslate() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar $el = swiper.$el,\r\n\t\t\t\tslides = swiper.slides,\r\n\t\t\t\tprogress = swiper.progress,\r\n\t\t\t\tsnapGrid = swiper.snapGrid;\r\n\t\t\t$el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {\r\n\t\t\t\tswiper.parallax.setTransform(el, progress);\r\n\t\t\t});\r\n\t\t\tslides.each(function (slideEl, slideIndex) {\r\n\t\t\t\tvar slideProgress = slideEl.progress;\r\n\r\n\t\t\t\tif (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\r\n\t\t\t\t\tslideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tslideProgress = Math.min(Math.max(slideProgress, -1), 1);\r\n\t\t\t\t$(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {\r\n\t\t\t\t\tswiper.parallax.setTransform(el, slideProgress);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t},\r\n\t\tsetTransition: function setTransition(duration) {\r\n\t\t\tif (duration === void 0) {\r\n\t\t\t\tduration = this.params.speed;\r\n\t\t\t}\r\n\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar $el = swiper.$el;\r\n\t\t\t$el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (parallaxEl) {\r\n\t\t\t\tvar $parallaxEl = $(parallaxEl);\r\n\t\t\t\tvar parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;\r\n\t\t\t\tif (duration === 0) parallaxDuration = 0;\r\n\t\t\t\t$parallaxEl.transition(parallaxDuration);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\tvar Parallax$1 = {\r\n\t\tname: 'parallax',\r\n\t\tparams: {\r\n\t\t\tparallax: {\r\n\t\t\t\tenabled: false\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tparallax: _extends({}, Parallax)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tbeforeInit: function beforeInit(swiper) {\r\n\t\t\t\tif (!swiper.params.parallax.enabled) return;\r\n\t\t\t\tswiper.params.watchSlidesProgress = true;\r\n\t\t\t\tswiper.originalParams.watchSlidesProgress = true;\r\n\t\t\t},\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tif (!swiper.params.parallax.enabled) return;\r\n\t\t\t\tswiper.parallax.setTranslate();\r\n\t\t\t},\r\n\t\t\tsetTranslate: function setTranslate(swiper) {\r\n\t\t\t\tif (!swiper.params.parallax.enabled) return;\r\n\t\t\t\tswiper.parallax.setTranslate();\r\n\t\t\t},\r\n\t\t\tsetTransition: function setTransition(swiper, duration) {\r\n\t\t\t\tif (!swiper.params.parallax.enabled) return;\r\n\t\t\t\tswiper.parallax.setTransition(duration);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Zoom = {\r\n\t\t// Calc Scale From Multi-touches\r\n\t\tgetDistanceBetweenTouches: function getDistanceBetweenTouches(e) {\r\n\t\t\tif (e.targetTouches.length < 2) return 1;\r\n\t\t\tvar x1 = e.targetTouches[0].pageX;\r\n\t\t\tvar y1 = e.targetTouches[0].pageY;\r\n\t\t\tvar x2 = e.targetTouches[1].pageX;\r\n\t\t\tvar y2 = e.targetTouches[1].pageY;\r\n\t\t\tvar distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));\r\n\t\t\treturn distance;\r\n\t\t},\r\n\t\t// Events\r\n\t\tonGestureStart: function onGestureStart(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar support = swiper.support;\r\n\t\t\tvar params = swiper.params.zoom;\r\n\t\t\tvar zoom = swiper.zoom;\r\n\t\t\tvar gesture = zoom.gesture;\r\n\t\t\tzoom.fakeGestureTouched = false;\r\n\t\t\tzoom.fakeGestureMoved = false;\r\n\r\n\t\t\tif (!support.gestures) {\r\n\t\t\t\tif (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tzoom.fakeGestureTouched = true;\r\n\t\t\t\tgesture.scaleStart = Zoom.getDistanceBetweenTouches(e);\r\n\t\t\t}\r\n\r\n\t\t\tif (!gesture.$slideEl || !gesture.$slideEl.length) {\r\n\t\t\t\tgesture.$slideEl = $(e.target).closest(\".\" + swiper.params.slideClass);\r\n\t\t\t\tif (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\r\n\t\t\t\tgesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');\r\n\t\t\t\tgesture.$imageWrapEl = gesture.$imageEl.parent(\".\" + params.containerClass);\r\n\t\t\t\tgesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\r\n\r\n\t\t\t\tif (gesture.$imageWrapEl.length === 0) {\r\n\t\t\t\t\tgesture.$imageEl = undefined;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (gesture.$imageEl) {\r\n\t\t\t\tgesture.$imageEl.transition(0);\r\n\t\t\t}\r\n\r\n\t\t\tswiper.zoom.isScaling = true;\r\n\t\t},\r\n\t\tonGestureChange: function onGestureChange(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar support = swiper.support;\r\n\t\t\tvar params = swiper.params.zoom;\r\n\t\t\tvar zoom = swiper.zoom;\r\n\t\t\tvar gesture = zoom.gesture;\r\n\r\n\t\t\tif (!support.gestures) {\r\n\t\t\t\tif (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tzoom.fakeGestureMoved = true;\r\n\t\t\t\tgesture.scaleMove = Zoom.getDistanceBetweenTouches(e);\r\n\t\t\t}\r\n\r\n\t\t\tif (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n\t\t\t\tif (e.type === 'gesturechange') zoom.onGestureStart(e);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (support.gestures) {\r\n\t\t\t\tzoom.scale = e.scale * zoom.currentScale;\r\n\t\t\t} else {\r\n\t\t\t\tzoom.scale = gesture.scaleMove / gesture.scaleStart * zoom.currentScale;\r\n\t\t\t}\r\n\r\n\t\t\tif (zoom.scale > gesture.maxRatio) {\r\n\t\t\t\tzoom.scale = gesture.maxRatio - 1 + Math.pow(zoom.scale - gesture.maxRatio + 1, 0.5);\r\n\t\t\t}\r\n\r\n\t\t\tif (zoom.scale < params.minRatio) {\r\n\t\t\t\tzoom.scale = params.minRatio + 1 - Math.pow(params.minRatio - zoom.scale + 1, 0.5);\r\n\t\t\t}\r\n\r\n\t\t\tgesture.$imageEl.transform(\"translate3d(0,0,0) scale(\" + zoom.scale + \")\");\r\n\t\t},\r\n\t\tonGestureEnd: function onGestureEnd(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar device = swiper.device;\r\n\t\t\tvar support = swiper.support;\r\n\t\t\tvar params = swiper.params.zoom;\r\n\t\t\tvar zoom = swiper.zoom;\r\n\t\t\tvar gesture = zoom.gesture;\r\n\r\n\t\t\tif (!support.gestures) {\r\n\t\t\t\tif (!zoom.fakeGestureTouched || !zoom.fakeGestureMoved) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2 && !device.android) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tzoom.fakeGestureTouched = false;\r\n\t\t\t\tzoom.fakeGestureMoved = false;\r\n\t\t\t}\r\n\r\n\t\t\tif (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\r\n\t\t\tzoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\r\n\t\t\tgesture.$imageEl.transition(swiper.params.speed).transform(\"translate3d(0,0,0) scale(\" + zoom.scale + \")\");\r\n\t\t\tzoom.currentScale = zoom.scale;\r\n\t\t\tzoom.isScaling = false;\r\n\t\t\tif (zoom.scale === 1) gesture.$slideEl = undefined;\r\n\t\t},\r\n\t\tonTouchStart: function onTouchStart(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar device = swiper.device;\r\n\t\t\tvar zoom = swiper.zoom;\r\n\t\t\tvar gesture = zoom.gesture,\r\n\t\t\t\timage = zoom.image;\r\n\t\t\tif (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\r\n\t\t\tif (image.isTouched) return;\r\n\t\t\tif (device.android && e.cancelable) e.preventDefault();\r\n\t\t\timage.isTouched = true;\r\n\t\t\timage.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\r\n\t\t\timage.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\r\n\t\t},\r\n\t\tonTouchMove: function onTouchMove(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar zoom = swiper.zoom;\r\n\t\t\tvar gesture = zoom.gesture,\r\n\t\t\t\timage = zoom.image,\r\n\t\t\t\tvelocity = zoom.velocity;\r\n\t\t\tif (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\r\n\t\t\tswiper.allowClick = false;\r\n\t\t\tif (!image.isTouched || !gesture.$slideEl) return;\r\n\r\n\t\t\tif (!image.isMoved) {\r\n\t\t\t\timage.width = gesture.$imageEl[0].offsetWidth;\r\n\t\t\t\timage.height = gesture.$imageEl[0].offsetHeight;\r\n\t\t\t\timage.startX = getTranslate(gesture.$imageWrapEl[0], 'x') || 0;\r\n\t\t\t\timage.startY = getTranslate(gesture.$imageWrapEl[0], 'y') || 0;\r\n\t\t\t\tgesture.slideWidth = gesture.$slideEl[0].offsetWidth;\r\n\t\t\t\tgesture.slideHeight = gesture.$slideEl[0].offsetHeight;\r\n\t\t\t\tgesture.$imageWrapEl.transition(0);\r\n\r\n\t\t\t\tif (swiper.rtl) {\r\n\t\t\t\t\timage.startX = -image.startX;\r\n\t\t\t\t\timage.startY = -image.startY;\r\n\t\t\t\t}\r\n\t\t\t} // Define if we need image drag\r\n\r\n\r\n\t\t\tvar scaledWidth = image.width * zoom.scale;\r\n\t\t\tvar scaledHeight = image.height * zoom.scale;\r\n\t\t\tif (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;\r\n\t\t\timage.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\r\n\t\t\timage.maxX = -image.minX;\r\n\t\t\timage.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\r\n\t\t\timage.maxY = -image.minY;\r\n\t\t\timage.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\r\n\t\t\timage.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\r\n\r\n\t\t\tif (!image.isMoved && !zoom.isScaling) {\r\n\t\t\t\tif (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {\r\n\t\t\t\t\timage.isTouched = false;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {\r\n\t\t\t\t\timage.isTouched = false;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (e.cancelable) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t}\r\n\r\n\t\t\te.stopPropagation();\r\n\t\t\timage.isMoved = true;\r\n\t\t\timage.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;\r\n\t\t\timage.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;\r\n\r\n\t\t\tif (image.currentX < image.minX) {\r\n\t\t\t\timage.currentX = image.minX + 1 - Math.pow(image.minX - image.currentX + 1, 0.8);\r\n\t\t\t}\r\n\r\n\t\t\tif (image.currentX > image.maxX) {\r\n\t\t\t\timage.currentX = image.maxX - 1 + Math.pow(image.currentX - image.maxX + 1, 0.8);\r\n\t\t\t}\r\n\r\n\t\t\tif (image.currentY < image.minY) {\r\n\t\t\t\timage.currentY = image.minY + 1 - Math.pow(image.minY - image.currentY + 1, 0.8);\r\n\t\t\t}\r\n\r\n\t\t\tif (image.currentY > image.maxY) {\r\n\t\t\t\timage.currentY = image.maxY - 1 + Math.pow(image.currentY - image.maxY + 1, 0.8);\r\n\t\t\t} // Velocity\r\n\r\n\r\n\t\t\tif (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\r\n\t\t\tif (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\r\n\t\t\tif (!velocity.prevTime) velocity.prevTime = Date.now();\r\n\t\t\tvelocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\r\n\t\t\tvelocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\r\n\t\t\tif (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\r\n\t\t\tif (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\r\n\t\t\tvelocity.prevPositionX = image.touchesCurrent.x;\r\n\t\t\tvelocity.prevPositionY = image.touchesCurrent.y;\r\n\t\t\tvelocity.prevTime = Date.now();\r\n\t\t\tgesture.$imageWrapEl.transform(\"translate3d(\" + image.currentX + \"px, \" + image.currentY + \"px,0)\");\r\n\t\t},\r\n\t\tonTouchEnd: function onTouchEnd() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar zoom = swiper.zoom;\r\n\t\t\tvar gesture = zoom.gesture,\r\n\t\t\t\timage = zoom.image,\r\n\t\t\t\tvelocity = zoom.velocity;\r\n\t\t\tif (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\r\n\r\n\t\t\tif (!image.isTouched || !image.isMoved) {\r\n\t\t\t\timage.isTouched = false;\r\n\t\t\t\timage.isMoved = false;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\timage.isTouched = false;\r\n\t\t\timage.isMoved = false;\r\n\t\t\tvar momentumDurationX = 300;\r\n\t\t\tvar momentumDurationY = 300;\r\n\t\t\tvar momentumDistanceX = velocity.x * momentumDurationX;\r\n\t\t\tvar newPositionX = image.currentX + momentumDistanceX;\r\n\t\t\tvar momentumDistanceY = velocity.y * momentumDurationY;\r\n\t\t\tvar newPositionY = image.currentY + momentumDistanceY; // Fix duration\r\n\r\n\t\t\tif (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\r\n\t\t\tif (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\r\n\t\t\tvar momentumDuration = Math.max(momentumDurationX, momentumDurationY);\r\n\t\t\timage.currentX = newPositionX;\r\n\t\t\timage.currentY = newPositionY; // Define if we need image drag\r\n\r\n\t\t\tvar scaledWidth = image.width * zoom.scale;\r\n\t\t\tvar scaledHeight = image.height * zoom.scale;\r\n\t\t\timage.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\r\n\t\t\timage.maxX = -image.minX;\r\n\t\t\timage.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\r\n\t\t\timage.maxY = -image.minY;\r\n\t\t\timage.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\r\n\t\t\timage.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\r\n\t\t\tgesture.$imageWrapEl.transition(momentumDuration).transform(\"translate3d(\" + image.currentX + \"px, \" + image.currentY + \"px,0)\");\r\n\t\t},\r\n\t\tonTransitionEnd: function onTransitionEnd() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar zoom = swiper.zoom;\r\n\t\t\tvar gesture = zoom.gesture;\r\n\r\n\t\t\tif (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {\r\n\t\t\t\tif (gesture.$imageEl) {\r\n\t\t\t\t\tgesture.$imageEl.transform('translate3d(0,0,0) scale(1)');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (gesture.$imageWrapEl) {\r\n\t\t\t\t\tgesture.$imageWrapEl.transform('translate3d(0,0,0)');\r\n\t\t\t\t}\r\n\r\n\t\t\t\tzoom.scale = 1;\r\n\t\t\t\tzoom.currentScale = 1;\r\n\t\t\t\tgesture.$slideEl = undefined;\r\n\t\t\t\tgesture.$imageEl = undefined;\r\n\t\t\t\tgesture.$imageWrapEl = undefined;\r\n\t\t\t}\r\n\t\t},\r\n\t\t// Toggle Zoom\r\n\t\ttoggle: function toggle(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar zoom = swiper.zoom;\r\n\r\n\t\t\tif (zoom.scale && zoom.scale !== 1) {\r\n\t\t\t\t// Zoom Out\r\n\t\t\t\tzoom.out();\r\n\t\t\t} else {\r\n\t\t\t\t// Zoom In\r\n\t\t\t\tzoom.in(e);\r\n\t\t\t}\r\n\t\t},\r\n\t\tin: function _in(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar zoom = swiper.zoom;\r\n\t\t\tvar params = swiper.params.zoom;\r\n\t\t\tvar gesture = zoom.gesture,\r\n\t\t\t\timage = zoom.image;\r\n\r\n\t\t\tif (!gesture.$slideEl) {\r\n\t\t\t\tif (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\r\n\t\t\t\t\tgesture.$slideEl = swiper.$wrapperEl.children(\".\" + swiper.params.slideActiveClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tgesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tgesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');\r\n\t\t\t\tgesture.$imageWrapEl = gesture.$imageEl.parent(\".\" + params.containerClass);\r\n\t\t\t}\r\n\r\n\t\t\tif (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\r\n\t\t\tgesture.$slideEl.addClass(\"\" + params.zoomedSlideClass);\r\n\t\t\tvar touchX;\r\n\t\t\tvar touchY;\r\n\t\t\tvar offsetX;\r\n\t\t\tvar offsetY;\r\n\t\t\tvar diffX;\r\n\t\t\tvar diffY;\r\n\t\t\tvar translateX;\r\n\t\t\tvar translateY;\r\n\t\t\tvar imageWidth;\r\n\t\t\tvar imageHeight;\r\n\t\t\tvar scaledWidth;\r\n\t\t\tvar scaledHeight;\r\n\t\t\tvar translateMinX;\r\n\t\t\tvar translateMinY;\r\n\t\t\tvar translateMaxX;\r\n\t\t\tvar translateMaxY;\r\n\t\t\tvar slideWidth;\r\n\t\t\tvar slideHeight;\r\n\r\n\t\t\tif (typeof image.touchesStart.x === 'undefined' && e) {\r\n\t\t\t\ttouchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;\r\n\t\t\t\ttouchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;\r\n\t\t\t} else {\r\n\t\t\t\ttouchX = image.touchesStart.x;\r\n\t\t\t\ttouchY = image.touchesStart.y;\r\n\t\t\t}\r\n\r\n\t\t\tzoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\r\n\t\t\tzoom.currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\r\n\r\n\t\t\tif (e) {\r\n\t\t\t\tslideWidth = gesture.$slideEl[0].offsetWidth;\r\n\t\t\t\tslideHeight = gesture.$slideEl[0].offsetHeight;\r\n\t\t\t\toffsetX = gesture.$slideEl.offset().left;\r\n\t\t\t\toffsetY = gesture.$slideEl.offset().top;\r\n\t\t\t\tdiffX = offsetX + slideWidth / 2 - touchX;\r\n\t\t\t\tdiffY = offsetY + slideHeight / 2 - touchY;\r\n\t\t\t\timageWidth = gesture.$imageEl[0].offsetWidth;\r\n\t\t\t\timageHeight = gesture.$imageEl[0].offsetHeight;\r\n\t\t\t\tscaledWidth = imageWidth * zoom.scale;\r\n\t\t\t\tscaledHeight = imageHeight * zoom.scale;\r\n\t\t\t\ttranslateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\r\n\t\t\t\ttranslateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\r\n\t\t\t\ttranslateMaxX = -translateMinX;\r\n\t\t\t\ttranslateMaxY = -translateMinY;\r\n\t\t\t\ttranslateX = diffX * zoom.scale;\r\n\t\t\t\ttranslateY = diffY * zoom.scale;\r\n\r\n\t\t\t\tif (translateX < translateMinX) {\r\n\t\t\t\t\ttranslateX = translateMinX;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (translateX > translateMaxX) {\r\n\t\t\t\t\ttranslateX = translateMaxX;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (translateY < translateMinY) {\r\n\t\t\t\t\ttranslateY = translateMinY;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (translateY > translateMaxY) {\r\n\t\t\t\t\ttranslateY = translateMaxY;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\ttranslateX = 0;\r\n\t\t\t\ttranslateY = 0;\r\n\t\t\t}\r\n\r\n\t\t\tgesture.$imageWrapEl.transition(300).transform(\"translate3d(\" + translateX + \"px, \" + translateY + \"px,0)\");\r\n\t\t\tgesture.$imageEl.transition(300).transform(\"translate3d(0,0,0) scale(\" + zoom.scale + \")\");\r\n\t\t},\r\n\t\tout: function out() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar zoom = swiper.zoom;\r\n\t\t\tvar params = swiper.params.zoom;\r\n\t\t\tvar gesture = zoom.gesture;\r\n\r\n\t\t\tif (!gesture.$slideEl) {\r\n\t\t\t\tif (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\r\n\t\t\t\t\tgesture.$slideEl = swiper.$wrapperEl.children(\".\" + swiper.params.slideActiveClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tgesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tgesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');\r\n\t\t\t\tgesture.$imageWrapEl = gesture.$imageEl.parent(\".\" + params.containerClass);\r\n\t\t\t}\r\n\r\n\t\t\tif (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\r\n\t\t\tzoom.scale = 1;\r\n\t\t\tzoom.currentScale = 1;\r\n\t\t\tgesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');\r\n\t\t\tgesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');\r\n\t\t\tgesture.$slideEl.removeClass(\"\" + params.zoomedSlideClass);\r\n\t\t\tgesture.$slideEl = undefined;\r\n\t\t},\r\n\t\ttoggleGestures: function toggleGestures(method) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar zoom = swiper.zoom;\r\n\t\t\tvar selector = zoom.slideSelector,\r\n\t\t\t\tpassive = zoom.passiveListener;\r\n\t\t\tswiper.$wrapperEl[method]('gesturestart', selector, zoom.onGestureStart, passive);\r\n\t\t\tswiper.$wrapperEl[method]('gesturechange', selector, zoom.onGestureChange, passive);\r\n\t\t\tswiper.$wrapperEl[method]('gestureend', selector, zoom.onGestureEnd, passive);\r\n\t\t},\r\n\t\tenableGestures: function enableGestures() {\r\n\t\t\tif (this.zoom.gesturesEnabled) return;\r\n\t\t\tthis.zoom.gesturesEnabled = true;\r\n\t\t\tthis.zoom.toggleGestures('on');\r\n\t\t},\r\n\t\tdisableGestures: function disableGestures() {\r\n\t\t\tif (!this.zoom.gesturesEnabled) return;\r\n\t\t\tthis.zoom.gesturesEnabled = false;\r\n\t\t\tthis.zoom.toggleGestures('off');\r\n\t\t},\r\n\t\t// Attach/Detach Events\r\n\t\tenable: function enable() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar support = swiper.support;\r\n\t\t\tvar zoom = swiper.zoom;\r\n\t\t\tif (zoom.enabled) return;\r\n\t\t\tzoom.enabled = true;\r\n\t\t\tvar passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? {\r\n\t\t\t\tpassive: true,\r\n\t\t\t\tcapture: false\r\n\t\t\t} : false;\r\n\t\t\tvar activeListenerWithCapture = support.passiveListener ? {\r\n\t\t\t\tpassive: false,\r\n\t\t\t\tcapture: true\r\n\t\t\t} : true;\r\n\t\t\tvar slideSelector = \".\" + swiper.params.slideClass;\r\n\t\t\tswiper.zoom.passiveListener = passiveListener;\r\n\t\t\tswiper.zoom.slideSelector = slideSelector; // Scale image\r\n\r\n\t\t\tif (support.gestures) {\r\n\t\t\t\tswiper.$wrapperEl.on(swiper.touchEvents.start, swiper.zoom.enableGestures, passiveListener);\r\n\t\t\t\tswiper.$wrapperEl.on(swiper.touchEvents.end, swiper.zoom.disableGestures, passiveListener);\r\n\t\t\t} else if (swiper.touchEvents.start === 'touchstart') {\r\n\t\t\t\tswiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);\r\n\t\t\t\tswiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);\r\n\t\t\t\tswiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);\r\n\r\n\t\t\t\tif (swiper.touchEvents.cancel) {\r\n\t\t\t\t\tswiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);\r\n\t\t\t\t}\r\n\t\t\t} // Move image\r\n\r\n\r\n\t\t\tswiper.$wrapperEl.on(swiper.touchEvents.move, \".\" + swiper.params.zoom.containerClass, zoom.onTouchMove, activeListenerWithCapture);\r\n\t\t},\r\n\t\tdisable: function disable() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar zoom = swiper.zoom;\r\n\t\t\tif (!zoom.enabled) return;\r\n\t\t\tvar support = swiper.support;\r\n\t\t\tswiper.zoom.enabled = false;\r\n\t\t\tvar passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? {\r\n\t\t\t\tpassive: true,\r\n\t\t\t\tcapture: false\r\n\t\t\t} : false;\r\n\t\t\tvar activeListenerWithCapture = support.passiveListener ? {\r\n\t\t\t\tpassive: false,\r\n\t\t\t\tcapture: true\r\n\t\t\t} : true;\r\n\t\t\tvar slideSelector = \".\" + swiper.params.slideClass; // Scale image\r\n\r\n\t\t\tif (support.gestures) {\r\n\t\t\t\tswiper.$wrapperEl.off(swiper.touchEvents.start, swiper.zoom.enableGestures, passiveListener);\r\n\t\t\t\tswiper.$wrapperEl.off(swiper.touchEvents.end, swiper.zoom.disableGestures, passiveListener);\r\n\t\t\t} else if (swiper.touchEvents.start === 'touchstart') {\r\n\t\t\t\tswiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);\r\n\t\t\t\tswiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);\r\n\t\t\t\tswiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);\r\n\r\n\t\t\t\tif (swiper.touchEvents.cancel) {\r\n\t\t\t\t\tswiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);\r\n\t\t\t\t}\r\n\t\t\t} // Move image\r\n\r\n\r\n\t\t\tswiper.$wrapperEl.off(swiper.touchEvents.move, \".\" + swiper.params.zoom.containerClass, zoom.onTouchMove, activeListenerWithCapture);\r\n\t\t}\r\n\t};\r\n\tvar Zoom$1 = {\r\n\t\tname: 'zoom',\r\n\t\tparams: {\r\n\t\t\tzoom: {\r\n\t\t\t\tenabled: false,\r\n\t\t\t\tmaxRatio: 3,\r\n\t\t\t\tminRatio: 1,\r\n\t\t\t\ttoggle: true,\r\n\t\t\t\tcontainerClass: 'swiper-zoom-container',\r\n\t\t\t\tzoomedSlideClass: 'swiper-slide-zoomed'\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tzoom: _extends({\r\n\t\t\t\t\tenabled: false,\r\n\t\t\t\t\tscale: 1,\r\n\t\t\t\t\tcurrentScale: 1,\r\n\t\t\t\t\tisScaling: false,\r\n\t\t\t\t\tgesture: {\r\n\t\t\t\t\t\t$slideEl: undefined,\r\n\t\t\t\t\t\tslideWidth: undefined,\r\n\t\t\t\t\t\tslideHeight: undefined,\r\n\t\t\t\t\t\t$imageEl: undefined,\r\n\t\t\t\t\t\t$imageWrapEl: undefined,\r\n\t\t\t\t\t\tmaxRatio: 3\r\n\t\t\t\t\t},\r\n\t\t\t\t\timage: {\r\n\t\t\t\t\t\tisTouched: undefined,\r\n\t\t\t\t\t\tisMoved: undefined,\r\n\t\t\t\t\t\tcurrentX: undefined,\r\n\t\t\t\t\t\tcurrentY: undefined,\r\n\t\t\t\t\t\tminX: undefined,\r\n\t\t\t\t\t\tminY: undefined,\r\n\t\t\t\t\t\tmaxX: undefined,\r\n\t\t\t\t\t\tmaxY: undefined,\r\n\t\t\t\t\t\twidth: undefined,\r\n\t\t\t\t\t\theight: undefined,\r\n\t\t\t\t\t\tstartX: undefined,\r\n\t\t\t\t\t\tstartY: undefined,\r\n\t\t\t\t\t\ttouchesStart: {},\r\n\t\t\t\t\t\ttouchesCurrent: {}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tvelocity: {\r\n\t\t\t\t\t\tx: undefined,\r\n\t\t\t\t\t\ty: undefined,\r\n\t\t\t\t\t\tprevPositionX: undefined,\r\n\t\t\t\t\t\tprevPositionY: undefined,\r\n\t\t\t\t\t\tprevTime: undefined\r\n\t\t\t\t\t}\r\n\t\t\t\t}, Zoom)\r\n\t\t\t});\r\n\t\t\tvar scale = 1;\r\n\t\t\tObject.defineProperty(swiper.zoom, 'scale', {\r\n\t\t\t\tget: function get() {\r\n\t\t\t\t\treturn scale;\r\n\t\t\t\t},\r\n\t\t\t\tset: function set(value) {\r\n\t\t\t\t\tif (scale !== value) {\r\n\t\t\t\t\t\tvar imageEl = swiper.zoom.gesture.$imageEl ? swiper.zoom.gesture.$imageEl[0] : undefined;\r\n\t\t\t\t\t\tvar slideEl = swiper.zoom.gesture.$slideEl ? swiper.zoom.gesture.$slideEl[0] : undefined;\r\n\t\t\t\t\t\tswiper.emit('zoomChange', value, imageEl, slideEl);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tscale = value;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tif (swiper.params.zoom.enabled) {\r\n\t\t\t\t\tswiper.zoom.enable();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tdestroy: function destroy(swiper) {\r\n\t\t\t\tswiper.zoom.disable();\r\n\t\t\t},\r\n\t\t\ttouchStart: function touchStart(swiper, e) {\r\n\t\t\t\tif (!swiper.zoom.enabled) return;\r\n\t\t\t\tswiper.zoom.onTouchStart(e);\r\n\t\t\t},\r\n\t\t\ttouchEnd: function touchEnd(swiper, e) {\r\n\t\t\t\tif (!swiper.zoom.enabled) return;\r\n\t\t\t\tswiper.zoom.onTouchEnd(e);\r\n\t\t\t},\r\n\t\t\tdoubleTap: function doubleTap(swiper, e) {\r\n\t\t\t\tif (swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\r\n\t\t\t\t\tswiper.zoom.toggle(e);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\ttransitionEnd: function transitionEnd(swiper) {\r\n\t\t\t\tif (swiper.zoom.enabled && swiper.params.zoom.enabled) {\r\n\t\t\t\t\tswiper.zoom.onTransitionEnd();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tslideChange: function slideChange(swiper) {\r\n\t\t\t\tif (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {\r\n\t\t\t\t\tswiper.zoom.onTransitionEnd();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Lazy = {\r\n\t\tloadInSlide: function loadInSlide(index, loadInDuplicate) {\r\n\t\t\tif (loadInDuplicate === void 0) {\r\n\t\t\t\tloadInDuplicate = true;\r\n\t\t\t}\r\n\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params.lazy;\r\n\t\t\tif (typeof index === 'undefined') return;\r\n\t\t\tif (swiper.slides.length === 0) return;\r\n\t\t\tvar isVirtual = swiper.virtual && swiper.params.virtual.enabled;\r\n\t\t\tvar $slideEl = isVirtual ? swiper.$wrapperEl.children(\".\" + swiper.params.slideClass + \"[data-swiper-slide-index=\\\"\" + index + \"\\\"]\") : swiper.slides.eq(index);\r\n\t\t\tvar $images = $slideEl.find(\".\" + params.elementClass + \":not(.\" + params.loadedClass + \"):not(.\" + params.loadingClass + \")\");\r\n\r\n\t\t\tif ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {\r\n\t\t\t\t$images.push($slideEl[0]);\r\n\t\t\t}\r\n\r\n\t\t\tif ($images.length === 0) return;\r\n\t\t\t$images.each(function (imageEl) {\r\n\t\t\t\tvar $imageEl = $(imageEl);\r\n\t\t\t\t$imageEl.addClass(params.loadingClass);\r\n\t\t\t\tvar background = $imageEl.attr('data-background');\r\n\t\t\t\tvar src = $imageEl.attr('data-src');\r\n\t\t\t\tvar srcset = $imageEl.attr('data-srcset');\r\n\t\t\t\tvar sizes = $imageEl.attr('data-sizes');\r\n\t\t\t\tvar $pictureEl = $imageEl.parent('picture');\r\n\t\t\t\tswiper.loadImage($imageEl[0], src || background, srcset, sizes, false, function () {\r\n\t\t\t\t\tif (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return;\r\n\r\n\t\t\t\t\tif (background) {\r\n\t\t\t\t\t\t$imageEl.css('background-image', \"url(\\\"\" + background + \"\\\")\");\r\n\t\t\t\t\t\t$imageEl.removeAttr('data-background');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (srcset) {\r\n\t\t\t\t\t\t\t$imageEl.attr('srcset', srcset);\r\n\t\t\t\t\t\t\t$imageEl.removeAttr('data-srcset');\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (sizes) {\r\n\t\t\t\t\t\t\t$imageEl.attr('sizes', sizes);\r\n\t\t\t\t\t\t\t$imageEl.removeAttr('data-sizes');\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif ($pictureEl.length) {\r\n\t\t\t\t\t\t\t$pictureEl.children('source').each(function (sourceEl) {\r\n\t\t\t\t\t\t\t\tvar $source = $(sourceEl);\r\n\r\n\t\t\t\t\t\t\t\tif ($source.attr('data-srcset')) {\r\n\t\t\t\t\t\t\t\t\t$source.attr('srcset', $source.attr('data-srcset'));\r\n\t\t\t\t\t\t\t\t\t$source.removeAttr('data-srcset');\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (src) {\r\n\t\t\t\t\t\t\t$imageEl.attr('src', src);\r\n\t\t\t\t\t\t\t$imageEl.removeAttr('data-src');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t$imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);\r\n\t\t\t\t\t$slideEl.find(\".\" + params.preloaderClass).remove();\r\n\r\n\t\t\t\t\tif (swiper.params.loop && loadInDuplicate) {\r\n\t\t\t\t\t\tvar slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');\r\n\r\n\t\t\t\t\t\tif ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {\r\n\t\t\t\t\t\t\tvar originalSlide = swiper.$wrapperEl.children(\"[data-swiper-slide-index=\\\"\" + slideOriginalIndex + \"\\\"]:not(.\" + swiper.params.slideDuplicateClass + \")\");\r\n\t\t\t\t\t\t\tswiper.lazy.loadInSlide(originalSlide.index(), false);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvar duplicatedSlide = swiper.$wrapperEl.children(\".\" + swiper.params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + slideOriginalIndex + \"\\\"]\");\r\n\t\t\t\t\t\t\tswiper.lazy.loadInSlide(duplicatedSlide.index(), false);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tswiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]);\r\n\r\n\t\t\t\t\tif (swiper.params.autoHeight) {\r\n\t\t\t\t\t\tswiper.updateAutoHeight();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tswiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]);\r\n\t\t\t});\r\n\t\t},\r\n\t\tload: function load() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar $wrapperEl = swiper.$wrapperEl,\r\n\t\t\t\tswiperParams = swiper.params,\r\n\t\t\t\tslides = swiper.slides,\r\n\t\t\t\tactiveIndex = swiper.activeIndex;\r\n\t\t\tvar isVirtual = swiper.virtual && swiperParams.virtual.enabled;\r\n\t\t\tvar params = swiperParams.lazy;\r\n\t\t\tvar slidesPerView = swiperParams.slidesPerView;\r\n\r\n\t\t\tif (slidesPerView === 'auto') {\r\n\t\t\t\tslidesPerView = 0;\r\n\t\t\t}\r\n\r\n\t\t\tfunction slideExist(index) {\r\n\t\t\t\tif (isVirtual) {\r\n\t\t\t\t\tif ($wrapperEl.children(\".\" + swiperParams.slideClass + \"[data-swiper-slide-index=\\\"\" + index + \"\\\"]\").length) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (slides[index]) return true;\r\n\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\tfunction slideIndex(slideEl) {\r\n\t\t\t\tif (isVirtual) {\r\n\t\t\t\t\treturn $(slideEl).attr('data-swiper-slide-index');\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn $(slideEl).index();\r\n\t\t\t}\r\n\r\n\t\t\tif (!swiper.lazy.initialImageLoaded) swiper.lazy.initialImageLoaded = true;\r\n\r\n\t\t\tif (swiper.params.watchSlidesVisibility) {\r\n\t\t\t\t$wrapperEl.children(\".\" + swiperParams.slideVisibleClass).each(function (slideEl) {\r\n\t\t\t\t\tvar index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index();\r\n\t\t\t\t\tswiper.lazy.loadInSlide(index);\r\n\t\t\t\t});\r\n\t\t\t} else if (slidesPerView > 1) {\r\n\t\t\t\tfor (var i = activeIndex; i < activeIndex + slidesPerView; i += 1) {\r\n\t\t\t\t\tif (slideExist(i)) swiper.lazy.loadInSlide(i);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tswiper.lazy.loadInSlide(activeIndex);\r\n\t\t\t}\r\n\r\n\t\t\tif (params.loadPrevNext) {\r\n\t\t\t\tif (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) {\r\n\t\t\t\t\tvar amount = params.loadPrevNextAmount;\r\n\t\t\t\t\tvar spv = slidesPerView;\r\n\t\t\t\t\tvar maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);\r\n\t\t\t\t\tvar minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides\r\n\r\n\t\t\t\t\tfor (var _i = activeIndex + slidesPerView; _i < maxIndex; _i += 1) {\r\n\t\t\t\t\t\tif (slideExist(_i)) swiper.lazy.loadInSlide(_i);\r\n\t\t\t\t\t} // Prev Slides\r\n\r\n\r\n\t\t\t\t\tfor (var _i2 = minIndex; _i2 < activeIndex; _i2 += 1) {\r\n\t\t\t\t\t\tif (slideExist(_i2)) swiper.lazy.loadInSlide(_i2);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar nextSlide = $wrapperEl.children(\".\" + swiperParams.slideNextClass);\r\n\t\t\t\t\tif (nextSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(nextSlide));\r\n\t\t\t\t\tvar prevSlide = $wrapperEl.children(\".\" + swiperParams.slidePrevClass);\r\n\t\t\t\t\tif (prevSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(prevSlide));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tvar Lazy$1 = {\r\n\t\tname: 'lazy',\r\n\t\tparams: {\r\n\t\t\tlazy: {\r\n\t\t\t\tenabled: false,\r\n\t\t\t\tloadPrevNext: false,\r\n\t\t\t\tloadPrevNextAmount: 1,\r\n\t\t\t\tloadOnTransitionStart: false,\r\n\t\t\t\telementClass: 'swiper-lazy',\r\n\t\t\t\tloadingClass: 'swiper-lazy-loading',\r\n\t\t\t\tloadedClass: 'swiper-lazy-loaded',\r\n\t\t\t\tpreloaderClass: 'swiper-lazy-preloader'\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tlazy: _extends({\r\n\t\t\t\t\tinitialImageLoaded: false\r\n\t\t\t\t}, Lazy)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tbeforeInit: function beforeInit(swiper) {\r\n\t\t\t\tif (swiper.params.lazy.enabled && swiper.params.preloadImages) {\r\n\t\t\t\t\tswiper.params.preloadImages = false;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tif (swiper.params.lazy.enabled && !swiper.params.loop && swiper.params.initialSlide === 0) {\r\n\t\t\t\t\tswiper.lazy.load();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tscroll: function scroll(swiper) {\r\n\t\t\t\tif (swiper.params.freeMode && !swiper.params.freeModeSticky) {\r\n\t\t\t\t\tswiper.lazy.load();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tresize: function resize(swiper) {\r\n\t\t\t\tif (swiper.params.lazy.enabled) {\r\n\t\t\t\t\tswiper.lazy.load();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tscrollbarDragMove: function scrollbarDragMove(swiper) {\r\n\t\t\t\tif (swiper.params.lazy.enabled) {\r\n\t\t\t\t\tswiper.lazy.load();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\ttransitionStart: function transitionStart(swiper) {\r\n\t\t\t\tif (swiper.params.lazy.enabled) {\r\n\t\t\t\t\tif (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !swiper.lazy.initialImageLoaded) {\r\n\t\t\t\t\t\tswiper.lazy.load();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\ttransitionEnd: function transitionEnd(swiper) {\r\n\t\t\t\tif (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {\r\n\t\t\t\t\tswiper.lazy.load();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tslideChange: function slideChange(swiper) {\r\n\t\t\t\tif (swiper.params.lazy.enabled && swiper.params.cssMode) {\r\n\t\t\t\t\tswiper.lazy.load();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Controller = {\r\n\t\tLinearSpline: function LinearSpline(x, y) {\r\n\t\t\tvar binarySearch = function search() {\r\n\t\t\t\tvar maxIndex;\r\n\t\t\t\tvar minIndex;\r\n\t\t\t\tvar guess;\r\n\t\t\t\treturn function (array, val) {\r\n\t\t\t\t\tminIndex = -1;\r\n\t\t\t\t\tmaxIndex = array.length;\r\n\r\n\t\t\t\t\twhile (maxIndex - minIndex > 1) {\r\n\t\t\t\t\t\tguess = maxIndex + minIndex >> 1;\r\n\r\n\t\t\t\t\t\tif (array[guess] <= val) {\r\n\t\t\t\t\t\t\tminIndex = guess;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tmaxIndex = guess;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn maxIndex;\r\n\t\t\t\t};\r\n\t\t\t}();\r\n\r\n\t\t\tthis.x = x;\r\n\t\t\tthis.y = y;\r\n\t\t\tthis.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value:\r\n\t\t\t// (x1,y1) is the known point before given value,\r\n\t\t\t// (x3,y3) is the known point after given value.\r\n\r\n\t\t\tvar i1;\r\n\t\t\tvar i3;\r\n\r\n\t\t\tthis.interpolate = function interpolate(x2) {\r\n\t\t\t\tif (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2):\r\n\r\n\t\t\t\ti3 = binarySearch(this.x, x2);\r\n\t\t\t\ti1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already:\r\n\t\t\t\t// y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\r\n\r\n\t\t\t\treturn (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];\r\n\t\t\t};\r\n\r\n\t\t\treturn this;\r\n\t\t},\r\n\t\t// xxx: for now i will just save one spline function to to\r\n\t\tgetInterpolateFunction: function getInterpolateFunction(c) {\r\n\t\t\tvar swiper = this;\r\n\r\n\t\t\tif (!swiper.controller.spline) {\r\n\t\t\t\tswiper.controller.spline = swiper.params.loop ? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid) : new Controller.LinearSpline(swiper.snapGrid, c.snapGrid);\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetTranslate: function setTranslate(_setTranslate, byController) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar controlled = swiper.controller.control;\r\n\t\t\tvar multiplier;\r\n\t\t\tvar controlledTranslate;\r\n\t\t\tvar Swiper = swiper.constructor;\r\n\r\n\t\t\tfunction setControlledTranslate(c) {\r\n\t\t\t\t// this will create an Interpolate function based on the snapGrids\r\n\t\t\t\t// x is the Grid of the scrolled scroller and y will be the controlled scroller\r\n\t\t\t\t// it makes sense to create this only once and recall it for the interpolation\r\n\t\t\t\t// the function does a lot of value caching for performance\r\n\t\t\t\tvar translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\r\n\r\n\t\t\t\tif (swiper.params.controller.by === 'slide') {\r\n\t\t\t\t\tswiper.controller.getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\r\n\t\t\t\t\t// but it did not work out\r\n\r\n\t\t\t\t\tcontrolledTranslate = -swiper.controller.spline.interpolate(-translate);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!controlledTranslate || swiper.params.controller.by === 'container') {\r\n\t\t\t\t\tmultiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\r\n\t\t\t\t\tcontrolledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (swiper.params.controller.inverse) {\r\n\t\t\t\t\tcontrolledTranslate = c.maxTranslate() - controlledTranslate;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tc.updateProgress(controlledTranslate);\r\n\t\t\t\tc.setTranslate(controlledTranslate, swiper);\r\n\t\t\t\tc.updateActiveIndex();\r\n\t\t\t\tc.updateSlidesClasses();\r\n\t\t\t}\r\n\r\n\t\t\tif (Array.isArray(controlled)) {\r\n\t\t\t\tfor (var i = 0; i < controlled.length; i += 1) {\r\n\t\t\t\t\tif (controlled[i] !== byController && controlled[i] instanceof Swiper) {\r\n\t\t\t\t\t\tsetControlledTranslate(controlled[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (controlled instanceof Swiper && byController !== controlled) {\r\n\t\t\t\tsetControlledTranslate(controlled);\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetTransition: function setTransition(duration, byController) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar Swiper = swiper.constructor;\r\n\t\t\tvar controlled = swiper.controller.control;\r\n\t\t\tvar i;\r\n\r\n\t\t\tfunction setControlledTransition(c) {\r\n\t\t\t\tc.setTransition(duration, swiper);\r\n\r\n\t\t\t\tif (duration !== 0) {\r\n\t\t\t\t\tc.transitionStart();\r\n\r\n\t\t\t\t\tif (c.params.autoHeight) {\r\n\t\t\t\t\t\tnextTick(function () {\r\n\t\t\t\t\t\t\tc.updateAutoHeight();\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tc.$wrapperEl.transitionEnd(function () {\r\n\t\t\t\t\t\tif (!controlled) return;\r\n\r\n\t\t\t\t\t\tif (c.params.loop && swiper.params.controller.by === 'slide') {\r\n\t\t\t\t\t\t\tc.loopFix();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tc.transitionEnd();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (Array.isArray(controlled)) {\r\n\t\t\t\tfor (i = 0; i < controlled.length; i += 1) {\r\n\t\t\t\t\tif (controlled[i] !== byController && controlled[i] instanceof Swiper) {\r\n\t\t\t\t\t\tsetControlledTransition(controlled[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (controlled instanceof Swiper && byController !== controlled) {\r\n\t\t\t\tsetControlledTransition(controlled);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tvar Controller$1 = {\r\n\t\tname: 'controller',\r\n\t\tparams: {\r\n\t\t\tcontroller: {\r\n\t\t\t\tcontrol: undefined,\r\n\t\t\t\tinverse: false,\r\n\t\t\t\tby: 'slide' // or 'container'\r\n\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tcontroller: _extends({\r\n\t\t\t\t\tcontrol: swiper.params.controller.control\r\n\t\t\t\t}, Controller)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tupdate: function update(swiper) {\r\n\t\t\t\tif (!swiper.controller.control) return;\r\n\r\n\t\t\t\tif (swiper.controller.spline) {\r\n\t\t\t\t\tswiper.controller.spline = undefined;\r\n\t\t\t\t\tdelete swiper.controller.spline;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tresize: function resize(swiper) {\r\n\t\t\t\tif (!swiper.controller.control) return;\r\n\r\n\t\t\t\tif (swiper.controller.spline) {\r\n\t\t\t\t\tswiper.controller.spline = undefined;\r\n\t\t\t\t\tdelete swiper.controller.spline;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tobserverUpdate: function observerUpdate(swiper) {\r\n\t\t\t\tif (!swiper.controller.control) return;\r\n\r\n\t\t\t\tif (swiper.controller.spline) {\r\n\t\t\t\t\tswiper.controller.spline = undefined;\r\n\t\t\t\t\tdelete swiper.controller.spline;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tsetTranslate: function setTranslate(swiper, translate, byController) {\r\n\t\t\t\tif (!swiper.controller.control) return;\r\n\t\t\t\tswiper.controller.setTranslate(translate, byController);\r\n\t\t\t},\r\n\t\t\tsetTransition: function setTransition(swiper, duration, byController) {\r\n\t\t\t\tif (!swiper.controller.control) return;\r\n\t\t\t\tswiper.controller.setTransition(duration, byController);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar A11y = {\r\n\t\tmakeElFocusable: function makeElFocusable($el) {\r\n\t\t\t$el.attr('tabIndex', '0');\r\n\t\t\treturn $el;\r\n\t\t},\r\n\t\tmakeElNotFocusable: function makeElNotFocusable($el) {\r\n\t\t\t$el.attr('tabIndex', '-1');\r\n\t\t\treturn $el;\r\n\t\t},\r\n\t\taddElRole: function addElRole($el, role) {\r\n\t\t\t$el.attr('role', role);\r\n\t\t\treturn $el;\r\n\t\t},\r\n\t\taddElLabel: function addElLabel($el, label) {\r\n\t\t\t$el.attr('aria-label', label);\r\n\t\t\treturn $el;\r\n\t\t},\r\n\t\tdisableEl: function disableEl($el) {\r\n\t\t\t$el.attr('aria-disabled', true);\r\n\t\t\treturn $el;\r\n\t\t},\r\n\t\tenableEl: function enableEl($el) {\r\n\t\t\t$el.attr('aria-disabled', false);\r\n\t\t\treturn $el;\r\n\t\t},\r\n\t\tonEnterKey: function onEnterKey(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params.a11y;\r\n\t\t\tif (e.keyCode !== 13) return;\r\n\t\t\tvar $targetEl = $(e.target);\r\n\r\n\t\t\tif (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\r\n\t\t\t\tif (!(swiper.isEnd && !swiper.params.loop)) {\r\n\t\t\t\t\tswiper.slideNext();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (swiper.isEnd) {\r\n\t\t\t\t\tswiper.a11y.notify(params.lastSlideMessage);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswiper.a11y.notify(params.nextSlideMessage);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\r\n\t\t\t\tif (!(swiper.isBeginning && !swiper.params.loop)) {\r\n\t\t\t\t\tswiper.slidePrev();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (swiper.isBeginning) {\r\n\t\t\t\t\tswiper.a11y.notify(params.firstSlideMessage);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswiper.a11y.notify(params.prevSlideMessage);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.pagination && $targetEl.is(\".\" + swiper.params.pagination.bulletClass)) {\r\n\t\t\t\t$targetEl[0].click();\r\n\t\t\t}\r\n\t\t},\r\n\t\tnotify: function notify(message) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar notification = swiper.a11y.liveRegion;\r\n\t\t\tif (notification.length === 0) return;\r\n\t\t\tnotification.html('');\r\n\t\t\tnotification.html(message);\r\n\t\t},\r\n\t\tupdateNavigation: function updateNavigation() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (swiper.params.loop || !swiper.navigation) return;\r\n\t\t\tvar _swiper$navigation = swiper.navigation,\r\n\t\t\t\t$nextEl = _swiper$navigation.$nextEl,\r\n\t\t\t\t$prevEl = _swiper$navigation.$prevEl;\r\n\r\n\t\t\tif ($prevEl && $prevEl.length > 0) {\r\n\t\t\t\tif (swiper.isBeginning) {\r\n\t\t\t\t\tswiper.a11y.disableEl($prevEl);\r\n\t\t\t\t\tswiper.a11y.makeElNotFocusable($prevEl);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswiper.a11y.enableEl($prevEl);\r\n\t\t\t\t\tswiper.a11y.makeElFocusable($prevEl);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif ($nextEl && $nextEl.length > 0) {\r\n\t\t\t\tif (swiper.isEnd) {\r\n\t\t\t\t\tswiper.a11y.disableEl($nextEl);\r\n\t\t\t\t\tswiper.a11y.makeElNotFocusable($nextEl);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswiper.a11y.enableEl($nextEl);\r\n\t\t\t\t\tswiper.a11y.makeElFocusable($nextEl);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tupdatePagination: function updatePagination() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar params = swiper.params.a11y;\r\n\r\n\t\t\tif (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\r\n\t\t\t\tswiper.pagination.bullets.each(function (bulletEl) {\r\n\t\t\t\t\tvar $bulletEl = $(bulletEl);\r\n\t\t\t\t\tswiper.a11y.makeElFocusable($bulletEl);\r\n\r\n\t\t\t\t\tif (!swiper.params.pagination.renderBullet) {\r\n\t\t\t\t\t\tswiper.a11y.addElRole($bulletEl, 'button');\r\n\t\t\t\t\t\tswiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, $bulletEl.index() + 1));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\tinit: function init() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tswiper.$el.append(swiper.a11y.liveRegion); // Navigation\r\n\r\n\t\t\tvar params = swiper.params.a11y;\r\n\t\t\tvar $nextEl;\r\n\t\t\tvar $prevEl;\r\n\r\n\t\t\tif (swiper.navigation && swiper.navigation.$nextEl) {\r\n\t\t\t\t$nextEl = swiper.navigation.$nextEl;\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.navigation && swiper.navigation.$prevEl) {\r\n\t\t\t\t$prevEl = swiper.navigation.$prevEl;\r\n\t\t\t}\r\n\r\n\t\t\tif ($nextEl) {\r\n\t\t\t\tswiper.a11y.makeElFocusable($nextEl);\r\n\t\t\t\tswiper.a11y.addElRole($nextEl, 'button');\r\n\t\t\t\tswiper.a11y.addElLabel($nextEl, params.nextSlideMessage);\r\n\t\t\t\t$nextEl.on('keydown', swiper.a11y.onEnterKey);\r\n\t\t\t}\r\n\r\n\t\t\tif ($prevEl) {\r\n\t\t\t\tswiper.a11y.makeElFocusable($prevEl);\r\n\t\t\t\tswiper.a11y.addElRole($prevEl, 'button');\r\n\t\t\t\tswiper.a11y.addElLabel($prevEl, params.prevSlideMessage);\r\n\t\t\t\t$prevEl.on('keydown', swiper.a11y.onEnterKey);\r\n\t\t\t} // Pagination\r\n\r\n\r\n\t\t\tif (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\r\n\t\t\t\tswiper.pagination.$el.on('keydown', \".\" + swiper.params.pagination.bulletClass, swiper.a11y.onEnterKey);\r\n\t\t\t}\r\n\t\t},\r\n\t\tdestroy: function destroy() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (swiper.a11y.liveRegion && swiper.a11y.liveRegion.length > 0) swiper.a11y.liveRegion.remove();\r\n\t\t\tvar $nextEl;\r\n\t\t\tvar $prevEl;\r\n\r\n\t\t\tif (swiper.navigation && swiper.navigation.$nextEl) {\r\n\t\t\t\t$nextEl = swiper.navigation.$nextEl;\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.navigation && swiper.navigation.$prevEl) {\r\n\t\t\t\t$prevEl = swiper.navigation.$prevEl;\r\n\t\t\t}\r\n\r\n\t\t\tif ($nextEl) {\r\n\t\t\t\t$nextEl.off('keydown', swiper.a11y.onEnterKey);\r\n\t\t\t}\r\n\r\n\t\t\tif ($prevEl) {\r\n\t\t\t\t$prevEl.off('keydown', swiper.a11y.onEnterKey);\r\n\t\t\t} // Pagination\r\n\r\n\r\n\t\t\tif (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\r\n\t\t\t\tswiper.pagination.$el.off('keydown', \".\" + swiper.params.pagination.bulletClass, swiper.a11y.onEnterKey);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tvar A11y$1 = {\r\n\t\tname: 'a11y',\r\n\t\tparams: {\r\n\t\t\ta11y: {\r\n\t\t\t\tenabled: true,\r\n\t\t\t\tnotificationClass: 'swiper-notification',\r\n\t\t\t\tprevSlideMessage: 'Previous slide',\r\n\t\t\t\tnextSlideMessage: 'Next slide',\r\n\t\t\t\tfirstSlideMessage: 'This is the first slide',\r\n\t\t\t\tlastSlideMessage: 'This is the last slide',\r\n\t\t\t\tpaginationBulletMessage: 'Go to slide {{index}}'\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\ta11y: _extends(_extends({}, A11y), {}, {\r\n\t\t\t\t\tliveRegion: $(\"\")\r\n\t\t\t\t})\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tif (!swiper.params.a11y.enabled) return;\r\n\t\t\t\tswiper.a11y.init();\r\n\t\t\t\tswiper.a11y.updateNavigation();\r\n\t\t\t},\r\n\t\t\ttoEdge: function toEdge(swiper) {\r\n\t\t\t\tif (!swiper.params.a11y.enabled) return;\r\n\t\t\t\tswiper.a11y.updateNavigation();\r\n\t\t\t},\r\n\t\t\tfromEdge: function fromEdge(swiper) {\r\n\t\t\t\tif (!swiper.params.a11y.enabled) return;\r\n\t\t\t\tswiper.a11y.updateNavigation();\r\n\t\t\t},\r\n\t\t\tpaginationUpdate: function paginationUpdate(swiper) {\r\n\t\t\t\tif (!swiper.params.a11y.enabled) return;\r\n\t\t\t\tswiper.a11y.updatePagination();\r\n\t\t\t},\r\n\t\t\tdestroy: function destroy(swiper) {\r\n\t\t\t\tif (!swiper.params.a11y.enabled) return;\r\n\t\t\t\tswiper.a11y.destroy();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar History = {\r\n\t\tinit: function init() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar window = getWindow();\r\n\t\t\tif (!swiper.params.history) return;\r\n\r\n\t\t\tif (!window.history || !window.history.pushState) {\r\n\t\t\t\tswiper.params.history.enabled = false;\r\n\t\t\t\tswiper.params.hashNavigation.enabled = true;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar history = swiper.history;\r\n\t\t\thistory.initialized = true;\r\n\t\t\thistory.paths = History.getPathValues(swiper.params.url);\r\n\t\t\tif (!history.paths.key && !history.paths.value) return;\r\n\t\t\thistory.scrollToSlide(0, history.paths.value, swiper.params.runCallbacksOnInit);\r\n\r\n\t\t\tif (!swiper.params.history.replaceState) {\r\n\t\t\t\twindow.addEventListener('popstate', swiper.history.setHistoryPopState);\r\n\t\t\t}\r\n\t\t},\r\n\t\tdestroy: function destroy() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar window = getWindow();\r\n\r\n\t\t\tif (!swiper.params.history.replaceState) {\r\n\t\t\t\twindow.removeEventListener('popstate', swiper.history.setHistoryPopState);\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetHistoryPopState: function setHistoryPopState() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tswiper.history.paths = History.getPathValues(swiper.params.url);\r\n\t\t\tswiper.history.scrollToSlide(swiper.params.speed, swiper.history.paths.value, false);\r\n\t\t},\r\n\t\tgetPathValues: function getPathValues(urlOverride) {\r\n\t\t\tvar window = getWindow();\r\n\t\t\tvar location;\r\n\r\n\t\t\tif (urlOverride) {\r\n\t\t\t\tlocation = new URL(urlOverride);\r\n\t\t\t} else {\r\n\t\t\t\tlocation = window.location;\r\n\t\t\t}\r\n\r\n\t\t\tvar pathArray = location.pathname.slice(1).split('/').filter(function (part) {\r\n\t\t\t\treturn part !== '';\r\n\t\t\t});\r\n\t\t\tvar total = pathArray.length;\r\n\t\t\tvar key = pathArray[total - 2];\r\n\t\t\tvar value = pathArray[total - 1];\r\n\t\t\treturn {\r\n\t\t\t\tkey: key,\r\n\t\t\t\tvalue: value\r\n\t\t\t};\r\n\t\t},\r\n\t\tsetHistory: function setHistory(key, index) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar window = getWindow();\r\n\t\t\tif (!swiper.history.initialized || !swiper.params.history.enabled) return;\r\n\t\t\tvar location;\r\n\r\n\t\t\tif (swiper.params.url) {\r\n\t\t\t\tlocation = new URL(swiper.params.url);\r\n\t\t\t} else {\r\n\t\t\t\tlocation = window.location;\r\n\t\t\t}\r\n\r\n\t\t\tvar slide = swiper.slides.eq(index);\r\n\t\t\tvar value = History.slugify(slide.attr('data-history'));\r\n\r\n\t\t\tif (!location.pathname.includes(key)) {\r\n\t\t\t\tvalue = key + \"/\" + value;\r\n\t\t\t}\r\n\r\n\t\t\tvar currentState = window.history.state;\r\n\r\n\t\t\tif (currentState && currentState.value === value) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.params.history.replaceState) {\r\n\t\t\t\twindow.history.replaceState({\r\n\t\t\t\t\tvalue: value\r\n\t\t\t\t}, null, value);\r\n\t\t\t} else {\r\n\t\t\t\twindow.history.pushState({\r\n\t\t\t\t\tvalue: value\r\n\t\t\t\t}, null, value);\r\n\t\t\t}\r\n\t\t},\r\n\t\tslugify: function slugify(text) {\r\n\t\t\treturn text.toString().replace(/\\s+/g, '-').replace(/[^\\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');\r\n\t\t},\r\n\t\tscrollToSlide: function scrollToSlide(speed, value, runCallbacks) {\r\n\t\t\tvar swiper = this;\r\n\r\n\t\t\tif (value) {\r\n\t\t\t\tfor (var i = 0, length = swiper.slides.length; i < length; i += 1) {\r\n\t\t\t\t\tvar slide = swiper.slides.eq(i);\r\n\t\t\t\t\tvar slideHistory = History.slugify(slide.attr('data-history'));\r\n\r\n\t\t\t\t\tif (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) {\r\n\t\t\t\t\t\tvar index = slide.index();\r\n\t\t\t\t\t\tswiper.slideTo(index, speed, runCallbacks);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tswiper.slideTo(0, speed, runCallbacks);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tvar History$1 = {\r\n\t\tname: 'history',\r\n\t\tparams: {\r\n\t\t\thistory: {\r\n\t\t\t\tenabled: false,\r\n\t\t\t\treplaceState: false,\r\n\t\t\t\tkey: 'slides'\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\thistory: _extends({}, History)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tif (swiper.params.history.enabled) {\r\n\t\t\t\t\tswiper.history.init();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tdestroy: function destroy(swiper) {\r\n\t\t\t\tif (swiper.params.history.enabled) {\r\n\t\t\t\t\tswiper.history.destroy();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\ttransitionEnd: function transitionEnd(swiper) {\r\n\t\t\t\tif (swiper.history.initialized) {\r\n\t\t\t\t\tswiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tslideChange: function slideChange(swiper) {\r\n\t\t\t\tif (swiper.history.initialized && swiper.params.cssMode) {\r\n\t\t\t\t\tswiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar HashNavigation = {\r\n\t\tonHashCange: function onHashCange() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar document = getDocument();\r\n\t\t\tswiper.emit('hashChange');\r\n\t\t\tvar newHash = document.location.hash.replace('#', '');\r\n\t\t\tvar activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash');\r\n\r\n\t\t\tif (newHash !== activeSlideHash) {\r\n\t\t\t\tvar newIndex = swiper.$wrapperEl.children(\".\" + swiper.params.slideClass + \"[data-hash=\\\"\" + newHash + \"\\\"]\").index();\r\n\t\t\t\tif (typeof newIndex === 'undefined') return;\r\n\t\t\t\tswiper.slideTo(newIndex);\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetHash: function setHash() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar window = getWindow();\r\n\t\t\tvar document = getDocument();\r\n\t\t\tif (!swiper.hashNavigation.initialized || !swiper.params.hashNavigation.enabled) return;\r\n\r\n\t\t\tif (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) {\r\n\t\t\t\twindow.history.replaceState(null, null, \"#\" + swiper.slides.eq(swiper.activeIndex).attr('data-hash') || '');\r\n\t\t\t\tswiper.emit('hashSet');\r\n\t\t\t} else {\r\n\t\t\t\tvar slide = swiper.slides.eq(swiper.activeIndex);\r\n\t\t\t\tvar hash = slide.attr('data-hash') || slide.attr('data-history');\r\n\t\t\t\tdocument.location.hash = hash || '';\r\n\t\t\t\tswiper.emit('hashSet');\r\n\t\t\t}\r\n\t\t},\r\n\t\tinit: function init() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar document = getDocument();\r\n\t\t\tvar window = getWindow();\r\n\t\t\tif (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;\r\n\t\t\tswiper.hashNavigation.initialized = true;\r\n\t\t\tvar hash = document.location.hash.replace('#', '');\r\n\r\n\t\t\tif (hash) {\r\n\t\t\t\tvar speed = 0;\r\n\r\n\t\t\t\tfor (var i = 0, length = swiper.slides.length; i < length; i += 1) {\r\n\t\t\t\t\tvar slide = swiper.slides.eq(i);\r\n\t\t\t\t\tvar slideHash = slide.attr('data-hash') || slide.attr('data-history');\r\n\r\n\t\t\t\t\tif (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) {\r\n\t\t\t\t\t\tvar index = slide.index();\r\n\t\t\t\t\t\tswiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.params.hashNavigation.watchState) {\r\n\t\t\t\t$(window).on('hashchange', swiper.hashNavigation.onHashCange);\r\n\t\t\t}\r\n\t\t},\r\n\t\tdestroy: function destroy() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar window = getWindow();\r\n\r\n\t\t\tif (swiper.params.hashNavigation.watchState) {\r\n\t\t\t\t$(window).off('hashchange', swiper.hashNavigation.onHashCange);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tvar HashNavigation$1 = {\r\n\t\tname: 'hash-navigation',\r\n\t\tparams: {\r\n\t\t\thashNavigation: {\r\n\t\t\t\tenabled: false,\r\n\t\t\t\treplaceState: false,\r\n\t\t\t\twatchState: false\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\thashNavigation: _extends({\r\n\t\t\t\t\tinitialized: false\r\n\t\t\t\t}, HashNavigation)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tif (swiper.params.hashNavigation.enabled) {\r\n\t\t\t\t\tswiper.hashNavigation.init();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tdestroy: function destroy(swiper) {\r\n\t\t\t\tif (swiper.params.hashNavigation.enabled) {\r\n\t\t\t\t\tswiper.hashNavigation.destroy();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\ttransitionEnd: function transitionEnd(swiper) {\r\n\t\t\t\tif (swiper.hashNavigation.initialized) {\r\n\t\t\t\t\tswiper.hashNavigation.setHash();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tslideChange: function slideChange(swiper) {\r\n\t\t\t\tif (swiper.hashNavigation.initialized && swiper.params.cssMode) {\r\n\t\t\t\t\tswiper.hashNavigation.setHash();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Autoplay = {\r\n\t\trun: function run() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\r\n\t\t\tvar delay = swiper.params.autoplay.delay;\r\n\r\n\t\t\tif ($activeSlideEl.attr('data-swiper-autoplay')) {\r\n\t\t\t\tdelay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\r\n\t\t\t}\r\n\r\n\t\t\tclearTimeout(swiper.autoplay.timeout);\r\n\t\t\tswiper.autoplay.timeout = nextTick(function () {\r\n\t\t\t\tif (swiper.params.autoplay.reverseDirection) {\r\n\t\t\t\t\tif (swiper.params.loop) {\r\n\t\t\t\t\t\tswiper.loopFix();\r\n\t\t\t\t\t\tswiper.slidePrev(swiper.params.speed, true, true);\r\n\t\t\t\t\t\tswiper.emit('autoplay');\r\n\t\t\t\t\t} else if (!swiper.isBeginning) {\r\n\t\t\t\t\t\tswiper.slidePrev(swiper.params.speed, true, true);\r\n\t\t\t\t\t\tswiper.emit('autoplay');\r\n\t\t\t\t\t} else if (!swiper.params.autoplay.stopOnLastSlide) {\r\n\t\t\t\t\t\tswiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\r\n\t\t\t\t\t\tswiper.emit('autoplay');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tswiper.autoplay.stop();\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (swiper.params.loop) {\r\n\t\t\t\t\tswiper.loopFix();\r\n\t\t\t\t\tswiper.slideNext(swiper.params.speed, true, true);\r\n\t\t\t\t\tswiper.emit('autoplay');\r\n\t\t\t\t} else if (!swiper.isEnd) {\r\n\t\t\t\t\tswiper.slideNext(swiper.params.speed, true, true);\r\n\t\t\t\t\tswiper.emit('autoplay');\r\n\t\t\t\t} else if (!swiper.params.autoplay.stopOnLastSlide) {\r\n\t\t\t\t\tswiper.slideTo(0, swiper.params.speed, true, true);\r\n\t\t\t\t\tswiper.emit('autoplay');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tswiper.autoplay.stop();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (swiper.params.cssMode && swiper.autoplay.running) swiper.autoplay.run();\r\n\t\t\t}, delay);\r\n\t\t},\r\n\t\tstart: function start() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (typeof swiper.autoplay.timeout !== 'undefined') return false;\r\n\t\t\tif (swiper.autoplay.running) return false;\r\n\t\t\tswiper.autoplay.running = true;\r\n\t\t\tswiper.emit('autoplayStart');\r\n\t\t\tswiper.autoplay.run();\r\n\t\t\treturn true;\r\n\t\t},\r\n\t\tstop: function stop() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (!swiper.autoplay.running) return false;\r\n\t\t\tif (typeof swiper.autoplay.timeout === 'undefined') return false;\r\n\r\n\t\t\tif (swiper.autoplay.timeout) {\r\n\t\t\t\tclearTimeout(swiper.autoplay.timeout);\r\n\t\t\t\tswiper.autoplay.timeout = undefined;\r\n\t\t\t}\r\n\r\n\t\t\tswiper.autoplay.running = false;\r\n\t\t\tswiper.emit('autoplayStop');\r\n\t\t\treturn true;\r\n\t\t},\r\n\t\tpause: function pause(speed) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (!swiper.autoplay.running) return;\r\n\t\t\tif (swiper.autoplay.paused) return;\r\n\t\t\tif (swiper.autoplay.timeout) clearTimeout(swiper.autoplay.timeout);\r\n\t\t\tswiper.autoplay.paused = true;\r\n\r\n\t\t\tif (speed === 0 || !swiper.params.autoplay.waitForTransition) {\r\n\t\t\t\tswiper.autoplay.paused = false;\r\n\t\t\t\tswiper.autoplay.run();\r\n\t\t\t} else {\r\n\t\t\t\tswiper.$wrapperEl[0].addEventListener('transitionend', swiper.autoplay.onTransitionEnd);\r\n\t\t\t\tswiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\r\n\t\t\t}\r\n\t\t},\r\n\t\tonVisibilityChange: function onVisibilityChange() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar document = getDocument();\r\n\r\n\t\t\tif (document.visibilityState === 'hidden' && swiper.autoplay.running) {\r\n\t\t\t\tswiper.autoplay.pause();\r\n\t\t\t}\r\n\r\n\t\t\tif (document.visibilityState === 'visible' && swiper.autoplay.paused) {\r\n\t\t\t\tswiper.autoplay.run();\r\n\t\t\t\tswiper.autoplay.paused = false;\r\n\t\t\t}\r\n\t\t},\r\n\t\tonTransitionEnd: function onTransitionEnd(e) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tif (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\r\n\t\t\tif (e.target !== swiper.$wrapperEl[0]) return;\r\n\t\t\tswiper.$wrapperEl[0].removeEventListener('transitionend', swiper.autoplay.onTransitionEnd);\r\n\t\t\tswiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\r\n\t\t\tswiper.autoplay.paused = false;\r\n\r\n\t\t\tif (!swiper.autoplay.running) {\r\n\t\t\t\tswiper.autoplay.stop();\r\n\t\t\t} else {\r\n\t\t\t\tswiper.autoplay.run();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tvar Autoplay$1 = {\r\n\t\tname: 'autoplay',\r\n\t\tparams: {\r\n\t\t\tautoplay: {\r\n\t\t\t\tenabled: false,\r\n\t\t\t\tdelay: 3000,\r\n\t\t\t\twaitForTransition: true,\r\n\t\t\t\tdisableOnInteraction: true,\r\n\t\t\t\tstopOnLastSlide: false,\r\n\t\t\t\treverseDirection: false\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tautoplay: _extends(_extends({}, Autoplay), {}, {\r\n\t\t\t\t\trunning: false,\r\n\t\t\t\t\tpaused: false\r\n\t\t\t\t})\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tinit: function init(swiper) {\r\n\t\t\t\tif (swiper.params.autoplay.enabled) {\r\n\t\t\t\t\tswiper.autoplay.start();\r\n\t\t\t\t\tvar document = getDocument();\r\n\t\t\t\t\tdocument.addEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tbeforeTransitionStart: function beforeTransitionStart(swiper, speed, internal) {\r\n\t\t\t\tif (swiper.autoplay.running) {\r\n\t\t\t\t\tif (internal || !swiper.params.autoplay.disableOnInteraction) {\r\n\t\t\t\t\t\tswiper.autoplay.pause(speed);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tswiper.autoplay.stop();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tsliderFirstMove: function sliderFirstMove(swiper) {\r\n\t\t\t\tif (swiper.autoplay.running) {\r\n\t\t\t\t\tif (swiper.params.autoplay.disableOnInteraction) {\r\n\t\t\t\t\t\tswiper.autoplay.stop();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tswiper.autoplay.pause();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\ttouchEnd: function touchEnd(swiper) {\r\n\t\t\t\tif (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) {\r\n\t\t\t\t\tswiper.autoplay.run();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tdestroy: function destroy(swiper) {\r\n\t\t\t\tif (swiper.autoplay.running) {\r\n\t\t\t\t\tswiper.autoplay.stop();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar document = getDocument();\r\n\t\t\t\tdocument.removeEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Fade = {\r\n\t\tsetTranslate: function setTranslate() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar slides = swiper.slides;\r\n\r\n\t\t\tfor (var i = 0; i < slides.length; i += 1) {\r\n\t\t\t\tvar $slideEl = swiper.slides.eq(i);\r\n\t\t\t\tvar offset = $slideEl[0].swiperSlideOffset;\r\n\t\t\t\tvar tx = -offset;\r\n\t\t\t\tif (!swiper.params.virtualTranslate) tx -= swiper.translate;\r\n\t\t\t\tvar ty = 0;\r\n\r\n\t\t\t\tif (!swiper.isHorizontal()) {\r\n\t\t\t\t\tty = tx;\r\n\t\t\t\t\ttx = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\r\n\t\t\t\t$slideEl.css({\r\n\t\t\t\t\topacity: slideOpacity\r\n\t\t\t\t}).transform(\"translate3d(\" + tx + \"px, \" + ty + \"px, 0px)\");\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetTransition: function setTransition(duration) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar slides = swiper.slides,\r\n\t\t\t\t$wrapperEl = swiper.$wrapperEl;\r\n\t\t\tslides.transition(duration);\r\n\r\n\t\t\tif (swiper.params.virtualTranslate && duration !== 0) {\r\n\t\t\t\tvar eventTriggered = false;\r\n\t\t\t\tslides.transitionEnd(function () {\r\n\t\t\t\t\tif (eventTriggered) return;\r\n\t\t\t\t\tif (!swiper || swiper.destroyed) return;\r\n\t\t\t\t\teventTriggered = true;\r\n\t\t\t\t\tswiper.animating = false;\r\n\t\t\t\t\tvar triggerEvents = ['webkitTransitionEnd', 'transitionend'];\r\n\r\n\t\t\t\t\tfor (var i = 0; i < triggerEvents.length; i += 1) {\r\n\t\t\t\t\t\t$wrapperEl.trigger(triggerEvents[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tvar EffectFade = {\r\n\t\tname: 'effect-fade',\r\n\t\tparams: {\r\n\t\t\tfadeEffect: {\r\n\t\t\t\tcrossFade: false\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tfadeEffect: _extends({}, Fade)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tbeforeInit: function beforeInit(swiper) {\r\n\t\t\t\tif (swiper.params.effect !== 'fade') return;\r\n\t\t\t\tswiper.classNames.push(swiper.params.containerModifierClass + \"fade\");\r\n\t\t\t\tvar overwriteParams = {\r\n\t\t\t\t\tslidesPerView: 1,\r\n\t\t\t\t\tslidesPerColumn: 1,\r\n\t\t\t\t\tslidesPerGroup: 1,\r\n\t\t\t\t\twatchSlidesProgress: true,\r\n\t\t\t\t\tspaceBetween: 0,\r\n\t\t\t\t\tvirtualTranslate: true\r\n\t\t\t\t};\r\n\t\t\t\textend$1(swiper.params, overwriteParams);\r\n\t\t\t\textend$1(swiper.originalParams, overwriteParams);\r\n\t\t\t},\r\n\t\t\tsetTranslate: function setTranslate(swiper) {\r\n\t\t\t\tif (swiper.params.effect !== 'fade') return;\r\n\t\t\t\tswiper.fadeEffect.setTranslate();\r\n\t\t\t},\r\n\t\t\tsetTransition: function setTransition(swiper, duration) {\r\n\t\t\t\tif (swiper.params.effect !== 'fade') return;\r\n\t\t\t\tswiper.fadeEffect.setTransition(duration);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Cube = {\r\n\t\tsetTranslate: function setTranslate() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar $el = swiper.$el,\r\n\t\t\t\t$wrapperEl = swiper.$wrapperEl,\r\n\t\t\t\tslides = swiper.slides,\r\n\t\t\t\tswiperWidth = swiper.width,\r\n\t\t\t\tswiperHeight = swiper.height,\r\n\t\t\t\trtl = swiper.rtlTranslate,\r\n\t\t\t\tswiperSize = swiper.size,\r\n\t\t\t\tbrowser = swiper.browser;\r\n\t\t\tvar params = swiper.params.cubeEffect;\r\n\t\t\tvar isHorizontal = swiper.isHorizontal();\r\n\t\t\tvar isVirtual = swiper.virtual && swiper.params.virtual.enabled;\r\n\t\t\tvar wrapperRotate = 0;\r\n\t\t\tvar $cubeShadowEl;\r\n\r\n\t\t\tif (params.shadow) {\r\n\t\t\t\tif (isHorizontal) {\r\n\t\t\t\t\t$cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');\r\n\r\n\t\t\t\t\tif ($cubeShadowEl.length === 0) {\r\n\t\t\t\t\t\t$cubeShadowEl = $('
');\r\n\t\t\t\t\t\t$wrapperEl.append($cubeShadowEl);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t$cubeShadowEl.css({\r\n\t\t\t\t\t\theight: swiperWidth + \"px\"\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$cubeShadowEl = $el.find('.swiper-cube-shadow');\r\n\r\n\t\t\t\t\tif ($cubeShadowEl.length === 0) {\r\n\t\t\t\t\t\t$cubeShadowEl = $('
');\r\n\t\t\t\t\t\t$el.append($cubeShadowEl);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfor (var i = 0; i < slides.length; i += 1) {\r\n\t\t\t\tvar $slideEl = slides.eq(i);\r\n\t\t\t\tvar slideIndex = i;\r\n\r\n\t\t\t\tif (isVirtual) {\r\n\t\t\t\t\tslideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar slideAngle = slideIndex * 90;\r\n\t\t\t\tvar round = Math.floor(slideAngle / 360);\r\n\r\n\t\t\t\tif (rtl) {\r\n\t\t\t\t\tslideAngle = -slideAngle;\r\n\t\t\t\t\tround = Math.floor(-slideAngle / 360);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\r\n\t\t\t\tvar tx = 0;\r\n\t\t\t\tvar ty = 0;\r\n\t\t\t\tvar tz = 0;\r\n\r\n\t\t\t\tif (slideIndex % 4 === 0) {\r\n\t\t\t\t\ttx = -round * 4 * swiperSize;\r\n\t\t\t\t\ttz = 0;\r\n\t\t\t\t} else if ((slideIndex - 1) % 4 === 0) {\r\n\t\t\t\t\ttx = 0;\r\n\t\t\t\t\ttz = -round * 4 * swiperSize;\r\n\t\t\t\t} else if ((slideIndex - 2) % 4 === 0) {\r\n\t\t\t\t\ttx = swiperSize + round * 4 * swiperSize;\r\n\t\t\t\t\ttz = swiperSize;\r\n\t\t\t\t} else if ((slideIndex - 3) % 4 === 0) {\r\n\t\t\t\t\ttx = -swiperSize;\r\n\t\t\t\t\ttz = 3 * swiperSize + swiperSize * 4 * round;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (rtl) {\r\n\t\t\t\t\ttx = -tx;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!isHorizontal) {\r\n\t\t\t\t\tty = tx;\r\n\t\t\t\t\ttx = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar transform = \"rotateX(\" + (isHorizontal ? 0 : -slideAngle) + \"deg) rotateY(\" + (isHorizontal ? slideAngle : 0) + \"deg) translate3d(\" + tx + \"px, \" + ty + \"px, \" + tz + \"px)\";\r\n\r\n\t\t\t\tif (progress <= 1 && progress > -1) {\r\n\t\t\t\t\twrapperRotate = slideIndex * 90 + progress * 90;\r\n\t\t\t\t\tif (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$slideEl.transform(transform);\r\n\r\n\t\t\t\tif (params.slideShadows) {\r\n\t\t\t\t\t// Set shadows\r\n\t\t\t\t\tvar shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\r\n\t\t\t\t\tvar shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\r\n\r\n\t\t\t\t\tif (shadowBefore.length === 0) {\r\n\t\t\t\t\t\tshadowBefore = $(\"
\");\r\n\t\t\t\t\t\t$slideEl.append(shadowBefore);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (shadowAfter.length === 0) {\r\n\t\t\t\t\t\tshadowAfter = $(\"
\");\r\n\t\t\t\t\t\t$slideEl.append(shadowAfter);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\r\n\t\t\t\t\tif (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t$wrapperEl.css({\r\n\t\t\t\t'-webkit-transform-origin': \"50% 50% -\" + swiperSize / 2 + \"px\",\r\n\t\t\t\t'-moz-transform-origin': \"50% 50% -\" + swiperSize / 2 + \"px\",\r\n\t\t\t\t'-ms-transform-origin': \"50% 50% -\" + swiperSize / 2 + \"px\",\r\n\t\t\t\t'transform-origin': \"50% 50% -\" + swiperSize / 2 + \"px\"\r\n\t\t\t});\r\n\r\n\t\t\tif (params.shadow) {\r\n\t\t\t\tif (isHorizontal) {\r\n\t\t\t\t\t$cubeShadowEl.transform(\"translate3d(0px, \" + (swiperWidth / 2 + params.shadowOffset) + \"px, \" + -swiperWidth / 2 + \"px) rotateX(90deg) rotateZ(0deg) scale(\" + params.shadowScale + \")\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\r\n\t\t\t\t\tvar multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\r\n\t\t\t\t\tvar scale1 = params.shadowScale;\r\n\t\t\t\t\tvar scale2 = params.shadowScale / multiplier;\r\n\t\t\t\t\tvar offset = params.shadowOffset;\r\n\t\t\t\t\t$cubeShadowEl.transform(\"scale3d(\" + scale1 + \", 1, \" + scale2 + \") translate3d(0px, \" + (swiperHeight / 2 + offset) + \"px, \" + -swiperHeight / 2 / scale2 + \"px) rotateX(-90deg)\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar zFactor = browser.isSafari || browser.isWebView ? -swiperSize / 2 : 0;\r\n\t\t\t$wrapperEl.transform(\"translate3d(0px,0,\" + zFactor + \"px) rotateX(\" + (swiper.isHorizontal() ? 0 : wrapperRotate) + \"deg) rotateY(\" + (swiper.isHorizontal() ? -wrapperRotate : 0) + \"deg)\");\r\n\t\t},\r\n\t\tsetTransition: function setTransition(duration) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar $el = swiper.$el,\r\n\t\t\t\tslides = swiper.slides;\r\n\t\t\tslides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\r\n\r\n\t\t\tif (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\r\n\t\t\t\t$el.find('.swiper-cube-shadow').transition(duration);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tvar EffectCube = {\r\n\t\tname: 'effect-cube',\r\n\t\tparams: {\r\n\t\t\tcubeEffect: {\r\n\t\t\t\tslideShadows: true,\r\n\t\t\t\tshadow: true,\r\n\t\t\t\tshadowOffset: 20,\r\n\t\t\t\tshadowScale: 0.94\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tcubeEffect: _extends({}, Cube)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tbeforeInit: function beforeInit(swiper) {\r\n\t\t\t\tif (swiper.params.effect !== 'cube') return;\r\n\t\t\t\tswiper.classNames.push(swiper.params.containerModifierClass + \"cube\");\r\n\t\t\t\tswiper.classNames.push(swiper.params.containerModifierClass + \"3d\");\r\n\t\t\t\tvar overwriteParams = {\r\n\t\t\t\t\tslidesPerView: 1,\r\n\t\t\t\t\tslidesPerColumn: 1,\r\n\t\t\t\t\tslidesPerGroup: 1,\r\n\t\t\t\t\twatchSlidesProgress: true,\r\n\t\t\t\t\tresistanceRatio: 0,\r\n\t\t\t\t\tspaceBetween: 0,\r\n\t\t\t\t\tcenteredSlides: false,\r\n\t\t\t\t\tvirtualTranslate: true\r\n\t\t\t\t};\r\n\t\t\t\textend$1(swiper.params, overwriteParams);\r\n\t\t\t\textend$1(swiper.originalParams, overwriteParams);\r\n\t\t\t},\r\n\t\t\tsetTranslate: function setTranslate(swiper) {\r\n\t\t\t\tif (swiper.params.effect !== 'cube') return;\r\n\t\t\t\tswiper.cubeEffect.setTranslate();\r\n\t\t\t},\r\n\t\t\tsetTransition: function setTransition(swiper, duration) {\r\n\t\t\t\tif (swiper.params.effect !== 'cube') return;\r\n\t\t\t\tswiper.cubeEffect.setTransition(duration);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Flip = {\r\n\t\tsetTranslate: function setTranslate() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar slides = swiper.slides,\r\n\t\t\t\trtl = swiper.rtlTranslate;\r\n\r\n\t\t\tfor (var i = 0; i < slides.length; i += 1) {\r\n\t\t\t\tvar $slideEl = slides.eq(i);\r\n\t\t\t\tvar progress = $slideEl[0].progress;\r\n\r\n\t\t\t\tif (swiper.params.flipEffect.limitRotation) {\r\n\t\t\t\t\tprogress = Math.max(Math.min($slideEl[0].progress, 1), -1);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar offset = $slideEl[0].swiperSlideOffset;\r\n\t\t\t\tvar rotate = -180 * progress;\r\n\t\t\t\tvar rotateY = rotate;\r\n\t\t\t\tvar rotateX = 0;\r\n\t\t\t\tvar tx = -offset;\r\n\t\t\t\tvar ty = 0;\r\n\r\n\t\t\t\tif (!swiper.isHorizontal()) {\r\n\t\t\t\t\tty = tx;\r\n\t\t\t\t\ttx = 0;\r\n\t\t\t\t\trotateX = -rotateY;\r\n\t\t\t\t\trotateY = 0;\r\n\t\t\t\t} else if (rtl) {\r\n\t\t\t\t\trotateY = -rotateY;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\r\n\r\n\t\t\t\tif (swiper.params.flipEffect.slideShadows) {\r\n\t\t\t\t\t// Set shadows\r\n\t\t\t\t\tvar shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\r\n\t\t\t\t\tvar shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\r\n\r\n\t\t\t\t\tif (shadowBefore.length === 0) {\r\n\t\t\t\t\t\tshadowBefore = $(\"
\");\r\n\t\t\t\t\t\t$slideEl.append(shadowBefore);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (shadowAfter.length === 0) {\r\n\t\t\t\t\t\tshadowAfter = $(\"
\");\r\n\t\t\t\t\t\t$slideEl.append(shadowAfter);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\r\n\t\t\t\t\tif (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$slideEl.transform(\"translate3d(\" + tx + \"px, \" + ty + \"px, 0px) rotateX(\" + rotateX + \"deg) rotateY(\" + rotateY + \"deg)\");\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetTransition: function setTransition(duration) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar slides = swiper.slides,\r\n\t\t\t\tactiveIndex = swiper.activeIndex,\r\n\t\t\t\t$wrapperEl = swiper.$wrapperEl;\r\n\t\t\tslides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\r\n\r\n\t\t\tif (swiper.params.virtualTranslate && duration !== 0) {\r\n\t\t\t\tvar eventTriggered = false; // eslint-disable-next-line\r\n\r\n\t\t\t\tslides.eq(activeIndex).transitionEnd(function onTransitionEnd() {\r\n\t\t\t\t\tif (eventTriggered) return;\r\n\t\t\t\t\tif (!swiper || swiper.destroyed) return; // if (!$(this).hasClass(swiper.params.slideActiveClass)) return;\r\n\r\n\t\t\t\t\teventTriggered = true;\r\n\t\t\t\t\tswiper.animating = false;\r\n\t\t\t\t\tvar triggerEvents = ['webkitTransitionEnd', 'transitionend'];\r\n\r\n\t\t\t\t\tfor (var i = 0; i < triggerEvents.length; i += 1) {\r\n\t\t\t\t\t\t$wrapperEl.trigger(triggerEvents[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tvar EffectFlip = {\r\n\t\tname: 'effect-flip',\r\n\t\tparams: {\r\n\t\t\tflipEffect: {\r\n\t\t\t\tslideShadows: true,\r\n\t\t\t\tlimitRotation: true\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tflipEffect: _extends({}, Flip)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tbeforeInit: function beforeInit(swiper) {\r\n\t\t\t\tif (swiper.params.effect !== 'flip') return;\r\n\t\t\t\tswiper.classNames.push(swiper.params.containerModifierClass + \"flip\");\r\n\t\t\t\tswiper.classNames.push(swiper.params.containerModifierClass + \"3d\");\r\n\t\t\t\tvar overwriteParams = {\r\n\t\t\t\t\tslidesPerView: 1,\r\n\t\t\t\t\tslidesPerColumn: 1,\r\n\t\t\t\t\tslidesPerGroup: 1,\r\n\t\t\t\t\twatchSlidesProgress: true,\r\n\t\t\t\t\tspaceBetween: 0,\r\n\t\t\t\t\tvirtualTranslate: true\r\n\t\t\t\t};\r\n\t\t\t\textend$1(swiper.params, overwriteParams);\r\n\t\t\t\textend$1(swiper.originalParams, overwriteParams);\r\n\t\t\t},\r\n\t\t\tsetTranslate: function setTranslate(swiper) {\r\n\t\t\t\tif (swiper.params.effect !== 'flip') return;\r\n\t\t\t\tswiper.flipEffect.setTranslate();\r\n\t\t\t},\r\n\t\t\tsetTransition: function setTransition(swiper, duration) {\r\n\t\t\t\tif (swiper.params.effect !== 'flip') return;\r\n\t\t\t\tswiper.flipEffect.setTransition(duration);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Coverflow = {\r\n\t\tsetTranslate: function setTranslate() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar swiperWidth = swiper.width,\r\n\t\t\t\tswiperHeight = swiper.height,\r\n\t\t\t\tslides = swiper.slides,\r\n\t\t\t\tslidesSizesGrid = swiper.slidesSizesGrid;\r\n\t\t\tvar params = swiper.params.coverflowEffect;\r\n\t\t\tvar isHorizontal = swiper.isHorizontal();\r\n\t\t\tvar transform = swiper.translate;\r\n\t\t\tvar center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\r\n\t\t\tvar rotate = isHorizontal ? params.rotate : -params.rotate;\r\n\t\t\tvar translate = params.depth; // Each slide offset from center\r\n\r\n\t\t\tfor (var i = 0, length = slides.length; i < length; i += 1) {\r\n\t\t\t\tvar $slideEl = slides.eq(i);\r\n\t\t\t\tvar slideSize = slidesSizesGrid[i];\r\n\t\t\t\tvar slideOffset = $slideEl[0].swiperSlideOffset;\r\n\t\t\t\tvar offsetMultiplier = (center - slideOffset - slideSize / 2) / slideSize * params.modifier;\r\n\t\t\t\tvar rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\r\n\t\t\t\tvar rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0\r\n\r\n\t\t\t\tvar translateZ = -translate * Math.abs(offsetMultiplier);\r\n\t\t\t\tvar stretch = params.stretch; // Allow percentage to make a relative stretch for responsive sliders\r\n\r\n\t\t\t\tif (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\r\n\t\t\t\t\tstretch = parseFloat(params.stretch) / 100 * slideSize;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\r\n\t\t\t\tvar translateX = isHorizontal ? stretch * offsetMultiplier : 0;\r\n\t\t\t\tvar scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); // Fix for ultra small values\r\n\r\n\t\t\t\tif (Math.abs(translateX) < 0.001) translateX = 0;\r\n\t\t\t\tif (Math.abs(translateY) < 0.001) translateY = 0;\r\n\t\t\t\tif (Math.abs(translateZ) < 0.001) translateZ = 0;\r\n\t\t\t\tif (Math.abs(rotateY) < 0.001) rotateY = 0;\r\n\t\t\t\tif (Math.abs(rotateX) < 0.001) rotateX = 0;\r\n\t\t\t\tif (Math.abs(scale) < 0.001) scale = 0;\r\n\t\t\t\tvar slideTransform = \"translate3d(\" + translateX + \"px,\" + translateY + \"px,\" + translateZ + \"px) rotateX(\" + rotateX + \"deg) rotateY(\" + rotateY + \"deg) scale(\" + scale + \")\";\r\n\t\t\t\t$slideEl.transform(slideTransform);\r\n\t\t\t\t$slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\r\n\r\n\t\t\t\tif (params.slideShadows) {\r\n\t\t\t\t\t// Set shadows\r\n\t\t\t\t\tvar $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\r\n\t\t\t\t\tvar $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\r\n\r\n\t\t\t\t\tif ($shadowBeforeEl.length === 0) {\r\n\t\t\t\t\t\t$shadowBeforeEl = $(\"
\");\r\n\t\t\t\t\t\t$slideEl.append($shadowBeforeEl);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ($shadowAfterEl.length === 0) {\r\n\t\t\t\t\t\t$shadowAfterEl = $(\"
\");\r\n\t\t\t\t\t\t$slideEl.append($shadowAfterEl);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\r\n\t\t\t\t\tif ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetTransition: function setTransition(duration) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tswiper.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\r\n\t\t}\r\n\t};\r\n\tvar EffectCoverflow = {\r\n\t\tname: 'effect-coverflow',\r\n\t\tparams: {\r\n\t\t\tcoverflowEffect: {\r\n\t\t\t\trotate: 50,\r\n\t\t\t\tstretch: 0,\r\n\t\t\t\tdepth: 100,\r\n\t\t\t\tscale: 1,\r\n\t\t\t\tmodifier: 1,\r\n\t\t\t\tslideShadows: true\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tcoverflowEffect: _extends({}, Coverflow)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tbeforeInit: function beforeInit(swiper) {\r\n\t\t\t\tif (swiper.params.effect !== 'coverflow') return;\r\n\t\t\t\tswiper.classNames.push(swiper.params.containerModifierClass + \"coverflow\");\r\n\t\t\t\tswiper.classNames.push(swiper.params.containerModifierClass + \"3d\");\r\n\t\t\t\tswiper.params.watchSlidesProgress = true;\r\n\t\t\t\tswiper.originalParams.watchSlidesProgress = true;\r\n\t\t\t},\r\n\t\t\tsetTranslate: function setTranslate(swiper) {\r\n\t\t\t\tif (swiper.params.effect !== 'coverflow') return;\r\n\t\t\t\tswiper.coverflowEffect.setTranslate();\r\n\t\t\t},\r\n\t\t\tsetTransition: function setTransition(swiper, duration) {\r\n\t\t\t\tif (swiper.params.effect !== 'coverflow') return;\r\n\t\t\t\tswiper.coverflowEffect.setTransition(duration);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tvar Thumbs = {\r\n\t\tinit: function init() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar thumbsParams = swiper.params.thumbs;\r\n\t\t\tif (swiper.thumbs.initialized) return false;\r\n\t\t\tswiper.thumbs.initialized = true;\r\n\t\t\tvar SwiperClass = swiper.constructor;\r\n\r\n\t\t\tif (thumbsParams.swiper instanceof SwiperClass) {\r\n\t\t\t\tswiper.thumbs.swiper = thumbsParams.swiper;\r\n\t\t\t\textend$1(swiper.thumbs.swiper.originalParams, {\r\n\t\t\t\t\twatchSlidesProgress: true,\r\n\t\t\t\t\tslideToClickedSlide: false\r\n\t\t\t\t});\r\n\t\t\t\textend$1(swiper.thumbs.swiper.params, {\r\n\t\t\t\t\twatchSlidesProgress: true,\r\n\t\t\t\t\tslideToClickedSlide: false\r\n\t\t\t\t});\r\n\t\t\t} else if (isObject$1(thumbsParams.swiper)) {\r\n\t\t\t\tswiper.thumbs.swiper = new SwiperClass(extend$1({}, thumbsParams.swiper, {\r\n\t\t\t\t\twatchSlidesVisibility: true,\r\n\t\t\t\t\twatchSlidesProgress: true,\r\n\t\t\t\t\tslideToClickedSlide: false\r\n\t\t\t\t}));\r\n\t\t\t\tswiper.thumbs.swiperCreated = true;\r\n\t\t\t}\r\n\r\n\t\t\tswiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);\r\n\t\t\tswiper.thumbs.swiper.on('tap', swiper.thumbs.onThumbClick);\r\n\t\t\treturn true;\r\n\t\t},\r\n\t\tonThumbClick: function onThumbClick() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar thumbsSwiper = swiper.thumbs.swiper;\r\n\t\t\tif (!thumbsSwiper) return;\r\n\t\t\tvar clickedIndex = thumbsSwiper.clickedIndex;\r\n\t\t\tvar clickedSlide = thumbsSwiper.clickedSlide;\r\n\t\t\tif (clickedSlide && $(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)) return;\r\n\t\t\tif (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\r\n\t\t\tvar slideToIndex;\r\n\r\n\t\t\tif (thumbsSwiper.params.loop) {\r\n\t\t\t\tslideToIndex = parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);\r\n\t\t\t} else {\r\n\t\t\t\tslideToIndex = clickedIndex;\r\n\t\t\t}\r\n\r\n\t\t\tif (swiper.params.loop) {\r\n\t\t\t\tvar currentIndex = swiper.activeIndex;\r\n\r\n\t\t\t\tif (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {\r\n\t\t\t\t\tswiper.loopFix(); // eslint-disable-next-line\r\n\r\n\t\t\t\t\tswiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\r\n\t\t\t\t\tcurrentIndex = swiper.activeIndex;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar prevIndex = swiper.slides.eq(currentIndex).prevAll(\"[data-swiper-slide-index=\\\"\" + slideToIndex + \"\\\"]\").eq(0).index();\r\n\t\t\t\tvar nextIndex = swiper.slides.eq(currentIndex).nextAll(\"[data-swiper-slide-index=\\\"\" + slideToIndex + \"\\\"]\").eq(0).index();\r\n\t\t\t\tif (typeof prevIndex === 'undefined') slideToIndex = nextIndex;else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;else slideToIndex = prevIndex;\r\n\t\t\t}\r\n\r\n\t\t\tswiper.slideTo(slideToIndex);\r\n\t\t},\r\n\t\tupdate: function update(initial) {\r\n\t\t\tvar swiper = this;\r\n\t\t\tvar thumbsSwiper = swiper.thumbs.swiper;\r\n\t\t\tif (!thumbsSwiper) return;\r\n\t\t\tvar slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;\r\n\t\t\tvar autoScrollOffset = swiper.params.thumbs.autoScrollOffset;\r\n\t\t\tvar useOffset = autoScrollOffset && !thumbsSwiper.params.loop;\r\n\r\n\t\t\tif (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {\r\n\t\t\t\tvar currentThumbsIndex = thumbsSwiper.activeIndex;\r\n\t\t\t\tvar newThumbsIndex;\r\n\t\t\t\tvar direction;\r\n\r\n\t\t\t\tif (thumbsSwiper.params.loop) {\r\n\t\t\t\t\tif (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) {\r\n\t\t\t\t\t\tthumbsSwiper.loopFix(); // eslint-disable-next-line\r\n\r\n\t\t\t\t\t\tthumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;\r\n\t\t\t\t\t\tcurrentThumbsIndex = thumbsSwiper.activeIndex;\r\n\t\t\t\t\t} // Find actual thumbs index to slide to\r\n\r\n\r\n\t\t\t\t\tvar prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(\"[data-swiper-slide-index=\\\"\" + swiper.realIndex + \"\\\"]\").eq(0).index();\r\n\t\t\t\t\tvar nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(\"[data-swiper-slide-index=\\\"\" + swiper.realIndex + \"\\\"]\").eq(0).index();\r\n\t\t\t\t\tif (typeof prevThumbsIndex === 'undefined') newThumbsIndex = nextThumbsIndex;else if (typeof nextThumbsIndex === 'undefined') newThumbsIndex = prevThumbsIndex;else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) newThumbsIndex = currentThumbsIndex;else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) newThumbsIndex = nextThumbsIndex;else newThumbsIndex = prevThumbsIndex;\r\n\t\t\t\t\tdirection = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewThumbsIndex = swiper.realIndex;\r\n\t\t\t\t\tdirection = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (useOffset) {\r\n\t\t\t\t\tnewThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\r\n\t\t\t\t\tif (thumbsSwiper.params.centeredSlides) {\r\n\t\t\t\t\t\tif (newThumbsIndex > currentThumbsIndex) {\r\n\t\t\t\t\t\t\tnewThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tnewThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (newThumbsIndex > currentThumbsIndex) {\r\n\t\t\t\t\t\tnewThumbsIndex = newThumbsIndex - slidesPerView + 1;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\r\n\t\t\t\t}\r\n\t\t\t} // Activate thumbs\r\n\r\n\r\n\t\t\tvar thumbsToActivate = 1;\r\n\t\t\tvar thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\r\n\r\n\t\t\tif (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\r\n\t\t\t\tthumbsToActivate = swiper.params.slidesPerView;\r\n\t\t\t}\r\n\r\n\t\t\tif (!swiper.params.thumbs.multipleActiveThumbs) {\r\n\t\t\t\tthumbsToActivate = 1;\r\n\t\t\t}\r\n\r\n\t\t\tthumbsToActivate = Math.floor(thumbsToActivate);\r\n\t\t\tthumbsSwiper.slides.removeClass(thumbActiveClass);\r\n\r\n\t\t\tif (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {\r\n\t\t\t\tfor (var i = 0; i < thumbsToActivate; i += 1) {\r\n\t\t\t\t\tthumbsSwiper.$wrapperEl.children(\"[data-swiper-slide-index=\\\"\" + (swiper.realIndex + i) + \"\\\"]\").addClass(thumbActiveClass);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (var _i = 0; _i < thumbsToActivate; _i += 1) {\r\n\t\t\t\t\tthumbsSwiper.slides.eq(swiper.realIndex + _i).addClass(thumbActiveClass);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tvar Thumbs$1 = {\r\n\t\tname: 'thumbs',\r\n\t\tparams: {\r\n\t\t\tthumbs: {\r\n\t\t\t\tswiper: null,\r\n\t\t\t\tmultipleActiveThumbs: true,\r\n\t\t\t\tautoScrollOffset: 0,\r\n\t\t\t\tslideThumbActiveClass: 'swiper-slide-thumb-active',\r\n\t\t\t\tthumbsContainerClass: 'swiper-container-thumbs'\r\n\t\t\t}\r\n\t\t},\r\n\t\tcreate: function create() {\r\n\t\t\tvar swiper = this;\r\n\t\t\tbindModuleMethods(swiper, {\r\n\t\t\t\tthumbs: _extends({\r\n\t\t\t\t\tswiper: null,\r\n\t\t\t\t\tinitialized: false\r\n\t\t\t\t}, Thumbs)\r\n\t\t\t});\r\n\t\t},\r\n\t\ton: {\r\n\t\t\tbeforeInit: function beforeInit(swiper) {\r\n\t\t\t\tvar thumbs = swiper.params.thumbs;\r\n\t\t\t\tif (!thumbs || !thumbs.swiper) return;\r\n\t\t\t\tswiper.thumbs.init();\r\n\t\t\t\tswiper.thumbs.update(true);\r\n\t\t\t},\r\n\t\t\tslideChange: function slideChange(swiper) {\r\n\t\t\t\tif (!swiper.thumbs.swiper) return;\r\n\t\t\t\tswiper.thumbs.update();\r\n\t\t\t},\r\n\t\t\tupdate: function update(swiper) {\r\n\t\t\t\tif (!swiper.thumbs.swiper) return;\r\n\t\t\t\tswiper.thumbs.update();\r\n\t\t\t},\r\n\t\t\tresize: function resize(swiper) {\r\n\t\t\t\tif (!swiper.thumbs.swiper) return;\r\n\t\t\t\tswiper.thumbs.update();\r\n\t\t\t},\r\n\t\t\tobserverUpdate: function observerUpdate(swiper) {\r\n\t\t\t\tif (!swiper.thumbs.swiper) return;\r\n\t\t\t\tswiper.thumbs.update();\r\n\t\t\t},\r\n\t\t\tsetTransition: function setTransition(swiper, duration) {\r\n\t\t\t\tvar thumbsSwiper = swiper.thumbs.swiper;\r\n\t\t\t\tif (!thumbsSwiper) return;\r\n\t\t\t\tthumbsSwiper.setTransition(duration);\r\n\t\t\t},\r\n\t\t\tbeforeDestroy: function beforeDestroy(swiper) {\r\n\t\t\t\tvar thumbsSwiper = swiper.thumbs.swiper;\r\n\t\t\t\tif (!thumbsSwiper) return;\r\n\r\n\t\t\t\tif (swiper.thumbs.swiperCreated && thumbsSwiper) {\r\n\t\t\t\t\tthumbsSwiper.destroy();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Swiper Class\r\n\tvar components = [Virtual$1, Keyboard$1, Mousewheel$1, Navigation$1, Pagination$1, Scrollbar$1, Parallax$1, Zoom$1, Lazy$1, Controller$1, A11y$1, History$1, HashNavigation$1, Autoplay$1, EffectFade, EffectCube, EffectFlip, EffectCoverflow, Thumbs$1];\r\n\tSwiper.use(components);\r\n\r\n\treturn Swiper;\r\n\r\n})));\r\n"],"file":"swiper.min.js"}