{"version":3,"file":"97a437f16b86f7d0ac0147555e2931d2c9bf962f-484bad54d8ecfcfe9b02.js","mappings":"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","sources":["webpack://gatsby-starter-default/./node_modules/swiper/shared/ssr-window.esm.mjs","webpack://gatsby-starter-default/./node_modules/swiper/shared/swiper-core.mjs","webpack://gatsby-starter-default/./node_modules/swiper/shared/utils.mjs","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js"],"sourcesContent":["/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;\n}\nfunction extend(target, src) {\n if (target === void 0) {\n target = {};\n }\n if (src === void 0) {\n src = {};\n }\n Object.keys(src).forEach(function (key) {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\nvar ssrDocument = {\n body: {},\n addEventListener: function addEventListener() {},\n removeEventListener: function removeEventListener() {},\n activeElement: {\n blur: function blur() {},\n nodeName: ''\n },\n querySelector: function querySelector() {\n return null;\n },\n querySelectorAll: function querySelectorAll() {\n return [];\n },\n getElementById: function getElementById() {\n return null;\n },\n createEvent: function createEvent() {\n return {\n initEvent: function initEvent() {}\n };\n },\n createElement: function createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function setAttribute() {},\n getElementsByTagName: function getElementsByTagName() {\n return [];\n }\n };\n },\n createElementNS: function createElementNS() {\n return {};\n },\n importNode: function importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n }\n};\nfunction getDocument() {\n var doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\nvar ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: ''\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n },\n history: {\n replaceState: function replaceState() {},\n pushState: function pushState() {},\n go: function go() {},\n back: function back() {}\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function addEventListener() {},\n removeEventListener: function removeEventListener() {},\n getComputedStyle: function getComputedStyle() {\n return {\n getPropertyValue: function getPropertyValue() {\n return '';\n }\n };\n },\n Image: function Image() {},\n Date: function Date() {},\n screen: {},\n setTimeout: function setTimeout() {},\n clearTimeout: function clearTimeout() {},\n matchMedia: function matchMedia() {\n return {};\n },\n requestAnimationFrame: function requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame: function cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n }\n};\nfunction getWindow() {\n var win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\nexport { getWindow as a, getDocument as g };","import _classCallCheck from \"/codebuild/output/src745949652/src/corporate-site-gatsby/node_modules/@babel/runtime/helpers/esm/classCallCheck.js\";\nimport _createClass from \"/codebuild/output/src745949652/src/corporate-site-gatsby/node_modules/@babel/runtime/helpers/esm/createClass.js\";\nimport _defineProperty from \"/codebuild/output/src745949652/src/corporate-site-gatsby/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _toConsumableArray from \"/codebuild/output/src745949652/src/corporate-site-gatsby/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _slicedToArray from \"/codebuild/output/src745949652/src/corporate-site-gatsby/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nimport { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\nimport { a as elementParents, m as elementStyle, e as elementChildren, s as setCSSProperty, f as elementOuterSize, o as elementNextAll, p as elementPrevAll, i as getTranslate, q as animateCSSModeScroll, n as nextTick, r as showWarning, c as createElement, d as now, t as extend, g as elementIndex, u as deleteProps } from './utils.mjs';\nvar support;\nfunction calcSupport() {\n var window = getWindow();\n var document = getDocument();\n return {\n smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)\n };\n}\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\nvar deviceCached;\nfunction calcDevice(_temp) {\n var _ref3 = _temp === void 0 ? {} : _temp,\n userAgent = _ref3.userAgent;\n var support = getSupport();\n var window = getWindow();\n var platform = window.navigator.platform;\n var ua = userAgent || window.navigator.userAgent;\n var device = {\n ios: false,\n android: false\n };\n var screenWidth = window.screen.width;\n var screenHeight = window.screen.height;\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n var windows = platform === 'Win32';\n var macos = platform === 'MacIntel';\n\n // iPadOs 13 fix\n var iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n if (!ipad && macos && support.touch && iPadScreens.indexOf(\"\".concat(screenWidth, \"x\").concat(screenHeight)) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n }\n\n // Android\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n\n // Export object\n return device;\n}\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n return deviceCached;\n}\nvar browser;\nfunction calcBrowser() {\n var window = getWindow();\n var needPerspectiveFix = false;\n function isSafari() {\n var ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n if (isSafari()) {\n var ua = String(window.navigator.userAgent);\n if (ua.includes('Version/')) {\n var _ua$split$1$split$0$s = ua.split('Version/')[1].split(' ')[0].split('.').map(function (num) {\n return Number(num);\n }),\n _ua$split$1$split$0$s2 = _slicedToArray(_ua$split$1$split$0$s, 2),\n major = _ua$split$1$split$0$s2[0],\n minor = _ua$split$1$split$0$s2[1];\n needPerspectiveFix = major < 16 || major === 16 && minor < 2;\n }\n }\n return {\n isSafari: needPerspectiveFix || isSafari(),\n needPerspectiveFix: needPerspectiveFix,\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n}\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n return browser;\n}\nfunction Resize(_ref) {\n var swiper = _ref.swiper,\n on = _ref.on,\n emit = _ref.emit;\n var window = getWindow();\n var observer = null;\n var animationFrame = null;\n var resizeHandler = function resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n var createObserver = function createObserver() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(function (entries) {\n animationFrame = window.requestAnimationFrame(function () {\n var width = swiper.width,\n height = swiper.height;\n var newWidth = width;\n var newHeight = height;\n entries.forEach(function (_ref2) {\n var contentBoxSize = _ref2.contentBoxSize,\n contentRect = _ref2.contentRect,\n target = _ref2.target;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n var removeObserver = function removeObserver() {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n var orientationChangeHandler = function orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n on('init', function () {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', function () {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n}\nfunction Observer(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n var observers = [];\n var window = getWindow();\n var attach = function attach(target, options) {\n if (options === void 0) {\n options = {};\n }\n var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n var observer = new ObserverFunc(function (mutations) {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (swiper.__preventObserver__) return;\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n var observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n observers.push(observer);\n };\n var init = function init() {\n if (!swiper.params.observer) return;\n if (swiper.params.observeParents) {\n var containerParents = elementParents(swiper.hostEl);\n for (var i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n }\n // Observe container\n attach(swiper.hostEl, {\n childList: swiper.params.observeSlideChildren\n });\n\n // Observe wrapper\n attach(swiper.wrapperEl, {\n attributes: false\n });\n };\n var destroy = function destroy() {\n observers.forEach(function (observer) {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n}\n\n/* eslint-disable no-underscore-dangle */\n\nvar eventsEmitter = {\n on: function on(events, handler, priority) {\n var self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(function (event) {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once: function once(events, handler, priority) {\n var self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n function onceHandler() {\n self.off(events, onceHandler);\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n handler.apply(self, args);\n }\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny: function onAny(handler, priority) {\n var self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n return self;\n },\n offAny: function offAny(handler) {\n var self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n var index = self.eventsAnyListeners.indexOf(handler);\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n return self;\n },\n off: function off(events, handler) {\n var self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(function (event) {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler, index) {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit: function emit() {\n var self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n var events;\n var data;\n var context;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n data.unshift(context);\n var eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(function (event) {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(function (eventHandler) {\n eventHandler.apply(context, [event].concat(_toConsumableArray(data)));\n });\n }\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler) {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};\nfunction updateSize() {\n var swiper = this;\n var width;\n var height;\n var el = swiper.el;\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = el.clientWidth;\n }\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = el.clientHeight;\n }\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n }\n\n // Subtract paddings\n width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10);\n height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width: width,\n height: height,\n size: swiper.isHorizontal() ? width : height\n });\n}\nfunction updateSlides() {\n var swiper = this;\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0);\n }\n var params = swiper.params;\n var wrapperEl = swiper.wrapperEl,\n slidesEl = swiper.slidesEl,\n swiperSize = swiper.size,\n rtl = swiper.rtlTranslate,\n wrongRTL = swiper.wrongRTL;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n var slides = elementChildren(slidesEl, \".\".concat(swiper.params.slideClass, \", swiper-slide\"));\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n var snapGrid = [];\n var slidesGrid = [];\n var slidesSizesGrid = [];\n var offsetBefore = params.slidesOffsetBefore;\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n var offsetAfter = params.slidesOffsetAfter;\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n var previousSnapGridLength = swiper.snapGrid.length;\n var previousSlidesGridLength = swiper.slidesGrid.length;\n var spaceBetween = params.spaceBetween;\n var slidePosition = -offsetBefore;\n var prevSlideSize = 0;\n var index = 0;\n if (typeof swiperSize === 'undefined') {\n return;\n }\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n swiper.virtualSize = -spaceBetween;\n\n // reset margins\n slides.forEach(function (slideEl) {\n if (rtl) {\n slideEl.style.marginLeft = '';\n } else {\n slideEl.style.marginRight = '';\n }\n slideEl.style.marginBottom = '';\n slideEl.style.marginTop = '';\n });\n\n // reset cssMode offsets\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');\n }\n var gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n if (gridEnabled) {\n swiper.grid.initSlides(slides);\n } else if (swiper.grid) {\n swiper.grid.unsetSlides();\n }\n\n // Calc slides\n var slideSize;\n var shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(function (key) {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n for (var i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n var _slide = void 0;\n if (slides[i]) _slide = slides[i];\n if (gridEnabled) {\n swiper.grid.updateSlide(i, _slide, slides);\n }\n if (slides[i] && elementStyle(_slide, 'display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[swiper.getDirectionLabel('width')] = \"\";\n }\n var slideStyles = getComputedStyle(_slide);\n var currentTransform = _slide.style.transform;\n var currentWebKitTransform = _slide.style.webkitTransform;\n if (currentTransform) {\n _slide.style.transform = 'none';\n }\n if (currentWebKitTransform) {\n _slide.style.webkitTransform = 'none';\n }\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? elementOuterSize(_slide, 'width', true) : elementOuterSize(_slide, 'height', true);\n } else {\n // eslint-disable-next-line\n var width = getDirectionPropertyValue(slideStyles, 'width');\n var paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n var paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n var marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n var marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n var boxSizing = slideStyles.getPropertyValue('box-sizing');\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n var _slide2 = _slide,\n clientWidth = _slide2.clientWidth,\n offsetWidth = _slide2.offsetWidth;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n if (currentTransform) {\n _slide.style.transform = currentTransform;\n }\n if (currentWebKitTransform) {\n _slide.style.webkitTransform = currentWebKitTransform;\n }\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n if (slides[i]) {\n slides[i].style[swiper.getDirectionLabel('width')] = \"\".concat(slideSize, \"px\");\n }\n }\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n slidesSizesGrid.push(slideSize);\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n wrapperEl.style.width = \"\".concat(swiper.virtualSize + spaceBetween, \"px\");\n }\n if (params.setWrapperSize) {\n wrapperEl.style[swiper.getDirectionLabel('width')] = \"\".concat(swiper.virtualSize + spaceBetween, \"px\");\n }\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid);\n }\n\n // Remove last grid elements depending on width\n if (!params.centeredSlides) {\n var newSlidesGrid = [];\n for (var _i = 0; _i < snapGrid.length; _i += 1) {\n var slidesGridItem = snapGrid[_i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[_i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n snapGrid = newSlidesGrid;\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n if (isVirtual && params.loop) {\n var size = slidesSizesGrid[0] + spaceBetween;\n if (params.slidesPerGroup > 1) {\n var groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);\n var groupSize = size * params.slidesPerGroup;\n for (var _i2 = 0; _i2 < groups; _i2 += 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);\n }\n }\n for (var _i3 = 0; _i3 < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; _i3 += 1) {\n if (params.slidesPerGroup === 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + size);\n }\n slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);\n swiper.virtualSize += size;\n }\n }\n if (snapGrid.length === 0) snapGrid = [0];\n if (spaceBetween !== 0) {\n var key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight');\n slides.filter(function (_, slideIndex) {\n if (!params.cssMode || params.loop) return true;\n if (slideIndex === slides.length - 1) {\n return false;\n }\n return true;\n }).forEach(function (slideEl) {\n slideEl.style[key] = \"\".concat(spaceBetween, \"px\");\n });\n }\n if (params.centeredSlides && params.centeredSlidesBounds) {\n var allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n allSlidesSize -= spaceBetween;\n var maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(function (snap) {\n if (snap <= 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n if (params.centerInsufficientSlides) {\n var _allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n _allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n _allSlidesSize -= spaceBetween;\n if (_allSlidesSize < swiperSize) {\n var allSlidesOffset = (swiperSize - _allSlidesSize) / 2;\n snapGrid.forEach(function (snap, snapIndex) {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach(function (snap, snapIndex) {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n Object.assign(swiper, {\n slides: slides,\n snapGrid: snapGrid,\n slidesGrid: slidesGrid,\n slidesSizesGrid: slidesSizesGrid\n });\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', \"\".concat(-snapGrid[0], \"px\"));\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', \"\".concat(swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2, \"px\"));\n var addToSnapGrid = -swiper.snapGrid[0];\n var addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(function (v) {\n return v + addToSnapGrid;\n });\n swiper.slidesGrid = swiper.slidesGrid.map(function (v) {\n return v + addToSlidesGrid;\n });\n }\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n swiper.emit('slidesUpdated');\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n var backFaceHiddenClass = \"\".concat(params.containerModifierClass, \"backface-hidden\");\n var hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.el.classList.remove(backFaceHiddenClass);\n }\n }\n}\nfunction updateAutoHeight(speed) {\n var swiper = this;\n var activeSlides = [];\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var newHeight = 0;\n var i;\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n var getSlideByIndex = function getSlideByIndex(index) {\n if (isVirtual) {\n return swiper.slides[swiper.getSlideIndexByData(index)];\n }\n return swiper.slides[index];\n };\n // Find slides currently in view\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || []).forEach(function (slide) {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n var index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n }\n\n // Find new height from highest slide in view\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n\n // Update Height\n if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = \"\".concat(newHeight, \"px\");\n}\nfunction updateSlidesOffset() {\n var swiper = this;\n var slides = swiper.slides;\n // eslint-disable-next-line\n var minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;\n for (var i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment();\n }\n}\nfunction updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n var swiper = this;\n var params = swiper.params;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate,\n snapGrid = swiper.snapGrid;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n var offsetCenter = -translate;\n if (rtl) offsetCenter = translate;\n\n // Visible Slides\n slides.forEach(function (slideEl) {\n slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass);\n });\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n var spaceBetween = params.spaceBetween;\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n for (var i = 0; i < slides.length; i += 1) {\n var _slide3 = slides[i];\n var slideOffset = _slide3.swiperSlideOffset;\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (_slide3.swiperSlideSize + spaceBetween);\n var originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (_slide3.swiperSlideSize + spaceBetween);\n var slideBefore = -(offsetCenter - slideOffset);\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n var isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i];\n var isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n if (isVisible) {\n swiper.visibleSlides.push(_slide3);\n swiper.visibleSlidesIndexes.push(i);\n slides[i].classList.add(params.slideVisibleClass);\n }\n if (isFullyVisible) {\n slides[i].classList.add(params.slideFullyVisibleClass);\n }\n _slide3.progress = rtl ? -slideProgress : slideProgress;\n _slide3.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n}\nfunction updateProgress(translate) {\n var swiper = this;\n if (typeof translate === 'undefined') {\n var multiplier = swiper.rtlTranslate ? -1 : 1;\n // eslint-disable-next-line\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n var params = swiper.params;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n var progress = swiper.progress,\n isBeginning = swiper.isBeginning,\n isEnd = swiper.isEnd,\n progressLoop = swiper.progressLoop;\n var wasBeginning = isBeginning;\n var wasEnd = isEnd;\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n var isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;\n var isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;\n isBeginning = isBeginningRounded || progress <= 0;\n isEnd = isEndRounded || progress >= 1;\n if (isBeginningRounded) progress = 0;\n if (isEndRounded) progress = 1;\n }\n if (params.loop) {\n var firstSlideIndex = swiper.getSlideIndexByData(0);\n var lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1);\n var firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];\n var lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];\n var translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];\n var translateAbs = Math.abs(translate);\n if (translateAbs >= firstSlideTranslate) {\n progressLoop = (translateAbs - firstSlideTranslate) / translateMax;\n } else {\n progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;\n }\n if (progressLoop > 1) progressLoop -= 1;\n }\n Object.assign(swiper, {\n progress: progress,\n progressLoop: progressLoop,\n isBeginning: isBeginning,\n isEnd: isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n swiper.emit('progress', progress);\n}\nfunction updateSlidesClasses() {\n var swiper = this;\n var slides = swiper.slides,\n params = swiper.params,\n slidesEl = swiper.slidesEl,\n activeIndex = swiper.activeIndex;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n var getFilteredSlide = function getFilteredSlide(selector) {\n return elementChildren(slidesEl, \".\".concat(params.slideClass).concat(selector, \", swiper-slide\").concat(selector))[0];\n };\n slides.forEach(function (slideEl) {\n slideEl.classList.remove(params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n });\n var activeSlide;\n var prevSlide;\n var nextSlide;\n if (isVirtual) {\n if (params.loop) {\n var slideIndex = activeIndex - swiper.virtual.slidesBefore;\n if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;\n if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;\n activeSlide = getFilteredSlide(\"[data-swiper-slide-index=\\\"\".concat(slideIndex, \"\\\"]\"));\n } else {\n activeSlide = getFilteredSlide(\"[data-swiper-slide-index=\\\"\".concat(activeIndex, \"\\\"]\"));\n }\n } else {\n if (gridEnabled) {\n activeSlide = slides.filter(function (slideEl) {\n return slideEl.column === activeIndex;\n })[0];\n nextSlide = slides.filter(function (slideEl) {\n return slideEl.column === activeIndex + 1;\n })[0];\n prevSlide = slides.filter(function (slideEl) {\n return slideEl.column === activeIndex - 1;\n })[0];\n } else {\n activeSlide = slides[activeIndex];\n }\n }\n if (activeSlide) {\n // Active classes\n activeSlide.classList.add(params.slideActiveClass);\n if (gridEnabled) {\n if (nextSlide) {\n nextSlide.classList.add(params.slideNextClass);\n }\n if (prevSlide) {\n prevSlide.classList.add(params.slidePrevClass);\n }\n } else {\n // Next Slide\n nextSlide = elementNextAll(activeSlide, \".\".concat(params.slideClass, \", swiper-slide\"))[0];\n if (params.loop && !nextSlide) {\n nextSlide = slides[0];\n }\n if (nextSlide) {\n nextSlide.classList.add(params.slideNextClass);\n }\n\n // Prev Slide\n prevSlide = elementPrevAll(activeSlide, \".\".concat(params.slideClass, \", swiper-slide\"))[0];\n if (params.loop && !prevSlide === 0) {\n prevSlide = slides[slides.length - 1];\n }\n if (prevSlide) {\n prevSlide.classList.add(params.slidePrevClass);\n }\n }\n }\n swiper.emitSlidesClasses();\n}\nvar processLazyPreloader = function processLazyPreloader(swiper, imageEl) {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n var slideSelector = function slideSelector() {\n return swiper.isElement ? \"swiper-slide\" : \".\".concat(swiper.params.slideClass);\n };\n var slideEl = imageEl.closest(slideSelector());\n if (slideEl) {\n var lazyEl = slideEl.querySelector(\".\".concat(swiper.params.lazyPreloaderClass));\n if (!lazyEl && swiper.isElement) {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(\".\".concat(swiper.params.lazyPreloaderClass));\n } else {\n // init later\n requestAnimationFrame(function () {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(\".\".concat(swiper.params.lazyPreloaderClass));\n if (lazyEl) lazyEl.remove();\n }\n });\n }\n }\n if (lazyEl) lazyEl.remove();\n }\n};\nvar unlazy = function unlazy(swiper, index) {\n if (!swiper.slides[index]) return;\n var imageEl = swiper.slides[index].querySelector('[loading=\"lazy\"]');\n if (imageEl) imageEl.removeAttribute('loading');\n};\nvar preload = function preload(swiper) {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n var amount = swiper.params.lazyPreloadPrevNext;\n var len = swiper.slides.length;\n if (!len || !amount || amount < 0) return;\n amount = Math.min(amount, len);\n var slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView);\n var activeIndex = swiper.activeIndex;\n if (swiper.params.grid && swiper.params.grid.rows > 1) {\n var activeColumn = activeIndex;\n var preloadColumns = [activeColumn - amount];\n preloadColumns.push.apply(preloadColumns, _toConsumableArray(Array.from({\n length: amount\n }).map(function (_, i) {\n return activeColumn + slidesPerView + i;\n })));\n swiper.slides.forEach(function (slideEl, i) {\n if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i);\n });\n return;\n }\n var slideIndexLastInView = activeIndex + slidesPerView - 1;\n if (swiper.params.rewind || swiper.params.loop) {\n for (var i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) {\n var realIndex = (i % len + len) % len;\n if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex);\n }\n } else {\n for (var _i4 = Math.max(activeIndex - amount, 0); _i4 <= Math.min(slideIndexLastInView + amount, len - 1); _i4 += 1) {\n if (_i4 !== activeIndex && (_i4 > slideIndexLastInView || _i4 < activeIndex)) {\n unlazy(swiper, _i4);\n }\n }\n }\n};\nfunction getActiveIndexByTranslate(swiper) {\n var slidesGrid = swiper.slidesGrid,\n params = swiper.params;\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var activeIndex;\n for (var i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n }\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n return activeIndex;\n}\nfunction updateActiveIndex(newActiveIndex) {\n var swiper = this;\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var snapGrid = swiper.snapGrid,\n params = swiper.params,\n previousIndex = swiper.activeIndex,\n previousRealIndex = swiper.realIndex,\n previousSnapIndex = swiper.snapIndex;\n var activeIndex = newActiveIndex;\n var snapIndex;\n var getVirtualRealIndex = function getVirtualRealIndex(aIndex) {\n var realIndex = aIndex - swiper.virtual.slidesBefore;\n if (realIndex < 0) {\n realIndex = swiper.virtual.slides.length + realIndex;\n }\n if (realIndex >= swiper.virtual.slides.length) {\n realIndex -= swiper.virtual.slides.length;\n }\n return realIndex;\n };\n if (typeof activeIndex === 'undefined') {\n activeIndex = getActiveIndexByTranslate(swiper);\n }\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n var skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n if (activeIndex === previousIndex && !swiper.params.loop) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n return;\n }\n if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.realIndex = getVirtualRealIndex(activeIndex);\n return;\n }\n var gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n\n // Get real index\n var realIndex;\n if (swiper.virtual && params.virtual.enabled && params.loop) {\n realIndex = getVirtualRealIndex(activeIndex);\n } else if (gridEnabled) {\n var firstSlideInColumn = swiper.slides.filter(function (slideEl) {\n return slideEl.column === activeIndex;\n })[0];\n var activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10);\n if (Number.isNaN(activeSlideIndex)) {\n activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0);\n }\n realIndex = Math.floor(activeSlideIndex / params.grid.rows);\n } else if (swiper.slides[activeIndex]) {\n var slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index');\n if (slideIndex) {\n realIndex = parseInt(slideIndex, 10);\n } else {\n realIndex = activeIndex;\n }\n } else {\n realIndex = activeIndex;\n }\n Object.assign(swiper, {\n previousSnapIndex: previousSnapIndex,\n snapIndex: snapIndex,\n previousRealIndex: previousRealIndex,\n realIndex: realIndex,\n previousIndex: previousIndex,\n activeIndex: activeIndex\n });\n if (swiper.initialized) {\n preload(swiper);\n }\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n swiper.emit('slideChange');\n }\n}\nfunction updateClickedSlide(el, path) {\n var swiper = this;\n var params = swiper.params;\n var slide = el.closest(\".\".concat(params.slideClass, \", swiper-slide\"));\n if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) {\n _toConsumableArray(path.slice(path.indexOf(el) + 1, path.length)).forEach(function (pathEl) {\n if (!slide && pathEl.matches && pathEl.matches(\".\".concat(params.slideClass, \", swiper-slide\"))) {\n slide = pathEl;\n }\n });\n }\n var slideFound = false;\n var slideIndex;\n if (slide) {\n for (var i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}\nvar update = {\n updateSize: updateSize,\n updateSlides: updateSlides,\n updateAutoHeight: updateAutoHeight,\n updateSlidesOffset: updateSlidesOffset,\n updateSlidesProgress: updateSlidesProgress,\n updateProgress: updateProgress,\n updateSlidesClasses: updateSlidesClasses,\n updateActiveIndex: updateActiveIndex,\n updateClickedSlide: updateClickedSlide\n};\nfunction getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n var swiper = this;\n var params = swiper.params,\n rtl = swiper.rtlTranslate,\n translate = swiper.translate,\n wrapperEl = swiper.wrapperEl;\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n if (params.cssMode) {\n return translate;\n }\n var currentTranslate = getTranslate(wrapperEl, axis);\n currentTranslate += swiper.cssOverflowAdjustment();\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}\nfunction setTranslate(translate, byController) {\n var swiper = this;\n var rtl = swiper.rtlTranslate,\n params = swiper.params,\n wrapperEl = swiper.wrapperEl,\n progress = swiper.progress;\n var x = 0;\n var y = 0;\n var z = 0;\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y;\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n if (swiper.isHorizontal()) {\n x -= swiper.cssOverflowAdjustment();\n } else {\n y -= swiper.cssOverflowAdjustment();\n }\n wrapperEl.style.transform = \"translate3d(\".concat(x, \"px, \").concat(y, \"px, \").concat(z, \"px)\");\n }\n\n // Check if we need to update progress\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n swiper.emit('setTranslate', swiper.translate, byController);\n}\nfunction minTranslate() {\n return -this.snapGrid[0];\n}\nfunction maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}\nfunction translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n var swiper = this;\n var params = swiper.params,\n wrapperEl = swiper.wrapperEl;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n var minTranslate = swiper.minTranslate();\n var maxTranslate = swiper.maxTranslate();\n var newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;\n\n // Update progress\n swiper.updateProgress(newTranslate);\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n var _wrapperEl$scrollTo;\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper: swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _defineProperty(_wrapperEl$scrollTo, isH ? 'left' : 'top', -newTranslate), _defineProperty(_wrapperEl$scrollTo, \"behavior\", 'smooth'), _wrapperEl$scrollTo));\n }\n return true;\n }\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n return true;\n}\nvar translate = {\n getTranslate: getSwiperTranslate,\n setTranslate: setTranslate,\n minTranslate: minTranslate,\n maxTranslate: maxTranslate,\n translateTo: translateTo\n};\nfunction setTransition(duration, byController) {\n var swiper = this;\n if (!swiper.params.cssMode) {\n swiper.wrapperEl.style.transitionDuration = \"\".concat(duration, \"ms\");\n swiper.wrapperEl.style.transitionDelay = duration === 0 ? \"0ms\" : '';\n }\n swiper.emit('setTransition', duration, byController);\n}\nfunction transitionEmit(_ref) {\n var swiper = _ref.swiper,\n runCallbacks = _ref.runCallbacks,\n direction = _ref.direction,\n step = _ref.step;\n var activeIndex = swiper.activeIndex,\n previousIndex = swiper.previousIndex;\n var dir = direction;\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n swiper.emit(\"transition\".concat(step));\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit(\"slideResetTransition\".concat(step));\n return;\n }\n swiper.emit(\"slideChangeTransition\".concat(step));\n if (dir === 'next') {\n swiper.emit(\"slideNextTransition\".concat(step));\n } else {\n swiper.emit(\"slidePrevTransition\".concat(step));\n }\n }\n}\nfunction transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n var swiper = this;\n var params = swiper.params;\n if (params.cssMode) return;\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n transitionEmit({\n swiper: swiper,\n runCallbacks: runCallbacks,\n direction: direction,\n step: 'Start'\n });\n}\nfunction transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n var swiper = this;\n var params = swiper.params;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper: swiper,\n runCallbacks: runCallbacks,\n direction: direction,\n step: 'End'\n });\n}\nvar transition = {\n setTransition: setTransition,\n transitionStart: transitionStart,\n transitionEnd: transitionEnd\n};\nfunction slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n index = parseInt(index, 10);\n }\n var swiper = this;\n var slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n previousIndex = swiper.previousIndex,\n activeIndex = swiper.activeIndex,\n rtl = swiper.rtlTranslate,\n wrapperEl = swiper.wrapperEl,\n enabled = swiper.enabled;\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n var skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n var snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n var translate = -snapGrid[snapIndex];\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n var normalizedTranslate = -Math.floor(translate * 100);\n var normalizedGrid = Math.floor(slidesGrid[i] * 100);\n var normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n }\n // Directions locks\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) {\n return false;\n }\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) {\n return false;\n }\n }\n }\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n // Update progress\n swiper.updateProgress(translate);\n var direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';\n\n // Update Index\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex);\n // Update Height\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n swiper.updateSlidesClasses();\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n return false;\n }\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n var t = rtl ? translate : -translate;\n if (speed === 0) {\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {\n swiper._cssModeVirtualInitialSet = true;\n requestAnimationFrame(function () {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n });\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n if (isVirtual) {\n requestAnimationFrame(function () {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._immediateVirtual = false;\n });\n }\n } else {\n var _wrapperEl$scrollTo2;\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper: swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo((_wrapperEl$scrollTo2 = {}, _defineProperty(_wrapperEl$scrollTo2, isH ? 'left' : 'top', t), _defineProperty(_wrapperEl$scrollTo2, \"behavior\", 'smooth'), _wrapperEl$scrollTo2));\n }\n return true;\n }\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n }\n return true;\n}\nfunction slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n var indexAsNumber = parseInt(index, 10);\n index = indexAsNumber;\n }\n var swiper = this;\n var gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;\n var newIndex = index;\n if (swiper.params.loop) {\n if (swiper.virtual && swiper.params.virtual.enabled) {\n // eslint-disable-next-line\n newIndex = newIndex + swiper.virtual.slidesBefore;\n } else {\n var targetSlideIndex;\n if (gridEnabled) {\n var slideIndex = newIndex * swiper.params.grid.rows;\n targetSlideIndex = swiper.slides.filter(function (slideEl) {\n return slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex;\n })[0].column;\n } else {\n targetSlideIndex = swiper.getSlideIndexByData(newIndex);\n }\n var cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length;\n var centeredSlides = swiper.params.centeredSlides;\n var slidesPerView = swiper.params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n var needLoopFix = cols - targetSlideIndex < slidesPerView;\n if (centeredSlides) {\n needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2);\n }\n if (needLoopFix) {\n var direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev';\n swiper.loopFix({\n direction: direction,\n slideTo: true,\n activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1,\n slideRealIndex: direction === 'next' ? swiper.realIndex : undefined\n });\n }\n if (gridEnabled) {\n var _slideIndex = newIndex * swiper.params.grid.rows;\n newIndex = swiper.slides.filter(function (slideEl) {\n return slideEl.getAttribute('data-swiper-slide-index') * 1 === _slideIndex;\n })[0].column;\n } else {\n newIndex = swiper.getSlideIndexByData(newIndex);\n }\n }\n }\n requestAnimationFrame(function () {\n swiper.slideTo(newIndex, speed, runCallbacks, internal);\n });\n return swiper;\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideNext(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n var swiper = this;\n var enabled = swiper.enabled,\n params = swiper.params,\n animating = swiper.animating;\n if (!enabled) return swiper;\n var perGroup = params.slidesPerGroup;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n var increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'next'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) {\n requestAnimationFrame(function () {\n swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n });\n return true;\n }\n }\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slidePrev(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n var swiper = this;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled,\n animating = swiper.animating;\n if (!enabled) return swiper;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'prev'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n }\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n var normalizedTranslate = normalize(translate);\n var normalizedSnapGrid = snapGrid.map(function (val) {\n return normalize(val);\n });\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n var prevSnapIndex;\n snapGrid.forEach(function (snap, snapIndex) {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n var prevIndex = 0;\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n if (params.rewind && swiper.isBeginning) {\n var lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) {\n requestAnimationFrame(function () {\n swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n });\n return true;\n }\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideReset(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n var swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideToClosest(speed, runCallbacks, internal, threshold) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (threshold === void 0) {\n threshold = 0.5;\n }\n var swiper = this;\n var index = swiper.activeIndex;\n var skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n var snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n var currentSnap = swiper.snapGrid[snapIndex];\n var nextSnap = swiper.snapGrid[snapIndex + 1];\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n var prevSnap = swiper.snapGrid[snapIndex - 1];\n var _currentSnap = swiper.snapGrid[snapIndex];\n if (translate - prevSnap <= (_currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}\nfunction slideToClickedSlide() {\n var swiper = this;\n var params = swiper.params,\n slidesEl = swiper.slidesEl;\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n var slideToIndex = swiper.clickedIndex;\n var realIndex;\n var slideSelector = swiper.isElement ? \"swiper-slide\" : \".\".concat(params.slideClass);\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, \"\".concat(slideSelector, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]\"))[0]);\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, \"\".concat(slideSelector, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]\"))[0]);\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}\nvar slide = {\n slideTo: slideTo,\n slideToLoop: slideToLoop,\n slideNext: slideNext,\n slidePrev: slidePrev,\n slideReset: slideReset,\n slideToClosest: slideToClosest,\n slideToClickedSlide: slideToClickedSlide\n};\nfunction loopCreate(slideRealIndex) {\n var swiper = this;\n var params = swiper.params,\n slidesEl = swiper.slidesEl;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n var initSlides = function initSlides() {\n var slides = elementChildren(slidesEl, \".\".concat(params.slideClass, \", swiper-slide\"));\n slides.forEach(function (el, index) {\n el.setAttribute('data-swiper-slide-index', index);\n });\n };\n var gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n var slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1);\n var shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0;\n var shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0;\n var addBlankSlides = function addBlankSlides(amountOfSlides) {\n for (var i = 0; i < amountOfSlides; i += 1) {\n var slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]);\n swiper.slidesEl.append(slideEl);\n }\n };\n if (shouldFillGroup) {\n if (params.loopAddBlankSlides) {\n var slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup;\n addBlankSlides(slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else if (shouldFillGrid) {\n if (params.loopAddBlankSlides) {\n var _slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows;\n addBlankSlides(_slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else {\n initSlides();\n }\n swiper.loopFix({\n slideRealIndex: slideRealIndex,\n direction: params.centeredSlides ? undefined : 'next'\n });\n}\nfunction loopFix(_temp) {\n var _ref4 = _temp === void 0 ? {} : _temp,\n slideRealIndex = _ref4.slideRealIndex,\n _ref4$slideTo = _ref4.slideTo,\n slideTo = _ref4$slideTo === void 0 ? true : _ref4$slideTo,\n direction = _ref4.direction,\n setTranslate = _ref4.setTranslate,\n activeSlideIndex = _ref4.activeSlideIndex,\n byController = _ref4.byController,\n byMousewheel = _ref4.byMousewheel;\n var swiper = this;\n if (!swiper.params.loop) return;\n swiper.emit('beforeLoopFix');\n var slides = swiper.slides,\n allowSlidePrev = swiper.allowSlidePrev,\n allowSlideNext = swiper.allowSlideNext,\n slidesEl = swiper.slidesEl,\n params = swiper.params;\n var centeredSlides = params.centeredSlides;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n if (swiper.virtual && params.virtual.enabled) {\n if (slideTo) {\n if (!params.centeredSlides && swiper.snapIndex === 0) {\n swiper.slideTo(swiper.virtual.slides.length, 0, false, true);\n } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {\n swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);\n } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {\n swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n return;\n }\n var slidesPerView = params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n var slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup;\n var loopedSlides = slidesPerGroup;\n if (loopedSlides % slidesPerGroup !== 0) {\n loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup;\n }\n loopedSlides += params.loopAdditionalSlides;\n swiper.loopedSlides = loopedSlides;\n var gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n if (slides.length < slidesPerView + loopedSlides) {\n showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters');\n } else if (gridEnabled && params.grid.fill === 'row') {\n showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`');\n }\n var prependSlidesIndexes = [];\n var appendSlidesIndexes = [];\n var activeIndex = swiper.activeIndex;\n if (typeof activeSlideIndex === 'undefined') {\n activeSlideIndex = swiper.getSlideIndex(slides.filter(function (el) {\n return el.classList.contains(params.slideActiveClass);\n })[0]);\n } else {\n activeIndex = activeSlideIndex;\n }\n var isNext = direction === 'next' || !direction;\n var isPrev = direction === 'prev' || !direction;\n var slidesPrepended = 0;\n var slidesAppended = 0;\n var cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length;\n var activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex;\n var activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0);\n // prepend last slides before start\n if (activeColIndexWithShift < loopedSlides) {\n slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup);\n for (var i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) {\n var index = i - Math.floor(i / cols) * cols;\n if (gridEnabled) {\n var colIndexToPrepend = cols - index - 1;\n for (var _i5 = slides.length - 1; _i5 >= 0; _i5 -= 1) {\n if (slides[_i5].column === colIndexToPrepend) prependSlidesIndexes.push(_i5);\n }\n // slides.forEach((slide, slideIndex) => {\n // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex);\n // });\n } else {\n prependSlidesIndexes.push(cols - index - 1);\n }\n }\n } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) {\n slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup);\n var _loop = function _loop() {\n var index = _i6 - Math.floor(_i6 / cols) * cols;\n if (gridEnabled) {\n slides.forEach(function (slide, slideIndex) {\n if (slide.column === index) appendSlidesIndexes.push(slideIndex);\n });\n } else {\n appendSlidesIndexes.push(index);\n }\n };\n for (var _i6 = 0; _i6 < slidesAppended; _i6 += 1) {\n _loop();\n }\n }\n swiper.__preventObserver__ = true;\n requestAnimationFrame(function () {\n swiper.__preventObserver__ = false;\n });\n if (isPrev) {\n prependSlidesIndexes.forEach(function (index) {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.prepend(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n if (isNext) {\n appendSlidesIndexes.forEach(function (index) {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.append(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n swiper.recalcSlides();\n if (params.slidesPerView === 'auto') {\n swiper.updateSlides();\n } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) {\n swiper.slides.forEach(function (slide, slideIndex) {\n swiper.grid.updateSlide(slideIndex, slide, swiper.slides);\n });\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n if (slideTo) {\n if (prependSlidesIndexes.length > 0 && isPrev) {\n if (typeof slideRealIndex === 'undefined') {\n var currentSlideTranslate = swiper.slidesGrid[activeIndex];\n var newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];\n var diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex + slidesPrepended, 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n }\n }\n } else {\n if (setTranslate) {\n var shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex + shift, 0, false, true);\n swiper.touchEventsData.currentTranslate = swiper.translate;\n }\n }\n } else if (appendSlidesIndexes.length > 0 && isNext) {\n if (typeof slideRealIndex === 'undefined') {\n var _currentSlideTranslate = swiper.slidesGrid[activeIndex];\n var _newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];\n var _diff = _newSlideTranslate - _currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - _diff);\n } else {\n swiper.slideTo(activeIndex - slidesAppended, 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - _diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - _diff;\n }\n }\n } else {\n var _shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex - _shift, 0, false, true);\n }\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.controller && swiper.controller.control && !byController) {\n var loopParams = {\n slideRealIndex: slideRealIndex,\n direction: direction,\n setTranslate: setTranslate,\n activeSlideIndex: activeSlideIndex,\n byController: true\n };\n if (Array.isArray(swiper.controller.control)) {\n swiper.controller.control.forEach(function (c) {\n if (!c.destroyed && c.params.loop) c.loopFix(_objectSpread(_objectSpread({}, loopParams), {}, {\n slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false\n }));\n });\n } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {\n swiper.controller.control.loopFix(_objectSpread(_objectSpread({}, loopParams), {}, {\n slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false\n }));\n }\n }\n swiper.emit('loopFix');\n}\nfunction loopDestroy() {\n var swiper = this;\n var params = swiper.params,\n slidesEl = swiper.slidesEl;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n swiper.recalcSlides();\n var newSlidesOrder = [];\n swiper.slides.forEach(function (slideEl) {\n var index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;\n newSlidesOrder[index] = slideEl;\n });\n swiper.slides.forEach(function (slideEl) {\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n newSlidesOrder.forEach(function (slideEl) {\n slidesEl.append(slideEl);\n });\n swiper.recalcSlides();\n swiper.slideTo(swiper.realIndex, 0);\n}\nvar loop = {\n loopCreate: loopCreate,\n loopFix: loopFix,\n loopDestroy: loopDestroy\n};\nfunction setGrabCursor(moving) {\n var swiper = this;\n if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n var el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n if (swiper.isElement) {\n requestAnimationFrame(function () {\n swiper.__preventObserver__ = false;\n });\n }\n}\nfunction unsetGrabCursor() {\n var swiper = this;\n if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n if (swiper.isElement) {\n requestAnimationFrame(function () {\n swiper.__preventObserver__ = false;\n });\n }\n}\nvar grabCursor = {\n setGrabCursor: setGrabCursor,\n unsetGrabCursor: unsetGrabCursor\n};\n\n// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n var found = el.closest(selector);\n if (!found && !el.getRootNode) {\n return null;\n }\n return found || __closestFrom(el.getRootNode().host);\n }\n return __closestFrom(base);\n}\nfunction preventEdgeSwipe(swiper, event, startX) {\n var window = getWindow();\n var params = swiper.params;\n var edgeSwipeDetection = params.edgeSwipeDetection;\n var edgeSwipeThreshold = params.edgeSwipeThreshold;\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n return true;\n }\n return false;\n }\n return true;\n}\nfunction onTouchStart(event) {\n var swiper = this;\n var document = getDocument();\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n var data = swiper.touchEventsData;\n if (e.type === 'pointerdown') {\n if (data.pointerId !== null && data.pointerId !== e.pointerId) {\n return;\n }\n data.pointerId = e.pointerId;\n } else if (e.type === 'touchstart' && e.targetTouches.length === 1) {\n data.touchId = e.targetTouches[0].identifier;\n }\n if (e.type === 'touchstart') {\n // don't proceed touch event\n preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX);\n return;\n }\n var params = swiper.params,\n touches = swiper.touches,\n enabled = swiper.enabled;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n var targetEl = e.target;\n if (params.touchEventsTarget === 'wrapper') {\n if (!swiper.wrapperEl.contains(targetEl)) return;\n }\n if ('which' in e && e.which === 3) return;\n if ('button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n\n // change target el for shadow root component\n var swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n // eslint-disable-next-line\n var eventPath = e.composedPath ? e.composedPath() : e.path;\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n targetEl = eventPath[0];\n }\n var noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : \".\".concat(params.noSwipingClass);\n var isTargetShadow = !!(e.target && e.target.shadowRoot);\n\n // use closestElement for shadow root element to get the actual closest for nested shadow root element\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {\n swiper.allowClick = true;\n return;\n }\n if (params.swipeHandler) {\n if (!targetEl.closest(params.swipeHandler)) return;\n }\n touches.currentX = e.pageX;\n touches.currentY = e.pageY;\n var startX = touches.currentX;\n var startY = touches.currentY;\n\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n if (!preventEdgeSwipe(swiper, e, startX)) {\n return;\n }\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n var preventDefault = true;\n if (targetEl.matches(data.focusableElements)) {\n preventDefault = false;\n if (targetEl.nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) {\n document.activeElement.blur();\n }\n var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {\n e.preventDefault();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n swiper.emit('touchStart', e);\n}\nfunction onTouchMove(event) {\n var document = getDocument();\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n if (!params.simulateTouch && event.pointerType === 'mouse') return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (e.type === 'pointermove') {\n if (data.touchId !== null) return; // return from pointer if we use touch\n var id = e.pointerId;\n if (id !== data.pointerId) return;\n }\n var targetTouch;\n if (e.type === 'touchmove') {\n targetTouch = _toConsumableArray(e.changedTouches).filter(function (t) {\n return t.identifier === data.touchId;\n })[0];\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n } else {\n targetTouch = e;\n }\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n return;\n }\n var pageX = targetTouch.pageX;\n var pageY = targetTouch.pageY;\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n if (!swiper.allowTouchMove) {\n if (!e.target.matches(data.focusableElements)) {\n swiper.allowClick = false;\n }\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n return;\n }\n if (params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n if (document.activeElement) {\n if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n touches.previousX = touches.currentX;\n touches.previousY = touches.currentY;\n touches.currentX = pageX;\n touches.currentY = pageY;\n var diffX = touches.currentX - touches.startX;\n var diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\n if (typeof data.isScrolling === 'undefined') {\n var touchAngle;\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n if (!data.startMoving) {\n return;\n }\n swiper.allowClick = false;\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n var diff = swiper.isHorizontal() ? diffX : diffY;\n var touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;\n if (params.oneWayMovement) {\n diff = Math.abs(diff) * (rtl ? 1 : -1);\n touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);\n }\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) {\n diff = -diff;\n touchesDiff = -touchesDiff;\n }\n var prevTouchesDirection = swiper.touchesDirection;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';\n var isLoop = swiper.params.loop && !params.cssMode;\n var allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev;\n if (!data.isMoved) {\n if (isLoop && allowLoopFix) {\n swiper.loopFix({\n direction: swiper.swipeDirection\n });\n }\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n if (swiper.animating) {\n var evt = new window.CustomEvent('transitionend', {\n bubbles: true,\n cancelable: true\n });\n swiper.wrapperEl.dispatchEvent(evt);\n }\n data.allowMomentumBounce = false;\n // Grab Cursor\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n swiper.emit('sliderFirstMove', e);\n }\n var loopFixed;\n new Date().getTime();\n if (data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY,\n startTranslate: data.currentTranslate\n });\n data.loopSwapReset = true;\n data.startTranslate = data.currentTranslate;\n return;\n }\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n data.currentTranslate = diff + data.startTranslate;\n var disableParentSwiper = true;\n var resistanceRatio = params.resistanceRatio;\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n if (diff > 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] : swiper.minTranslate())) {\n swiper.loopFix({\n direction: 'prev',\n setTranslate: true,\n activeSlideIndex: 0\n });\n }\n if (data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);\n }\n }\n } else if (diff < 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] : swiper.maxTranslate())) {\n swiper.loopFix({\n direction: 'next',\n setTranslate: true,\n activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))\n });\n }\n if (data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);\n }\n }\n }\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n\n // Directions locks\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n }\n\n // Threshold\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n if (!params.followFinger || params.cssMode) return;\n\n // Update active index in free mode\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n }\n // Update progress\n swiper.updateProgress(data.currentTranslate);\n // Update translate\n swiper.setTranslate(data.currentTranslate);\n}\nfunction onTouchEnd(event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n var targetTouch;\n var isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel';\n if (!isTouchEvent) {\n if (data.touchId !== null) return; // return from pointer if we use touch\n if (e.pointerId !== data.pointerId) return;\n targetTouch = e;\n } else {\n targetTouch = _toConsumableArray(e.changedTouches).filter(function (t) {\n return t.identifier === data.touchId;\n })[0];\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n }\n if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) {\n var proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView);\n if (!proceed) {\n return;\n }\n }\n data.pointerId = null;\n data.touchId = null;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n slidesGrid = swiper.slidesGrid,\n enabled = swiper.enabled;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n data.allowTouchCallbacks = false;\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n // Return Grab Cursor\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n }\n\n // Time diff\n var touchEndTime = now();\n var timeDiff = touchEndTime - data.touchStartTime;\n\n // Tap, doubleTap, Click\n if (swiper.allowClick) {\n var pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree);\n swiper.emit('tap click', e);\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n data.lastClickTime = now();\n nextTick(function () {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n var currentPos;\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n if (params.cssMode) {\n return;\n }\n if (params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos: currentPos\n });\n return;\n }\n\n // Find current slide\n var swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop;\n var stopIndex = 0;\n var groupSize = swiper.slidesSizesGrid[0];\n for (var i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n var _increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (typeof slidesGrid[i + _increment] !== 'undefined') {\n if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + _increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + _increment] - slidesGrid[i];\n }\n } else if (swipeToLast || currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n var rewindFirstIndex = null;\n var rewindLastIndex = null;\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n }\n // Find current slide size\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n var increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n var isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}\nfunction onResize() {\n var swiper = this;\n var params = swiper.params,\n el = swiper.el;\n if (el && el.offsetWidth === 0) return;\n\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Save locks\n var allowSlideNext = swiper.allowSlideNext,\n allowSlidePrev = swiper.allowSlidePrev,\n snapGrid = swiper.snapGrid;\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n // Disable locks on resize\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n var isVirtualLoop = isVirtual && params.loop;\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n if (swiper.params.loop && !isVirtual) {\n swiper.slideToLoop(swiper.realIndex, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n }\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n clearTimeout(swiper.autoplay.resizeTimeout);\n swiper.autoplay.resizeTimeout = setTimeout(function () {\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.resume();\n }\n }, 500);\n }\n // Return locks after resize\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}\nfunction onClick(e) {\n var swiper = this;\n if (!swiper.enabled) return;\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}\nfunction onScroll() {\n var swiper = this;\n var wrapperEl = swiper.wrapperEl,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n }\n // eslint-disable-next-line\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n swiper.emit('setTranslate', swiper.translate, false);\n}\nfunction onLoad(e) {\n var swiper = this;\n processLazyPreloader(swiper, e.target);\n if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) {\n return;\n }\n swiper.update();\n}\nfunction onDocumentTouchStart() {\n var swiper = this;\n if (swiper.documentTouchHandlerProceeded) return;\n swiper.documentTouchHandlerProceeded = true;\n if (swiper.params.touchReleaseOnEdges) {\n swiper.el.style.touchAction = 'auto';\n }\n}\nvar events = function events(swiper, method) {\n var document = getDocument();\n var params = swiper.params,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device;\n var capture = !!params.nested;\n var domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n var swiperMethod = method;\n\n // Touch Events\n document[domMethod]('touchstart', swiper.onDocumentTouchStart, {\n passive: false,\n capture: capture\n });\n el[domMethod]('touchstart', swiper.onTouchStart, {\n passive: false\n });\n el[domMethod]('pointerdown', swiper.onTouchStart, {\n passive: false\n });\n document[domMethod]('touchmove', swiper.onTouchMove, {\n passive: false,\n capture: capture\n });\n document[domMethod]('pointermove', swiper.onTouchMove, {\n passive: false,\n capture: capture\n });\n document[domMethod]('touchend', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerup', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointercancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('touchcancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerout', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerleave', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('contextmenu', swiper.onTouchEnd, {\n passive: true\n });\n\n // Prevent Links Clicks\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n }\n\n // Resize handler\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n\n // Images loader\n el[domMethod]('load', swiper.onLoad, {\n capture: true\n });\n};\nfunction attachEvents() {\n var swiper = this;\n var params = swiper.params;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper);\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n swiper.onClick = onClick.bind(swiper);\n swiper.onLoad = onLoad.bind(swiper);\n events(swiper, 'on');\n}\nfunction detachEvents() {\n var swiper = this;\n events(swiper, 'off');\n}\nvar events$1 = {\n attachEvents: attachEvents,\n detachEvents: detachEvents\n};\nvar isGridEnabled = function isGridEnabled(swiper, params) {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\nfunction setBreakpoint() {\n var swiper = this;\n var realIndex = swiper.realIndex,\n initialized = swiper.initialized,\n params = swiper.params,\n el = swiper.el;\n var breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;\n\n // Get breakpoint for window width and update parameters\n var breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n var breakpointParams = breakpointOnlyParams || swiper.originalParams;\n var wasMultiRow = isGridEnabled(swiper, params);\n var isMultiRow = isGridEnabled(swiper, breakpointParams);\n var wasEnabled = params.enabled;\n if (wasMultiRow && !isMultiRow) {\n el.classList.remove(\"\".concat(params.containerModifierClass, \"grid\"), \"\".concat(params.containerModifierClass, \"grid-column\"));\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n el.classList.add(\"\".concat(params.containerModifierClass, \"grid\"));\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n el.classList.add(\"\".concat(params.containerModifierClass, \"grid-column\"));\n }\n swiper.emitContainerClasses();\n }\n\n // Toggle navigation, pagination, scrollbar\n ['navigation', 'pagination', 'scrollbar'].forEach(function (prop) {\n if (typeof breakpointParams[prop] === 'undefined') return;\n var wasModuleEnabled = params[prop] && params[prop].enabled;\n var isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n var wasLoop = params.loop;\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n extend(swiper.params, breakpointParams);\n var isEnabled = swiper.params.enabled;\n var hasLoop = swiper.params.loop;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n if (initialized) {\n if (needsReLoop) {\n swiper.loopDestroy();\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (!wasLoop && hasLoop) {\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (wasLoop && !hasLoop) {\n swiper.loopDestroy();\n }\n }\n swiper.emit('breakpoint', breakpointParams);\n}\nfunction getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n var breakpoint = false;\n var window = getWindow();\n var currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n var points = Object.keys(breakpoints).map(function (point) {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n var minRatio = parseFloat(point.substr(1));\n var value = currentHeight * minRatio;\n return {\n value: value,\n point: point\n };\n }\n return {\n value: point,\n point: point\n };\n });\n points.sort(function (a, b) {\n return parseInt(a.value, 10) - parseInt(b.value, 10);\n });\n for (var i = 0; i < points.length; i += 1) {\n var _points$i = points[i],\n point = _points$i.point,\n value = _points$i.value;\n if (base === 'window') {\n if (window.matchMedia(\"(min-width: \".concat(value, \"px)\")).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n return breakpoint || 'max';\n}\nvar breakpoints = {\n setBreakpoint: setBreakpoint,\n getBreakpoint: getBreakpoint\n};\nfunction prepareClasses(entries, prefix) {\n var resultClasses = [];\n entries.forEach(function (item) {\n if (typeof item === 'object') {\n Object.keys(item).forEach(function (classNames) {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\nfunction addClasses() {\n var _el$classList;\n var swiper = this;\n var classNames = swiper.classNames,\n params = swiper.params,\n rtl = swiper.rtl,\n el = swiper.el,\n device = swiper.device;\n // prettier-ignore\n var suffixes = prepareClasses(['initialized', params.direction, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push.apply(classNames, _toConsumableArray(suffixes));\n (_el$classList = el.classList).add.apply(_el$classList, _toConsumableArray(classNames));\n swiper.emitContainerClasses();\n}\nfunction removeClasses() {\n var _el$classList2;\n var swiper = this;\n var el = swiper.el,\n classNames = swiper.classNames;\n (_el$classList2 = el.classList).remove.apply(_el$classList2, _toConsumableArray(classNames));\n swiper.emitContainerClasses();\n}\nvar classes = {\n addClasses: addClasses,\n removeClasses: removeClasses\n};\nfunction checkOverflow() {\n var swiper = this;\n var wasLocked = swiper.isLocked,\n params = swiper.params;\n var slidesOffsetBefore = params.slidesOffsetBefore;\n if (slidesOffsetBefore) {\n var lastSlideIndex = swiper.slides.length - 1;\n var lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n}\nvar checkOverflow$1 = {\n checkOverflow: checkOverflow\n};\nvar defaults = {\n init: true,\n direction: 'horizontal',\n oneWayMovement: false,\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n eventsPrefix: 'swiper',\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 5,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // loop\n loop: false,\n loopAddBlankSlides: true,\n loopAdditionalSlides: 0,\n loopPreventsSliding: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-blank',\n slideActiveClass: 'swiper-slide-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideFullyVisibleClass: 'swiper-slide-fully-visible',\n slideNextClass: 'swiper-slide-next',\n slidePrevClass: 'swiper-slide-prev',\n wrapperClass: 'swiper-wrapper',\n lazyPreloaderClass: 'swiper-lazy-preloader',\n lazyPreloadPrevNext: 0,\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};\nfunction moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj) {\n if (obj === void 0) {\n obj = {};\n }\n var moduleParamName = Object.keys(obj)[0];\n var moduleParams = obj[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) {\n params[moduleParamName].auto = true;\n }\n if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) {\n params[moduleParamName].auto = true;\n }\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend(allModulesParams, obj);\n };\n}\n\n/* eslint no-param-reassign: \"off\" */\nvar prototypes = {\n eventsEmitter: eventsEmitter,\n update: update,\n translate: translate,\n transition: transition,\n slide: slide,\n loop: loop,\n grabCursor: grabCursor,\n events: events$1,\n breakpoints: breakpoints,\n checkOverflow: checkOverflow$1,\n classes: classes\n};\nvar extendedDefaults = {};\nvar Swiper = /*#__PURE__*/function () {\n function Swiper() {\n _classCallCheck(this, Swiper);\n var el;\n var params;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n el = args[0];\n params = args[1];\n }\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n var document = getDocument();\n if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {\n var swipers = [];\n document.querySelectorAll(params.el).forEach(function (containerEl) {\n var newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n // eslint-disable-next-line no-constructor-return\n return swipers;\n }\n\n // Swiper Instance\n var swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = _toConsumableArray(swiper.__modules__);\n if (params.modules && Array.isArray(params.modules)) {\n var _swiper$modules;\n (_swiper$modules = swiper.modules).push.apply(_swiper$modules, _toConsumableArray(params.modules));\n }\n var allModulesParams = {};\n swiper.modules.forEach(function (mod) {\n mod({\n params: params,\n swiper: swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n });\n\n // Extend defaults with modules params\n var swiperParams = extend({}, defaults, allModulesParams);\n\n // Extend defaults with passed params\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params);\n\n // add event listeners\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(function (eventName) {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n }\n\n // Extend Swiper\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el: el,\n // Classes\n classNames: [],\n // Slides\n slides: [],\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal: function isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical: function isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n cssOverflowAdjustment: function cssOverflowAdjustment() {\n // Returns 0 unless `translate` is > 2**23\n // Should be subtracted from css values to prevent overflow\n return Math.trunc(this.translate / Math.pow(2, 23)) * Math.pow(2, 23);\n },\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: 0,\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n startMoving: undefined,\n pointerId: null,\n touchId: null\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper');\n\n // Init\n if (swiper.params.init) {\n swiper.init();\n }\n\n // Return app instance\n // eslint-disable-next-line no-constructor-return\n return swiper;\n }\n _createClass(Swiper, [{\n key: \"getDirectionLabel\",\n value: function getDirectionLabel(property) {\n if (this.isHorizontal()) {\n return property;\n }\n // prettier-ignore\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n }, {\n key: \"getSlideIndex\",\n value: function getSlideIndex(slideEl) {\n var slidesEl = this.slidesEl,\n params = this.params;\n var slides = elementChildren(slidesEl, \".\".concat(params.slideClass, \", swiper-slide\"));\n var firstSlideIndex = elementIndex(slides[0]);\n return elementIndex(slideEl) - firstSlideIndex;\n }\n }, {\n key: \"getSlideIndexByData\",\n value: function getSlideIndexByData(index) {\n return this.getSlideIndex(this.slides.filter(function (slideEl) {\n return slideEl.getAttribute('data-swiper-slide-index') * 1 === index;\n })[0]);\n }\n }, {\n key: \"recalcSlides\",\n value: function recalcSlides() {\n var swiper = this;\n var slidesEl = swiper.slidesEl,\n params = swiper.params;\n swiper.slides = elementChildren(slidesEl, \".\".concat(params.slideClass, \", swiper-slide\"));\n }\n }, {\n key: \"enable\",\n value: function enable() {\n var swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n swiper.emit('enable');\n }\n }, {\n key: \"disable\",\n value: function disable() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n swiper.emit('disable');\n }\n }, {\n key: \"setProgress\",\n value: function setProgress(progress, speed) {\n var swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n var min = swiper.minTranslate();\n var max = swiper.maxTranslate();\n var current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n }, {\n key: \"emitContainerClasses\",\n value: function emitContainerClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var cls = swiper.el.className.split(' ').filter(function (className) {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n }, {\n key: \"getSlideClasses\",\n value: function getSlideClasses(slideEl) {\n var swiper = this;\n if (swiper.destroyed) return '';\n return slideEl.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n }\n }, {\n key: \"emitSlidesClasses\",\n value: function emitSlidesClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var updates = [];\n swiper.slides.forEach(function (slideEl) {\n var classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl: slideEl,\n classNames: classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n }, {\n key: \"slidesPerViewDynamic\",\n value: function slidesPerViewDynamic(view, exact) {\n if (view === void 0) {\n view = 'current';\n }\n if (exact === void 0) {\n exact = false;\n }\n var swiper = this;\n var params = swiper.params,\n slides = swiper.slides,\n slidesGrid = swiper.slidesGrid,\n slidesSizesGrid = swiper.slidesSizesGrid,\n swiperSize = swiper.size,\n activeIndex = swiper.activeIndex;\n var spv = 1;\n if (typeof params.slidesPerView === 'number') return params.slidesPerView;\n if (params.centeredSlides) {\n var slideSize = slides[activeIndex] ? slides[activeIndex].swiperSlideSize : 0;\n var breakLoop;\n for (var i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n for (var _i7 = activeIndex - 1; _i7 >= 0; _i7 -= 1) {\n if (slides[_i7] && !breakLoop) {\n slideSize += slides[_i7].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (var _i8 = activeIndex + 1; _i8 < slides.length; _i8 += 1) {\n var slideInView = exact ? slidesGrid[_i8] + slidesSizesGrid[_i8] - slidesGrid[activeIndex] < swiperSize : slidesGrid[_i8] - slidesGrid[activeIndex] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (var _i9 = activeIndex - 1; _i9 >= 0; _i9 -= 1) {\n var _slideInView = slidesGrid[activeIndex] - slidesGrid[_i9] < swiperSize;\n if (_slideInView) {\n spv += 1;\n }\n }\n }\n }\n return spv;\n }\n }, {\n key: \"update\",\n value: function update() {\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var snapGrid = swiper.snapGrid,\n params = swiper.params;\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n _toConsumableArray(swiper.el.querySelectorAll('[loading=\"lazy\"]')).forEach(function (imageEl) {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n }\n });\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n function setTranslate() {\n var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n var translated;\n if (params.freeMode && params.freeMode.enabled && !params.cssMode) {\n setTranslate();\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) {\n var slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides;\n translated = swiper.slideTo(slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (!translated) {\n setTranslate();\n }\n }\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n swiper.emit('update');\n }\n }, {\n key: \"changeDirection\",\n value: function changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n var swiper = this;\n var currentDirection = swiper.params.direction;\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n swiper.el.classList.remove(\"\".concat(swiper.params.containerModifierClass).concat(currentDirection));\n swiper.el.classList.add(\"\".concat(swiper.params.containerModifierClass).concat(newDirection));\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.forEach(function (slideEl) {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n }, {\n key: \"changeLanguageDirection\",\n value: function changeLanguageDirection(direction) {\n var swiper = this;\n if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n if (swiper.rtl) {\n swiper.el.classList.add(\"\".concat(swiper.params.containerModifierClass, \"rtl\"));\n swiper.el.dir = 'rtl';\n } else {\n swiper.el.classList.remove(\"\".concat(swiper.params.containerModifierClass, \"rtl\"));\n swiper.el.dir = 'ltr';\n }\n swiper.update();\n }\n }, {\n key: \"mount\",\n value: function mount(element) {\n var swiper = this;\n if (swiper.mounted) return true;\n\n // Find el\n var el = element || swiper.params.el;\n if (typeof el === 'string') {\n el = document.querySelector(el);\n }\n if (!el) {\n return false;\n }\n el.swiper = swiper;\n if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === 'SWIPER-CONTAINER') {\n swiper.isElement = true;\n }\n var getWrapperSelector = function getWrapperSelector() {\n return \".\".concat((swiper.params.wrapperClass || '').trim().split(' ').join('.'));\n };\n var getWrapper = function getWrapper() {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n var res = el.shadowRoot.querySelector(getWrapperSelector());\n // Children needs to return slot items\n return res;\n }\n return elementChildren(el, getWrapperSelector())[0];\n };\n // Find Wrapper\n var wrapperEl = getWrapper();\n if (!wrapperEl && swiper.params.createElements) {\n wrapperEl = createElement('div', swiper.params.wrapperClass);\n el.append(wrapperEl);\n elementChildren(el, \".\".concat(swiper.params.slideClass)).forEach(function (slideEl) {\n wrapperEl.append(slideEl);\n });\n }\n Object.assign(swiper, {\n el: el,\n wrapperEl: wrapperEl,\n slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl,\n hostEl: swiper.isElement ? el.parentNode.host : el,\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'),\n wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box'\n });\n return true;\n }\n }, {\n key: \"init\",\n value: function init(el) {\n var swiper = this;\n if (swiper.initialized) return swiper;\n var mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit');\n\n // Set breakpoint\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Add Classes\n swiper.addClasses();\n\n // Update size\n swiper.updateSize();\n\n // Update slides\n swiper.updateSlides();\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n }\n\n // Set Grab Cursor\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n // Slide To Initial Slide\n if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n }\n\n // Create loop\n if (swiper.params.loop) {\n swiper.loopCreate();\n }\n\n // Attach events\n swiper.attachEvents();\n var lazyElements = _toConsumableArray(swiper.el.querySelectorAll('[loading=\"lazy\"]'));\n if (swiper.isElement) {\n lazyElements.push.apply(lazyElements, _toConsumableArray(swiper.hostEl.querySelectorAll('[loading=\"lazy\"]')));\n }\n lazyElements.forEach(function (imageEl) {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n } else {\n imageEl.addEventListener('load', function (e) {\n processLazyPreloader(swiper, e.target);\n });\n }\n });\n preload(swiper);\n\n // Init Flag\n swiper.initialized = true;\n preload(swiper);\n\n // Emit\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n }, {\n key: \"destroy\",\n value: function destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n var swiper = this;\n var params = swiper.params,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n slides = swiper.slides;\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n swiper.emit('beforeDestroy');\n\n // Init Flag\n swiper.initialized = false;\n\n // Detach events\n swiper.detachEvents();\n\n // Destroy loop\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n // Cleanup styles\n if (cleanStyles) {\n swiper.removeClasses();\n el.removeAttribute('style');\n wrapperEl.removeAttribute('style');\n if (slides && slides.length) {\n slides.forEach(function (slideEl) {\n slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n slideEl.removeAttribute('style');\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n }\n }\n swiper.emit('destroy');\n\n // Detach emitter events\n Object.keys(swiper.eventsListeners).forEach(function (eventName) {\n swiper.off(eventName);\n });\n if (deleteInstance !== false) {\n swiper.el.swiper = null;\n deleteProps(swiper);\n }\n swiper.destroyed = true;\n return null;\n }\n }], [{\n key: \"extendDefaults\",\n value: function extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n }, {\n key: \"extendedDefaults\",\n get: function get() {\n return extendedDefaults;\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return defaults;\n }\n }, {\n key: \"installModule\",\n value: function installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n var modules = Swiper.prototype.__modules__;\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (Array.isArray(module)) {\n module.forEach(function (m) {\n return Swiper.installModule(m);\n });\n return Swiper;\n }\n Swiper.installModule(module);\n return Swiper;\n }\n }]);\n return Swiper;\n}();\nObject.keys(prototypes).forEach(function (prototypeGroup) {\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport { Swiper as S, defaults as d };","import _toConsumableArray from \"/codebuild/output/src745949652/src/corporate-site-gatsby/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";\nimport _defineProperty from \"/codebuild/output/src745949652/src/corporate-site-gatsby/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\nfunction classesToTokens(classes) {\n if (classes === void 0) {\n classes = '';\n }\n return classes.trim().split(' ').filter(function (c) {\n return !!c.trim();\n });\n}\nfunction deleteProps(obj) {\n var object = obj;\n Object.keys(object).forEach(function (key) {\n try {\n object[key] = null;\n } catch (e) {\n // no getter for object\n }\n try {\n delete object[key];\n } catch (e) {\n // something got wrong\n }\n });\n}\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return setTimeout(callback, delay);\n}\nfunction now() {\n return Date.now();\n}\nfunction getComputedStyle(el) {\n var window = getWindow();\n var style;\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n if (!style) {\n style = el.style;\n }\n return style;\n}\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n var window = getWindow();\n var matrix;\n var curTransform;\n var transformMatrix;\n var curStyle = getComputedStyle(el);\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function (a) {\n return a.replace(',', '.');\n }).join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n}\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\nfunction extend() {\n var to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n for (var i = 1; i < arguments.length; i += 1) {\n var nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n var keysArray = Object.keys(Object(nextSource)).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n });\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n}\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\nfunction animateCSSModeScroll(_ref) {\n var swiper = _ref.swiper,\n targetPosition = _ref.targetPosition,\n side = _ref.side;\n var window = getWindow();\n var startPosition = -swiper.translate;\n var startTime = null;\n var time;\n var duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n var dir = targetPosition > startPosition ? 'next' : 'prev';\n var isOutOfBound = function isOutOfBound(current, target) {\n return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n };\n var animate = function animate() {\n time = new Date().getTime();\n if (startTime === null) {\n startTime = time;\n }\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n var currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n swiper.wrapperEl.scrollTo(_defineProperty({}, side, currentPosition));\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(function () {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo(_defineProperty({}, side, currentPosition));\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n animate();\n}\nfunction getSlideTransformEl(slideEl) {\n return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowRoot && slideEl.shadowRoot.querySelector('.swiper-slide-transform') || slideEl;\n}\nfunction elementChildren(element, selector) {\n if (selector === void 0) {\n selector = '';\n }\n return _toConsumableArray(element.children).filter(function (el) {\n return el.matches(selector);\n });\n}\nfunction showWarning(text) {\n try {\n console.warn(text);\n return;\n } catch (err) {\n // err\n }\n}\nfunction createElement(tag, classes) {\n var _el$classList;\n if (classes === void 0) {\n classes = [];\n }\n var el = document.createElement(tag);\n (_el$classList = el.classList).add.apply(_el$classList, _toConsumableArray(Array.isArray(classes) ? classes : classesToTokens(classes)));\n return el;\n}\nfunction elementOffset(el) {\n var window = getWindow();\n var document = getDocument();\n var box = el.getBoundingClientRect();\n var body = document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === window ? window.scrollY : el.scrollTop;\n var scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n}\nfunction elementPrevAll(el, selector) {\n var prevEls = [];\n while (el.previousElementSibling) {\n var prev = el.previousElementSibling; // eslint-disable-line\n if (selector) {\n if (prev.matches(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n el = prev;\n }\n return prevEls;\n}\nfunction elementNextAll(el, selector) {\n var nextEls = [];\n while (el.nextElementSibling) {\n var next = el.nextElementSibling; // eslint-disable-line\n if (selector) {\n if (next.matches(selector)) nextEls.push(next);\n } else nextEls.push(next);\n el = next;\n }\n return nextEls;\n}\nfunction elementStyle(el, prop) {\n var window = getWindow();\n return window.getComputedStyle(el, null).getPropertyValue(prop);\n}\nfunction elementIndex(el) {\n var child = el;\n var i;\n if (child) {\n i = 0;\n // eslint-disable-next-line\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n return i;\n }\n return undefined;\n}\nfunction elementParents(el, selector) {\n var parents = []; // eslint-disable-line\n var parent = el.parentElement; // eslint-disable-line\n while (parent) {\n if (selector) {\n if (parent.matches(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n parent = parent.parentElement;\n }\n return parents;\n}\nfunction elementTransitionEnd(el, callback) {\n function fireCallBack(e) {\n if (e.target !== el) return;\n callback.call(el, e);\n el.removeEventListener('transitionend', fireCallBack);\n }\n if (callback) {\n el.addEventListener('transitionend', fireCallBack);\n }\n}\nfunction elementOuterSize(el, size, includeMargins) {\n var window = getWindow();\n if (includeMargins) {\n return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom'));\n }\n return el.offsetWidth;\n}\nexport { elementParents as a, elementOffset as b, createElement as c, now as d, elementChildren as e, elementOuterSize as f, elementIndex as g, classesToTokens as h, getTranslate as i, elementTransitionEnd as j, isObject as k, getSlideTransformEl as l, elementStyle as m, nextTick as n, elementNextAll as o, elementPrevAll as p, animateCSSModeScroll as q, showWarning as r, setCSSProperty as s, extend as t, deleteProps as u };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}"],"names":["isObject","obj","constructor","Object","extend","target","src","keys","forEach","key","length","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","this","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","support","deviceCached","browser","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","i","arguments","source","getOwnPropertyDescriptors","defineProperties","defineProperty","getSupport","g","smoothScroll","documentElement","touch","DocumentTouch","calcSupport","getDevice","overrides","_temp","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","indexOf","concat","os","calcDevice","getBrowser","needPerspectiveFix","isSafari","toLowerCase","String","includes","_ua$split$1$split$0$s","split","map","num","Number","_ua$split$1$split$0$s2","major","minor","isWebView","test","calcBrowser","eventsEmitter","on","events","handler","priority","self","eventsListeners","destroyed","method","event","once","onceHandler","off","__emitterProxy","_len","args","Array","_key","onAny","eventsAnyListeners","offAny","index","splice","eventHandler","emit","data","context","_len2","_key2","isArray","slice","unshift","processLazyPreloader","swiper","imageEl","params","slideEl","closest","isElement","slideClass","lazyEl","lazyPreloaderClass","shadowRoot","remove","unlazy","slides","removeAttribute","preload","amount","lazyPreloadPrevNext","len","Math","min","slidesPerView","slidesPerViewDynamic","ceil","activeIndex","grid","rows","activeColumn","preloadColumns","from","_","column","slideIndexLastInView","rewind","loop","realIndex","_i4","max","update","updateSize","el","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","isNaN","assign","size","updateSlides","getDirectionPropertyValue","node","label","parseFloat","getDirectionLabel","wrapperEl","slidesEl","swiperSize","rtl","rtlTranslate","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","e","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","call","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","replace","virtualSize","marginLeft","marginRight","marginBottom","marginTop","centeredSlides","cssMode","s","slideSize","gridEnabled","initSlides","unsetSlides","shouldResetSlideSize","breakpoints","_slide","updateSlide","slideStyles","currentTransform","transform","currentWebKitTransform","webkitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","_slide2","offsetWidth","floor","swiperSlideSize","abs","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","_i","slidesGridItem","groups","slidesBefore","slidesAfter","groupSize","_i2","_i3","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","_allSlidesSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","v","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","classList","contains","maxBackfaceHiddenSlides","add","updateAutoHeight","speed","activeSlides","newHeight","setTransition","getSlideByIndex","getSlideIndexByData","visibleSlides","slide","offsetHeight","minusOffset","offsetLeft","offsetTop","swiperSlideOffset","cssOverflowAdjustment","updateSlidesProgress","translate","offsetCenter","slideVisibleClass","slideFullyVisibleClass","visibleSlidesIndexes","_slide3","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","progress","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","updateSlidesClasses","activeSlide","prevSlide","nextSlide","getFilteredSlide","selector","slideActiveClass","slideNextClass","slidePrevClass","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","normalizeSlideIndex","getActiveIndexByTranslate","skip","firstSlideInColumn","activeSlideIndex","getAttribute","initialized","runCallbacksOnInit","updateClickedSlide","path","pathEl","matches","slideFound","clickedSlide","undefined","clickedIndex","slideToClickedSlide","getTranslate","axis","virtualTranslate","currentTranslate","setTranslate","byController","x","y","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","isH","_wrapperEl$scrollTo","targetPosition","side","scrollTo","onTranslateToWrapperTransitionEnd","transitionEmit","_ref","direction","step","dir","slideTo","initial","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","transitionStart","transitionEnd","t","scrollSnapType","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","_wrapperEl$scrollTo2","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","targetSlideIndex","cols","needLoopFix","loopFix","slideRealIndex","_slideIndex","slideNext","perGroup","slidesPerGroupAuto","increment","loopPreventsSliding","_clientLeft","clientLeft","slidePrev","normalize","val","prevSnapIndex","normalizedSnapGrid","prevSnap","prevIndex","lastIndex","slideReset","slideToClosest","threshold","currentSnap","slideToIndex","slideSelector","loopedSlides","getSlideIndex","n","loopCreate","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","c","slideBlankClass","append","loopAddBlankSlides","recalcSlides","_ref4","_ref4$slideTo","byMousewheel","loopAdditionalSlides","fill","prependSlidesIndexes","appendSlidesIndexes","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","_i5","_loop","_i6","__preventObserver__","swiperLoopMoveDOM","prepend","currentSlideTranslate","diff","touchEventsData","startTranslate","shift","_currentSlideTranslate","_diff","_shift","controller","control","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","innerWidth","preventDefault","onTouchStart","originalEvent","type","pointerId","targetTouches","touchId","identifier","touches","simulateTouch","pointerType","targetEl","touchEventsTarget","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","found","getRootNode","closestElement","allowClick","swipeHandler","currentX","pageX","currentY","pageY","startY","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","previousX","previousY","diffX","diffY","sqrt","pow","touchAngle","atan2","PI","cancelable","touchMoveStopPropagation","nested","stopPropagation","touchesDiff","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","allowLoopFix","evt","bubbles","dispatchEvent","allowMomentumBounce","grabCursor","setGrabCursor","getTime","loopSwapReset","disableParentSwiper","resistanceRatio","resistance","followFinger","onTouchEnd","currentPos","touchEndTime","timeDiff","pathTree","lastClickTime","swipeToLast","stopIndex","_increment","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","setBreakpoint","isVirtualLoop","autoplay","running","paused","resizeTimeout","resume","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","scrollLeft","scrollTop","onLoad","onDocumentTouchStart","documentTouchHandlerProceeded","touchAction","capture","domMethod","swiperMethod","passive","updateOnWindowResize","isGridEnabled","defaults","init","resizeObserver","createElements","eventsPrefix","url","breakpointsBase","uniqueNavElements","passiveListeners","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","transition","duration","transitionDuration","transitionDelay","moving","isLocked","cursor","unsetGrabCursor","attachEvents","bind","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","emitContainerClasses","prop","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","wasLoop","changeDirection","isEnabled","hasLoop","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","value","sort","a","b","_points$i","wasLocked","lastSlideRightEdge","classes","addClasses","_el$classList","entries","prefix","resultClasses","classNames","suffixes","item","removeClasses","_el$classList2","extendedDefaults","Swiper","prototype","toString","swipers","newParams","_swiper$modules","__swiper__","modules","__modules__","mod","extendParams","swiperParams","passedParams","eventName","velocity","trunc","clickTimeout","velocities","imagesToLoad","imagesLoaded","property","current","cls","className","join","updates","getSlideClasses","view","exact","spv","breakLoop","_i7","_i8","_i9","translated","complete","translateValue","newDirection","needUpdate","currentDirection","element","mounted","parentNode","getWrapperSelector","trim","slideSlots","hostEl","mount","lazyElements","deleteInstance","cleanStyles","newDefaults","get","module","m","installModule","prototypeGroup","protoMethod","use","observer","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","options","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","disconnect","deleteProps","nextTick","delay","now","matrix","curTransform","transformMatrix","curStyle","currentStyle","WebKitCSSMatrix","MozTransform","OTransform","MsTransform","msTransform","m41","m42","o","to","noExtend","nextSource","HTMLElement","nodeType","keysArray","nextIndex","nextKey","desc","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","time","startPosition","startTime","cssModeFrameID","isOutOfBound","animate","easeProgress","cos","currentPosition","overflow","getSlideTransformEl","elementChildren","showWarning","text","console","warn","err","tag","classesToTokens","elementPrevAll","prevEls","previousElementSibling","prev","elementNextAll","nextEls","nextElementSibling","next","elementStyle","elementIndex","child","previousSibling","elementParents","parents","parent","parentElement","elementTransitionEnd","fireCallBack","elementOuterSize","includeMargins","_toConsumableArray","arr","arrayLikeToArray","iter","Symbol","iterator","unsupportedIterableToArray","TypeError"],"sourceRoot":""}