PageSourceSearch

https://moonlock.com/app/themes/moonlock-theme/resources/assets/dist/scripts/app.js?ver=2.0.105

js moonlock.com collected 2026-10-02 08:02:45 UTC 440,663 bytes, 11,221 lines download raw bytes

1/******/ (function() { // webpackBootstrap
2/******/ 	"use strict";
3/******/ 	var __webpack_modules__ = ({
4
vendor: 2,053 bytes, lines 5-16
5/***/ "./scripts/source/scripts.js":
6/*!***********************************!*\
7  !*** ./scripts/source/scripts.js ***!
8  \***********************************/
9/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10
11__webpack_require__.r(__webpack_exports__);
12/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ "../../node_modules/swiper/swiper.esm.js");
13/* provided dependency */ var $ = __webpack_require__(/*! jquery */ "jquery");
14/* provided dependency */ var jQuery = __webpack_require__(/*! jquery */ "jquery");
15function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
16function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap;
vendor: 5,439 bytes, line 16
16 var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEac
16h(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
17function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
18function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
19
20swiper__WEBPACK_IMPORTED_MODULE_0__.Swiper.use([swiper__WEBPACK_IMPORTED_MODULE_0__.Parallax, swiper__WEBPACK_IMPORTED_MODULE_0__.Navigation]);
21var subscribed;
22function checkLocalStorageUpdates() {
23  subscribed = localStorage.getItem('subscribed');
24}
25window.addEventListener('popstate', checkLocalStorageUpdates);
26window.addEventListener('pageshow', function (event) {
27  if (event.persisted) {
28    checkLocalStorageUpdates();
29  }
30});
31document.addEventListener('DOMContentLoaded', checkLocalStorageUpdates);
32window.addEventListener('storage', function (event) {
33  if (event.key === 'subscribed') {
34    checkLocalStorageUpdates();
35  }
36});
37window.addEventListener('DOMContentLoaded', function () {
38  if (document.querySelector('.experts .swiper')) {
39    var swiper = new swiper__WEBPACK_IMPORTED_MODULE_0__.Swiper('.experts .swiper', {
40      slidesPerView: 1,
41      spaceBetween: 50,
42      grabCursor: true,
43      navigation: {
44        nextEl: '.swiper-button-next',
45        prevEl: '.swiper-button-prev'
46      },
47      breakpoints: {
48        1440: {
49          slidesPerView: 2.1
50        },
51        1200: {
52          slidesPerView: 2.3
53        },
54        992: {
55          slidesPerView: 1.5
56        },
57        768: {
58          slidesPerView: 1.15
59        }
60      }
61    });
62  }
63  if (document.querySelector('.b-awards .swiper')) {
64    var _swiper = new swiper__WEBPACK_IMPORTED_MODULE_0__.Swiper('.b-awards .swiper', {
65      slidesPerView: 1,
66      spaceBetween: 50,
67      grabCursor: true,
68      navigation: {
69        nextEl: '.swiper-button-next',
70        prevEl: '.swiper-button-prev'
71      },
72      breakpoints: {
73        1600: {
74          slidesPerView: 2.5
75        },
76        1440: {
77          slidesPerView: 2.2
78        },
79        992: {
80          slidesPerView: 2
81        },
82        768: {
83          slidesPerView: 1.15
84        }
85      }
86    });
87  }
88  if (document.querySelector('#video')) {
89    var playButton = document.getElementById('play-button');
90    var video = document.getElementById('video');
91    if (playButton && video) {
92      playButton.addEventListener('click', function () {
93        video.querySelectorAll('source').forEach(function (source) {
94          if (source.getAttribute('data-src')) {
95            source.setAttribute('src', source.getAttribute('data-src'));
96          }
97        });
98        video.load();
99        video.play();
100        playButton.style.display = 'none';
101        video.setAttribute('controls', '');
102      });
103    }
104  }
105  if (document.querySelector('.testimonials .swiper')) {
106    var _swiper2 = new swiper__WEBPACK_IMPORTED_MODULE_0__.Swiper('.testimonials .swiper', {
107      slidesPerView: 1,
108      grabCursor: true,
109      autoHeight: true,
110      navigation: {
111        nextEl: '.swiper-button-next',
112        prevEl: '.swiper-button-prev'
113      }
114    });
115  }
116  if (document.querySelector('.questions')) {
117    var questions = document.querySelectorAll('.question-item');
118    questions.forEach(function (question) {
119      question.addEventListener('click', function (e) {
120        if (e.target.tagName.toLowerCase() === 'a') {
121          return;
122        }
123        this.classList.toggle('opened');
124        if (this.classList.contains('opened')) {
125          window.dataLayer = window.dataLayer || [];
126          window.dataLayer.push({
127            'event': 'moonlock',
128            'eventCategory': 'Moonlock',
129            'eventAction': this.getAttribute('data-event-action') ? this.getAttribute('data-event-action') : this.textContent.trim(),
130            'eventLabel': this.getAttribute('data-event-label')
131          });
132        }
133      });
134    });
135  }
136  if (document.querySelector('.years-swiper .swiper')) {
137    var _swiper3 = new swiper__WEBPACK_IMPORTED_MODULE_0__.Swiper('.years-swiper .swiper', {
138      slidesPerView: 1.5,
139      spaceBetween: 20,
140      grabCursor: true,
141      navigation: {
142        nextEl: '.swiper-button-next',
143        prevEl: '.swiper-button-prev'
144      },
145      breakpoints: {
146        568: {
147          slidesPerView: 3
148        },
149        992: {
150          slidesPerView: 4
151        },
152        1200: {
153          slidesPerView: 5
154        }
155      }
156    });
157  }
158  if (window.innerWidth <= 567) {
159    if (document.querySelector('.awards .swiper')) {
160      var _swiper4 = new swiper__WEBPACK_IMPORTED_MODULE_0__.Swiper('.awards .swiper', {
161        slidesPerView: 1,
162        navigation: {
163          nextEl: '.swiper-button-next',
164          prevEl: '.swiper-button-prev'
165        }
166      });
167    }
168  }
169  document.querySelectorAll('a[href^="#"]').forEach(function (internalLink) {
170    if (internalLink) {
171      var href = internalLink.getAttribute('href');
172      if (href === '#' || href === '#0') {
173        return;
174      }
175      var targetElement = document.getElementById(href.replace(/^#/, ''));
176      if (targetElement) {
177        internalLink.addEventListener('click', function (e) {
178          var y = targetElement.getBoundingClientRect().top + window.scrollY - 75;
179          window.scrollTo({
180            top: y,
181            behavior: 'smooth'
182          });
183          e.preventDefault();
184        });
185      }
186    }
187  });
188  var lastEntry = null;
189  var queueEntry = [];
190  var observer = new IntersectionObserver(function (entries) {
191    entries.forEach(function (entry) {
192      var id = entry.target.getAttribute('id');
193      var navLink = document.querySelector("nav.table-of-contents li a[href=\"#".concat(id, "\"]"));
194
195      // console.log(id, lastEntry ? entry.intersectionRatio > 0.8 && entry.boundingClientRect.top < lastEntry.boundingClientRect.top : '');
196      // check if entry is fully in viewport and has no active class
197      if (entry.intersectionRatio > 0.8 && navLink && !navLink.classList.contains('active')) {
198        // scroll top - make previous section active again
199        if (lastEntry && entry.intersectionRatio > 0.8 && entry.boundingClientRect.top < lastEntry.boundingClientRect.top) {
200          var lastId = lastEntry.target.getAttribute('id');
201          var lastNavLink = document.querySelector("nav.table-of-contents li a[href=\"#".concat(lastId, "\"]"));
202          lastNavLink.classList.remove('active');
203          navLink.classList.add('active');
204          lastEntry = entry;
205          queueEntry = [];
206        }
207        // If we have another active entry push current entry to queue
208        else if (lastEntry) {
209          queueEntry.push(entry);
210        } else {
211          navLink.classList.add('active');
212          lastEntry = entry;
213        }
214      }
215      // check if entry leaves viewport and has active class
216      else if (entry.intersectionRatio == 0 && navLink && navLink.classList.contains('active')) {
217        // If the entry is not intersecting but its nav link still has the active class, it means the element has just left the viewport
218        navLink.classList.remove('active');
219        if (queueEntry.length > 0) {
220          // If there is a last entry, remove the active class from its nav link
221          lastEntry = queueEntry.shift();
222          if (lastEntry) {
223            var _lastId = lastEntry.target.getAttribute('id');
224            var _lastNavLink = document.querySelector("nav.table-of-contents li a[href=\"#".concat(_lastId, "\"]"));
225            _lastNavLink.classList.add('active');
226          }
227        } else {
228          lastEntry = null;
229        }
230      }
231    });
232  }, {
233    threshold: [0, 0.8]
234  });
235  document.querySelectorAll('h2[id], h3[id]').forEach(function (section) {
236    observer.observe(section);
237  });
238  var copyButton = document.querySelector('[data-copy]');
239  if (copyButton) {
240    var copied = document.querySelector('[data-copied]');
241    copyButton.addEventListener('click', function (e) {
242      copied.style.display = 'block';
243      copyButton.firstChild.nextElementSibling.classList.add('pink');
244      navigator.clipboard.writeText(window.location.href);
245      setTimeout(function () {
246        copyButton.firstChild.nextElementSibling.classList.remove('pink');
247        copied.style.display = 'none';
248      }, 2000);
249    });
250  }
251  var menuButton = document.querySelector('[data-menu]');
252  var menuPopup = document.querySelector('[data-popup-menu]');
253  var menuBackdrop = document.querySelector('.header-mobile-backdrop');
254  menuButton.addEventListener('click', function (e) {
255    menuButton.classList.toggle('open');
256    menuPopup.classList.toggle('show');
257    menuBackdrop.classList.toggle('show');
258  });
259  window.addEventListener('resize', function () {
260    menuPopup.classList.remove('show');
261    menuButton.classList.remove('open');
262    menuBackdrop.classList.remove('show');
263  });
264  window.addEventListener('beforeunload', function () {
265    menuPopup.classList.remove('show');
266    menuButton.classList.remove('open');
267    menuBackdrop.classList.remove('show');
268  });
269
270  // const menuButton = menuDropdownButton.find('[data-menu]');
271  // const menuPopup = document.querySelector('[data-popup-menu]');
272  // const body = document.body;
273  menuButton.addEventListener('click', function (e) {
274    document.querySelectorAll('[data-popup-menu] .sub-menu').forEach(function (item) {
275      item.classList.remove('show');
276    });
277    document.querySelectorAll('[data-popup-menu] [data-arrow]').forEach(function (item) {
278      item.classList.remove('show');
279    });
280  });
281  window.addEventListener('resize', function () {
282    document.querySelectorAll('[data-popup-menu] .sub-menu').forEach(function (item) {
283      item.classList.remove('show');
284    });
285    document.querySelectorAll('[data-popup-menu] [data-arrow]').forEach(function (item) {
286      item.classList.remove('show');
287    });
288  });
289  var menuDropdownButtons = document.querySelectorAll('[data-popup-menu] .menu-item-has-children,[data-popup-menu] [data-blog-menu]');
290  menuDropdownButtons.forEach(function (menuDropdownButton) {
291    var menuDropdownPopup = $(menuDropdownButton).find('.sub-menu');
292    var menuArrow = $(menuDropdownButton).find('[data-arrow]');
293    menuDropdownButton.addEventListener('click', function () {
294      if (window.innerWidth <= 1366) {
295        $(menuDropdownButton).siblings().find('.sub-menu').removeClass('show');
296        $(menuDropdownButton).siblings().find('[data-arrow]').removeClass('show');
297        if (menuDropdownPopup.hasClass('show')) {
298          menuDropdownPopup.removeClass('show');
299        } else {
300          menuDropdownPopup.addClass('show');
301        }
302        if (menuArrow.hasClass('show')) {
303          menuArrow.removeClass('show');
304        } else {
305          menuArrow.addClass('show');
306        }
307      }
308    });
309  });
310  if (document.querySelector('[data-play-button]')) {
311    var _playButton = document.querySelector('[data-play-button]');
312    var iframeVideo = document.querySelector('#video');
313    var src = iframeVideo.getAttribute('src');
314    _playButton.addEventListener('click', function () {
315      _playButton.style.display = 'none';
316      iframeVideo.style.zIndex = '2';
317      iframeVideo.setAttribute('src', src + '&autoplay=1');
318    });
319  }
320  if (document.querySelector('.subscribing')) {
321    localStorage.setItem('subscribed', 'true');
322    setTimeout(function () {
323      var referrer = localStorage.getItem('referrer');
324      if (referrer) {
325        window.location.href = referrer;
326        localStorage.removeItem('referrer');
327      } else {
328        window.history.back();
329      }
330    }, 2500);
331  }
332  subscribed = localStorage.getItem('subscribed');
333  var subscribeBannerIndex = localStorage.getItem('subscribeBannerIndex');
334  if (subscribeBannerIndex && subscribed) {
335    var subscribeBannerElement = $('.subscribe-banner').eq(parseInt(subscribeBannerIndex));
336    if (subscribeBannerElement.length > 0) {
337      subscribeBannerElement.scrollTop(100);
338      subscribeBannerElement.addClass('subscribed');
339      scrollTo(subscribeBannerElement);
340      localStorage.removeItem('subscribeBannerIndex');
341    }
342  }
343  if (subscribed) {
344    document.querySelectorAll('.subscribe-banner').forEach(function (subscribeBanner, index) {
345      if (subscribed && subscribeBanner) {
346        subscribeBanner.scrollTop = 100;
347        subscribeBanner.classList.add('subscribed');
348        localStorage.removeItem('subscribed');
349        if (!index && !subscribeBannerIndex) {
350          scrollTo(subscribeBanner);
351          localStorage.removeItem('subscribeBannerIndex');
352        }
353      }
354    });
355  }
356  var shareDownloadLinkButtons = document.querySelectorAll('#download-native-share,.download-native-share');
357  if (shareDownloadLinkButtons.length > 0) {
358    shareDownloadLinkButtons.forEach(function (shareDownloadLinkButton) {
359      shareDownloadLinkButton.addEventListener('click', /*#__PURE__*/function () {
360        var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
361          return _regeneratorRuntime().wrap(function _callee$(_context) {
362            while (1) switch (_context.prev = _context.next) {
363              case 0:
364                if (!(window.innerWidth > 768 || !navigator.share)) {
365                  _context.next = 2;
366                  break;
367                }
368                return _context.abrupt("return");
369              case 2:
370                _context.prev = 2;
371                e.preventDefault();
372                _context.next = 6;
373                return navigator.share({
374                  title: shareDownloadLinkButton.getAttribute('data-title'),
375                  text: shareDownloadLinkButton.getAttribute('data-text'),
376                  url: shareDownloadLinkButton.getAttribute('data-url-mobile') || shareDownloadLinkButton.getAttribute('data-url')
377                });
378              case 6:
379                _context.next = 11;
380                break;
381              case 8:
382                _context.prev = 8;
383                _context.t0 = _context["catch"](2);
384                console.error('Error sharing:', _context.t0);
385              case 11:
386              case "end":
387                return _context.stop();
388            }
389          }, _callee, null, [[2, 8]]);
390        }));
391        return function (_x) {
392          return _ref.apply(this, arguments);
393        };
394      }());
395    });
396  }
397  function getCookie(name) {
398    var value = "; ".concat(document.cookie);
399    var parts = value.split("; ".concat(name, "="));
400    if (parts.length === 2) return parts.pop().split(';').shift();
401  }
402  function setCookie(name, value, days) {
403    var expires = '';
404    if (days) {
405      var date = new Date();
406      date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
407      expires = '; expires=' + date.toUTCString();
408    }
409    document.cookie = "".concat(name, "=").concat(value || '').concat(expires, "; path=/; SameSite=Lax");
410  }
411  var download = function download(downloadUrl) {
412    var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3000;
413    return setTimeout(function () {
414      window.location.href = downloadUrl;
415      window.dataLayer.push({
416        'event': 'moonlock',
417        'eventCategory': 'Moonlock',
418        'eventAction': 'Easy Trial Download DMG',
419        'eventLabel': 'Auto Download'
420      });
421      var allowDownload = document.querySelector('[data-allow-download]');
422      if (getCookie('safari_allow_download') !== '1' && allowDownload) {
423        allowDownload.onmousemove = function () {
424          setCookie('safari_allow_download', 1);
425        };
426      }
427    }, timeout);
428  };
429  function isActualMacOS() {
430    var nav = window.navigator;
431
432    // 1. Check Modern Client Hints (Chrome, Edge, Opera)
433    if (nav.userAgentData) {
434      return nav.userAgentData.platform === 'macOS';
435    }
436
437    // 2. Check Legacy Platform string
438    var isMacPlatform = /Mac/.test(nav.platform);
439
440    // 3. Exclude iOS/iPadOS
441    // iPads (especially on Safari) claim to be 'MacIntel' but have touch points.
442    // iPhones also report touch points. MacOS devices (laptops/desktops) do not.
443    var isTouchDevice = nav.maxTouchPoints > 0;
444    return isMacPlatform && !isTouchDevice;
445  }
446  if (isActualMacOS() && document.querySelector('.page-download')) {
447    download(window.download_url);
448  }
449});
450function validateEmail(email) {
451  var re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
452  return re.test(String(email).toLowerCase());
453}
454function showErrorMessage() {
455  var errorMessage = document.querySelector('.error-message');
456  if (errorMessage) {
457    errorMessage.style.display = 'block';
458    $(errorMessage).first().siblings('form').addClass('error');
459  }
460}
461function scrollTo(element) {
462  var y = $(element).offset().top - 100;
463  window.scrollTo({
464    top: y,
465    behavior: 'smooth'
466  });
467}
468var formAnalyticsTrigger = false;
469var SUBSCRIBE_CONFIG = window.MOONLOCK_SUBSCRIBE || {};
470var SUBSCRIBE_PATH = '/api/v2/site-subscribe';
471var SUBSCRIBE_ENDPOINT = (SUBSCRIBE_CONFIG.gatewayUrl || '').replace(/\/+$/, '') + SUBSCRIBE_PATH;
472var SUBSCRIBE_CLIENT_ID = SUBSCRIBE_CONFIG.clientId || '';
473var SUBSCRIBE_PRODUCT = 'moonlock';
474jQuery(function ($) {
475  $('body').on('submit', '.subscribe-form', function () {
476    var email = $(this).find('input[type="email"]').val();
477    if (!formAnalyticsTrigger && validateEmail(email)) {
478      var $subscribeBanner = $(this).closest('.subscribe-banner');
479      var source = 'mlkWebsite';
480      var tag = 'mlkBlogFooter';
481      if ($(this).closest('.subscribe-footer').length > 0) {
482        source = 'mlkWebsite';
483        tag = 'mlkBlogFooter';
484        window.dataLayer = window.dataLayer || [];
485        window.dataLayer.push({
486          'event': 'moonlock',
487          'eventCategory': 'general',
488          'eventAction': 'on-page subscribe form bottom',
489          'eventLabel': 'email opt-in'
490        });
491      } else if ($(this).closest('.blog-form-wrapper').length > 0) {
492        source = 'mlkWebsite';
493        tag = 'mlkBlogTop';
494        window.dataLayer = window.dataLayer || [];
495        window.dataLayer.push({
496          'event': 'moonlock',
497          'eventCategory': 'general',
498          'eventAction': 'on-page subscribe form top',
499          'eventLabel': 'email opt-in'
500        });
501      } else if ($(this).closest('.content-text').length > 0) {
502        source = 'mlkWebsite';
503        tag = 'mlkBlogArticle';
504        window.dataLayer = window.dataLayer || [];
505        if ($('.subscribe-form').index($(this)) > 0) {
506          window.dataLayer.push({
507            'event': 'moonlock',
508            'eventCategory': 'blog',
509            'eventAction': 'blog-page subscribe form bottom',
510            'eventLabel': 'email opt-in'
511          });
512        } else {
513          window.dataLayer.push({
514            'event': 'moonlock',
515            'eventCategory': 'blog',
516            'eventAction': 'blog-page subscribe form top',
517            'eventLabel': 'email opt-in'
518          });
519        }
520      }
521      formAnalyticsTrigger = true;
522      localStorage.setItem('referrer', window.location.href);
523      if ($subscribeBanner.length > 0) {
524        localStorage.setItem('subscribeBannerIndex', $('.subscribe-banner').index($subscribeBanner));
525      }
526      var payload = {
527        email: email,
528        product: SUBSCRIBE_PRODUCT,
529        tag: tag,
530        source: source
531      };
532      fetch(SUBSCRIBE_ENDPOINT, {
533        method: 'POST',
534        headers: {
535          'Content-Type': 'application/json',
536          'CLIENT-ID': SUBSCRIBE_CLIENT_ID,
537          'Accept-Language': (document.documentElement.lang || 'en').slice(0, 2)
538        },
539        body: JSON.stringify(payload)
540      }).then(function (res) {
541        if (res.status === 200) {
542          window.location = window.location.origin + '/subscribing';
543        } else {
544          showErrorMessage();
545        }
546      }).catch(function () {
547        showErrorMessage();
548      });
549      return false;
550    } else if (!formAnalyticsTrigger) {
551      $(this).siblings('.error-message').show();
552      $(this).addClass('error');
553      return false;
554    }
555  });
556  $('body').on('focus', '.subscribe-form input', function () {
557    $(this).closest('form').siblings('.error-message').hide();
558    $(this).closest('form').removeClass('error');
559  });
560  $('body').on('click', '.btn-load-more', function () {
561    var _this = $(this);
562    if (_this.hasClass('active')) {
563      _this.removeClass('active');
564      _this.siblings('.load-more-wrapper').removeClass('active');
565      _this.closest('.articles').find('.items .dynamic').addClass('hidden');
566      scrollTo(_this.closest('.load-more'));
567    } else {
568      _this.siblings('.load-more-wrapper').addClass('active');
569      var posts2 = _this.closest('.articles').find('.load-more .hidden');
570      var posts3 = _this.closest('.articles').find('.items .hidden');
571      if (posts2.length > 0) {
572        posts2.slice(0, 3).removeClass('hidden');
573        if (posts2.length <= 3) {
574          _this.addClass('active');
575        }
576      } else if (posts3.length > 0) {
577        posts3.slice(0, 2).removeClass('hidden');
578        if (posts3.length <= 2) {
579          _this.addClass('active');
580        }
581      } else {
582        _this.addClass('active');
583      }
584    }
585  });
586  if (typeof FsLightbox !== 'undefined' && $('.wp-block-image img').length > 0) {
587    // eslint-disable-next-line no-undef
588    var lightbox = new FsLightbox();
589    lightbox.props.type = 'image';
590    var sources = [];
591    $('.wp-block-image img').each(function (index, element) {
592      if ($(element).attr('src')) {
593        sources.push($(element).attr('src'));
594      }
595    });
596    if (sources.length > 0) {
597      lightbox.props.sources = sources;
598      $('.wp-block-image img').each(function (index, element) {
599        $(element).on('click', function (e) {
600          lightbox.open(index);
601        });
602      });
603    }
604  }
605  $('.trck-button').on('click', function () {
606    window.dataLayer = window.dataLayer || [];
607    window.dataLayer.push({
608      'event': 'moonlock',
609      'eventCategory': 'Moonlock',
610      'eventAction': $(this).attr('data-event-action') ? $(this).attr('data-event-action') : $(this).text().trim(),
611      'eventLabel': $(this).attr('data-event-label')
612    });
613  });
614  $('.article-snippet-block .cta-button,.wp-block-article-snippet-block .cta-button').on('click', function () {
615    window.dataLayer = window.dataLayer || [];
616    window.dataLayer.push({
617      'event': 'moonlock',
618      'eventCategory': 'Moonlock',
619      'eventAction': 'Click Banner - ' + $(this).siblings('.title').text().trim(),
620      'eventLabel': 'In-article'
621    });
622  });
623});
624
625/***/ }),
626
627/***/ "jquery":
628/*!*************************!*\
629  !*** external "jQuery" ***!
630  \*************************/
631/***/ (function(module) {
632
633module.exports = jQuery;
634
635/***/ }),
636
vendor: 4,015 bytes, lines 637-802
637/***/ "../../node_modules/ssr-window/ssr-window.esm.js":
638/*!*******************************************************!*\
639  !*** ../../node_modules/ssr-window/ssr-window.esm.js ***!
640  \*******************************************************/
641/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
642
643__webpack_require__.r(__webpack_exports__);
644/* harmony export */ __webpack_require__.d(__webpack_exports__, {
645/* harmony export */   extend: function() { return /* binding */ extend; },
646/* harmony export */   getDocument: function() { return /* binding */ getDocument; },
647/* harmony export */   getWindow: function() { return /* binding */ getWindow; },
648/* harmony export */   ssrDocument: function() { return /* binding */ ssrDocument; },
649/* harmony export */   ssrWindow: function() { return /* binding */ ssrWindow; }
650/* harmony export */ });
651/**
652 * SSR Window 4.0.2
653 * Better handling for window object in SSR environment
654 * https://github.com/nolimits4web/ssr-window
655 *
656 * Copyright 2021, Vladimir Kharlampidi
657 *
658 * Licensed under MIT
659 *
660 * Released on: December 13, 2021
661 */
662/* eslint-disable no-param-reassign */
663function isObject(obj) {
664    return (obj !== null &&
665        typeof obj === 'object' &&
666        'constructor' in obj &&
667        obj.constructor === Object);
668}
669function extend(target = {}, src = {}) {
670    Object.keys(src).forEach((key) => {
671        if (typeof target[key] === 'undefined')
672            target[key] = src[key];
673        else if (isObject(src[key]) &&
674            isObject(target[key]) &&
675            Object.keys(src[key]).length > 0) {
676            extend(target[key], src[key]);
677        }
678    });
679}
680
681const ssrDocument = {
682    body: {},
683    addEventListener() { },
684    removeEventListener() { },
685    activeElement: {
686        blur() { },
687        nodeName: '',
688    },
689    querySelector() {
690        return null;
691    },
692    querySelectorAll() {
693        return [];
694    },
695    getElementById() {
696        return null;
697    },
698    createEvent() {
699        return {
700            initEvent() { },
701        };
702    },
703    createElement() {
704        return {
705            children: [],
706            childNodes: [],
707            style: {},
708            setAttribute() { },
709            getElementsByTagName() {
710                return [];
711            },
712        };
713    },
714    createElementNS() {
715        return {};
716    },
717    importNode() {
718        return null;
719    },
720    location: {
721        hash: '',
722        host: '',
723        hostname: '',
724        href: '',
725        origin: '',
726        pathname: '',
727        protocol: '',
728        search: '',
729    },
730};
731function getDocument() {
732    const doc = typeof document !== 'undefined' ? document : {};
733    extend(doc, ssrDocument);
734    return doc;
735}
736
737const ssrWindow = {
738    document: ssrDocument,
739    navigator: {
740        userAgent: '',
741    },
742    location: {
743        hash: '',
744        host: '',
745        hostname: '',
746        href: '',
747        origin: '',
748        pathname: '',
749        protocol: '',
750        search: '',
751    },
752    history: {
753        replaceState() { },
754        pushState() { },
755        go() { },
756        back() { },
757    },
758    CustomEvent: function CustomEvent() {
759        return this;
760    },
761    addEventListener() { },
762    removeEventListener() { },
763    getComputedStyle() {
764        return {
765            getPropertyValue() {
766                return '';
767            },
768        };
769    },
770    Image() { },
771    Date() { },
772    screen: {},
773    setTimeout() { },
774    clearTimeout() { },
775    matchMedia() {
776        return {};
777    },
778    requestAnimationFrame(callback) {
779        if (typeof setTimeout === 'undefined') {
780            callback();
781            return null;
782        }
783        return setTimeout(callback, 0);
784    },
785    cancelAnimationFrame(id) {
786        if (typeof setTimeout === 'undefined') {
787            return;
788        }
789        clearTimeout(id);
790    },
791};
792function getWindow() {
793    const win = typeof window !== 'undefined' ? window : {};
794    extend(win, ssrWindow);
795    return win;
796}
797
798
799
800
801/***/ }),
802
vendor: 1,874 bytes, lines 803-852
803/***/ "../../node_modules/swiper/core/breakpoints/getBreakpoint.js":
804/*!*******************************************************************!*\
805  !*** ../../node_modules/swiper/core/breakpoints/getBreakpoint.js ***!
806  \*******************************************************************/
807/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
808
809__webpack_require__.r(__webpack_exports__);
810/* harmony export */ __webpack_require__.d(__webpack_exports__, {
811/* harmony export */   "default": function() { return /* binding */ getBreakpoint; }
812/* harmony export */ });
813/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
814
815function getBreakpoint(breakpoints, base = 'window', containerEl) {
816  if (!breakpoints || base === 'container' && !containerEl) return undefined;
817  let breakpoint = false;
818  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
819  const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;
820  const points = Object.keys(breakpoints).map(point => {
821    if (typeof point === 'string' && point.indexOf('@') === 0) {
822      const minRatio = parseFloat(point.substr(1));
823      const value = currentHeight * minRatio;
824      return {
825        value,
826        point
827      };
828    }
829    return {
830      value: point,
831      point
832    };
833  });
834  points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));
835  for (let i = 0; i < points.length; i += 1) {
836    const {
837      point,
838      value
839    } = points[i];
840    if (base === 'window') {
841      if (window.matchMedia(`(min-width: ${value}px)`).matches) {
842        breakpoint = point;
843      }
844    } else if (value <= containerEl.clientWidth) {
845      breakpoint = point;
846    }
847  }
848  return breakpoint || 'max';
849}
850
851/***/ }),
852
vendor: 999 bytes, lines 853-870
853/***/ "../../node_modules/swiper/core/breakpoints/index.js":
854/*!***********************************************************!*\
855  !*** ../../node_modules/swiper/core/breakpoints/index.js ***!
856  \***********************************************************/
857/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
858
859__webpack_require__.r(__webpack_exports__);
860/* harmony import */ var _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setBreakpoint.js */ "../../node_modules/swiper/core/breakpoints/setBreakpoint.js");
861/* harmony import */ var _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getBreakpoint.js */ "../../node_modules/swiper/core/breakpoints/getBreakpoint.js");
862
863
864/* harmony default export */ __webpack_exports__["default"] = ({
865  setBreakpoint: _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__["default"],
866  getBreakpoint: _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__["default"]
867});
868
869/***/ }),
870
vendor: 3,749 bytes, lines 871-956
871/***/ "../../node_modules/swiper/core/breakpoints/setBreakpoint.js":
872/*!*******************************************************************!*\
873  !*** ../../node_modules/swiper/core/breakpoints/setBreakpoint.js ***!
874  \*******************************************************************/
875/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
876
877__webpack_require__.r(__webpack_exports__);
878/* harmony export */ __webpack_require__.d(__webpack_exports__, {
879/* harmony export */   "default": function() { return /* binding */ setBreakpoint; }
880/* harmony export */ });
881/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
882
883const isGridEnabled = (swiper, params) => {
884  return swiper.grid && params.grid && params.grid.rows > 1;
885};
886function setBreakpoint() {
887  const swiper = this;
888  const {
889    realIndex,
890    initialized,
891    params,
892    el
893  } = swiper;
894  const breakpoints = params.breakpoints;
895  if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;
896
897  // Get breakpoint for window width and update parameters
898  const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);
899  if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;
900  const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;
901  const breakpointParams = breakpointOnlyParams || swiper.originalParams;
902  const wasMultiRow = isGridEnabled(swiper, params);
903  const isMultiRow = isGridEnabled(swiper, breakpointParams);
904  const wasEnabled = params.enabled;
905  if (wasMultiRow && !isMultiRow) {
906    el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);
907    swiper.emitContainerClasses();
908  } else if (!wasMultiRow && isMultiRow) {
909    el.classList.add(`${params.containerModifierClass}grid`);
910    if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {
911      el.classList.add(`${params.containerModifierClass}grid-column`);
912    }
913    swiper.emitContainerClasses();
914  }
915
916  // Toggle navigation, pagination, scrollbar
917  ['navigation', 'pagination', 'scrollbar'].forEach(prop => {
918    if (typeof breakpointParams[prop] === 'undefined') return;
919    const wasModuleEnabled = params[prop] && params[prop].enabled;
920    const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;
921    if (wasModuleEnabled && !isModuleEnabled) {
922      swiper[prop].disable();
923    }
924    if (!wasModuleEnabled && isModuleEnabled) {
925      swiper[prop].enable();
926    }
927  });
928  const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;
929  const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);
930  if (directionChanged && initialized) {
931    swiper.changeDirection();
932  }
933  (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(swiper.params, breakpointParams);
934  const isEnabled = swiper.params.enabled;
935  Object.assign(swiper, {
936    allowTouchMove: swiper.params.allowTouchMove,
937    allowSlideNext: swiper.params.allowSlideNext,
938    allowSlidePrev: swiper.params.allowSlidePrev
939  });
940  if (wasEnabled && !isEnabled) {
941    swiper.disable();
942  } else if (!wasEnabled && isEnabled) {
943    swiper.enable();
944  }
945  swiper.currentBreakpoint = breakpoint;
946  swiper.emit('_beforeBreakpoint', breakpointParams);
947  if (needsReLoop && initialized) {
948    swiper.loopDestroy();
949    swiper.loopCreate(realIndex);
950    swiper.updateSlides();
951  }
952  swiper.emit('breakpoint', breakpointParams);
953}
954
955/***/ }),
956
vendor: 1,360 bytes, lines 957-998
957/***/ "../../node_modules/swiper/core/check-overflow/index.js":
958/*!**************************************************************!*\
959  !*** ../../node_modules/swiper/core/check-overflow/index.js ***!
960  \**************************************************************/
961/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
962
963__webpack_require__.r(__webpack_exports__);
964function checkOverflow() {
965  const swiper = this;
966  const {
967    isLocked: wasLocked,
968    params
969  } = swiper;
970  const {
971    slidesOffsetBefore
972  } = params;
973  if (slidesOffsetBefore) {
974    const lastSlideIndex = swiper.slides.length - 1;
975    const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;
976    swiper.isLocked = swiper.size > lastSlideRightEdge;
977  } else {
978    swiper.isLocked = swiper.snapGrid.length === 1;
979  }
980  if (params.allowSlideNext === true) {
981    swiper.allowSlideNext = !swiper.isLocked;
982  }
983  if (params.allowSlidePrev === true) {
984    swiper.allowSlidePrev = !swiper.isLocked;
985  }
986  if (wasLocked && wasLocked !== swiper.isLocked) {
987    swiper.isEnd = false;
988  }
989  if (wasLocked !== swiper.isLocked) {
990    swiper.emit(swiper.isLocked ? 'lock' : 'unlock');
991  }
992}
993/* harmony default export */ __webpack_exports__["default"] = ({
994  checkOverflow
995});
996
997/***/ }),
998
vendor: 1,857 bytes, lines 999-1061
999/***/ "../../node_modules/swiper/core/classes/addClasses.js":
1000/*!************************************************************!*\
1001  !*** ../../node_modules/swiper/core/classes/addClasses.js ***!
1002  \************************************************************/
1003/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1004
1005__webpack_require__.r(__webpack_exports__);
1006/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1007/* harmony export */   "default": function() { return /* binding */ addClasses; }
1008/* harmony export */ });
1009function prepareClasses(entries, prefix) {
1010  const resultClasses = [];
1011  entries.forEach(item => {
1012    if (typeof item === 'object') {
1013      Object.keys(item).forEach(classNames => {
1014        if (item[classNames]) {
1015          resultClasses.push(prefix + classNames);
1016        }
1017      });
1018    } else if (typeof item === 'string') {
1019      resultClasses.push(prefix + item);
1020    }
1021  });
1022  return resultClasses;
1023}
1024function addClasses() {
1025  const swiper = this;
1026  const {
1027    classNames,
1028    params,
1029    rtl,
1030    el,
1031    device
1032  } = swiper;
1033  // prettier-ignore
1034  const suffixes = prepareClasses(['initialized', params.direction, {
1035    'free-mode': swiper.params.freeMode && params.freeMode.enabled
1036  }, {
1037    'autoheight': params.autoHeight
1038  }, {
1039    'rtl': rtl
1040  }, {
1041    'grid': params.grid && params.grid.rows > 1
1042  }, {
1043    'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'
1044  }, {
1045    'android': device.android
1046  }, {
1047    'ios': device.ios
1048  }, {
1049    'css-mode': params.cssMode
1050  }, {
1051    'centered': params.cssMode && params.centeredSlides
1052  }, {
1053    'watch-progress': params.watchSlidesProgress
1054  }], params.containerModifierClass);
1055  classNames.push(...suffixes);
1056  el.classList.add(...classNames);
1057  swiper.emitContainerClasses();
1058}
1059
1060/***/ }),
1061
vendor: 960 bytes, lines 1062-1079
1062/***/ "../../node_modules/swiper/core/classes/index.js":
1063/*!*******************************************************!*\
1064  !*** ../../node_modules/swiper/core/classes/index.js ***!
1065  \*******************************************************/
1066/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1067
1068__webpack_require__.r(__webpack_exports__);
1069/* harmony import */ var _addClasses_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./addClasses.js */ "../../node_modules/swiper/core/classes/addClasses.js");
1070/* harmony import */ var _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./removeClasses.js */ "../../node_modules/swiper/core/classes/removeClasses.js");
1071
1072
1073/* harmony default export */ __webpack_exports__["default"] = ({
1074  addClasses: _addClasses_js__WEBPACK_IMPORTED_MODULE_0__["default"],
1075  removeClasses: _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__["default"]
1076});
1077
1078/***/ }),
1079
vendor: 771 bytes, lines 1080-1101
1080/***/ "../../node_modules/swiper/core/classes/removeClasses.js":
1081/*!***************************************************************!*\
1082  !*** ../../node_modules/swiper/core/classes/removeClasses.js ***!
1083  \***************************************************************/
1084/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1085
1086__webpack_require__.r(__webpack_exports__);
1087/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1088/* harmony export */   "default": function() { return /* binding */ removeClasses; }
1089/* harmony export */ });
1090function removeClasses() {
1091  const swiper = this;
1092  const {
1093    el,
1094    classNames
1095  } = swiper;
1096  el.classList.remove(...classNames);
1097  swiper.emitContainerClasses();
1098}
1099
1100/***/ }),
1101
vendor: 23,723 bytes, lines 1102-1730
1102/***/ "../../node_modules/swiper/core/core.js":
1103/*!**********************************************!*\
1104  !*** ../../node_modules/swiper/core/core.js ***!
1105  \**********************************************/
1106/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1107
1108__webpack_require__.r(__webpack_exports__);
1109/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
1110/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
1111/* harmony import */ var _shared_get_support_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared/get-support.js */ "../../node_modules/swiper/shared/get-support.js");
1112/* harmony import */ var _shared_get_device_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared/get-device.js */ "../../node_modules/swiper/shared/get-device.js");
1113/* harmony import */ var _shared_get_browser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared/get-browser.js */ "../../node_modules/swiper/shared/get-browser.js");
1114/* harmony import */ var _modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/resize/resize.js */ "../../node_modules/swiper/core/modules/resize/resize.js");
1115/* harmony import */ var _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/observer/observer.js */ "../../node_modules/swiper/core/modules/observer/observer.js");
1116/* harmony import */ var _events_emitter_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./events-emitter.js */ "../../node_modules/swiper/core/events-emitter.js");
1117/* harmony import */ var _update_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./update/index.js */ "../../node_modules/swiper/core/update/index.js");
1118/* harmony import */ var _translate_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./translate/index.js */ "../../node_modules/swiper/core/translate/index.js");
1119/* harmony import */ var _transition_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./transition/index.js */ "../../node_modules/swiper/core/transition/index.js");
1120/* harmony import */ var _slide_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./slide/index.js */ "../../node_modules/swiper/core/slide/index.js");
1121/* harmony import */ var _loop_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./loop/index.js */ "../../node_modules/swiper/core/loop/index.js");
1122/* harmony import */ var _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./grab-cursor/index.js */ "../../node_modules/swiper/core/grab-cursor/index.js");
1123/* harmony import */ var _events_index_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./events/index.js */ "../../node_modules/swiper/core/events/index.js");
1124/* harmony import */ var _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./breakpoints/index.js */ "../../node_modules/swiper/core/breakpoints/index.js");
1125/* harmony import */ var _classes_index_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./classes/index.js */ "../../node_modules/swiper/core/classes/index.js");
1126/* harmony import */ var _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./check-overflow/index.js */ "../../node_modules/swiper/core/check-overflow/index.js");
1127/* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./defaults.js */ "../../node_modules/swiper/core/defaults.js");
1128/* harmony import */ var _moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./moduleExtendParams.js */ "../../node_modules/swiper/core/moduleExtendParams.js");
1129/* harmony import */ var _shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../shared/process-lazy-preloader.js */ "../../node_modules/swiper/shared/process-lazy-preloader.js");
1130/* eslint no-param-reassign: "off" */
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152const prototypes = {
1153  eventsEmitter: _events_emitter_js__WEBPACK_IMPORTED_MODULE_7__["default"],
1154  update: _update_index_js__WEBPACK_IMPORTED_MODULE_8__["default"],
1155  translate: _translate_index_js__WEBPACK_IMPORTED_MODULE_9__["default"],
1156  transition: _transition_index_js__WEBPACK_IMPORTED_MODULE_10__["default"],
1157  slide: _slide_index_js__WEBPACK_IMPORTED_MODULE_11__["default"],
1158  loop: _loop_index_js__WEBPACK_IMPORTED_MODULE_12__["default"],
1159  grabCursor: _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_13__["default"],
1160  events: _events_index_js__WEBPACK_IMPORTED_MODULE_14__["default"],
1161  breakpoints: _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_15__["default"],
1162  checkOverflow: _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_17__["default"],
1163  classes: _classes_index_js__WEBPACK_IMPORTED_MODULE_16__["default"]
1164};
1165const extendedDefaults = {};
1166class Swiper {
1167  constructor(...args) {
1168    let el;
1169    let params;
1170    if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {
1171      params = args[0];
1172    } else {
1173      [el, params] = args;
1174    }
1175    if (!params) params = {};
1176    params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, params);
1177    if (el && !params.el) params.el = el;
1178    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
1179    if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {
1180      const swipers = [];
1181      document.querySelectorAll(params.el).forEach(containerEl => {
1182        const newParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, params, {
1183          el: containerEl
1184        });
1185        swipers.push(new Swiper(newParams));
1186      });
1187      // eslint-disable-next-line no-constructor-return
1188      return swipers;
1189    }
1190
1191    // Swiper Instance
1192    const swiper = this;
1193    swiper.__swiper__ = true;
1194    swiper.support = (0,_shared_get_support_js__WEBPACK_IMPORTED_MODULE_2__.getSupport)();
1195    swiper.device = (0,_shared_get_device_js__WEBPACK_IMPORTED_MODULE_3__.getDevice)({
1196      userAgent: params.userAgent
1197    });
1198    swiper.browser = (0,_shared_get_browser_js__WEBPACK_IMPORTED_MODULE_4__.getBrowser)();
1199    swiper.eventsListeners = {};
1200    swiper.eventsAnyListeners = [];
1201    swiper.modules = [...swiper.__modules__];
1202    if (params.modules && Array.isArray(params.modules)) {
1203      swiper.modules.push(...params.modules);
1204    }
1205    const allModulesParams = {};
1206    swiper.modules.forEach(mod => {
1207      mod({
1208        params,
1209        swiper,
1210        extendParams: (0,_moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_19__["default"])(params, allModulesParams),
1211        on: swiper.on.bind(swiper),
1212        once: swiper.once.bind(swiper),
1213        off: swiper.off.bind(swiper),
1214        emit: swiper.emit.bind(swiper)
1215      });
1216    });
1217
1218    // Extend defaults with modules params
1219    const swiperParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, _defaults_js__WEBPACK_IMPORTED_MODULE_18__["default"], allModulesParams);
1220
1221    // Extend defaults with passed params
1222    swiper.params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, swiperParams, extendedDefaults, params);
1223    swiper.originalParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, swiper.params);
1224    swiper.passedParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, params);
1225
1226    // add event listeners
1227    if (swiper.params && swiper.params.on) {
1228      Object.keys(swiper.params.on).forEach(eventName => {
1229        swiper.on(eventName, swiper.params.on[eventName]);
1230      });
1231    }
1232    if (swiper.params && swiper.params.onAny) {
1233      swiper.onAny(swiper.params.onAny);
1234    }
1235
1236    // Extend Swiper
1237    Object.assign(swiper, {
1238      enabled: swiper.params.enabled,
1239      el,
1240      // Classes
1241      classNames: [],
1242      // Slides
1243      slides: [],
1244      slidesGrid: [],
1245      snapGrid: [],
1246      slidesSizesGrid: [],
1247      // isDirection
1248      isHorizontal() {
1249        return swiper.params.direction === 'horizontal';
1250      },
1251      isVertical() {
1252        return swiper.params.direction === 'vertical';
1253      },
1254      // Indexes
1255      activeIndex: 0,
1256      realIndex: 0,
1257      //
1258      isBeginning: true,
1259      isEnd: false,
1260      // Props
1261      translate: 0,
1262      previousTranslate: 0,
1263      progress: 0,
1264      velocity: 0,
1265      animating: false,
1266      cssOverflowAdjustment() {
1267        // Returns 0 unless `translate` is > 2**23
1268        // Should be subtracted from css values to prevent overflow
1269        return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;
1270      },
1271      // Locks
1272      allowSlideNext: swiper.params.allowSlideNext,
1273      allowSlidePrev: swiper.params.allowSlidePrev,
1274      // Touch Events
1275      touchEventsData: {
1276        isTouched: undefined,
1277        isMoved: undefined,
1278        allowTouchCallbacks: undefined,
1279        touchStartTime: undefined,
1280        isScrolling: undefined,
1281        currentTranslate: undefined,
1282        startTranslate: undefined,
1283        allowThresholdMove: undefined,
1284        // Form elements to match
1285        focusableElements: swiper.params.focusableElements,
1286        // Last click time
1287        lastClickTime: 0,
1288        clickTimeout: undefined,
1289        // Velocities
1290        velocities: [],
1291        allowMomentumBounce: undefined,
1292        startMoving: undefined,
1293        evCache: []
1294      },
1295      // Clicks
1296      allowClick: true,
1297      // Touches
1298      allowTouchMove: swiper.params.allowTouchMove,
1299      touches: {
1300        startX: 0,
1301        startY: 0,
1302        currentX: 0,
1303        currentY: 0,
1304        diff: 0
1305      },
1306      // Images
1307      imagesToLoad: [],
1308      imagesLoaded: 0
1309    });
1310    swiper.emit('_swiper');
1311
1312    // Init
1313    if (swiper.params.init) {
1314      swiper.init();
1315    }
1316
1317    // Return app instance
1318    // eslint-disable-next-line no-constructor-return
1319    return swiper;
1320  }
1321  getSlideIndex(slideEl) {
1322    const {
1323      slidesEl,
1324      params
1325    } = this;
1326    const slides = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(slidesEl, `.${params.slideClass}, swiper-slide`);
1327    const firstSlideIndex = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementIndex)(slides[0]);
1328    return (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementIndex)(slideEl) - firstSlideIndex;
1329  }
1330  getSlideIndexByData(index) {
1331    return this.getSlideIndex(this.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)[0]);
1332  }
1333  recalcSlides() {
1334    const swiper = this;
1335    const {
1336      slidesEl,
1337      params
1338    } = swiper;
1339    swiper.slides = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(slidesEl, `.${params.slideClass}, swiper-slide`);
1340  }
1341  enable() {
1342    const swiper = this;
1343    if (swiper.enabled) return;
1344    swiper.enabled = true;
1345    if (swiper.params.grabCursor) {
1346      swiper.setGrabCursor();
1347    }
1348    swiper.emit('enable');
1349  }
1350  disable() {
1351    const swiper = this;
1352    if (!swiper.enabled) return;
1353    swiper.enabled = false;
1354    if (swiper.params.grabCursor) {
1355      swiper.unsetGrabCursor();
1356    }
1357    swiper.emit('disable');
1358  }
1359  setProgress(progress, speed) {
1360    const swiper = this;
1361    progress = Math.min(Math.max(progress, 0), 1);
1362    const min = swiper.minTranslate();
1363    const max = swiper.maxTranslate();
1364    const current = (max - min) * progress + min;
1365    swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);
1366    swiper.updateActiveIndex();
1367    swiper.updateSlidesClasses();
1368  }
1369  emitContainerClasses() {
1370    const swiper = this;
1371    if (!swiper.params._emitClasses || !swiper.el) return;
1372    const cls = swiper.el.className.split(' ').filter(className => {
1373      return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;
1374    });
1375    swiper.emit('_containerClasses', cls.join(' '));
1376  }
1377  getSlideClasses(slideEl) {
1378    const swiper = this;
1379    if (swiper.destroyed) return '';
1380    return slideEl.className.split(' ').filter(className => {
1381      return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;
1382    }).join(' ');
1383  }
1384  emitSlidesClasses() {
1385    const swiper = this;
1386    if (!swiper.params._emitClasses || !swiper.el) return;
1387    const updates = [];
1388    swiper.slides.forEach(slideEl => {
1389      const classNames = swiper.getSlideClasses(slideEl);
1390      updates.push({
1391        slideEl,
1392        classNames
1393      });
1394      swiper.emit('_slideClass', slideEl, classNames);
1395    });
1396    swiper.emit('_slideClasses', updates);
1397  }
1398  slidesPerViewDynamic(view = 'current', exact = false) {
1399    const swiper = this;
1400    const {
1401      params,
1402      slides,
1403      slidesGrid,
1404      slidesSizesGrid,
1405      size: swiperSize,
1406      activeIndex
1407    } = swiper;
1408    let spv = 1;
1409    if (params.centeredSlides) {
1410      let slideSize = slides[activeIndex] ? slides[activeIndex].swiperSlideSize : 0;
1411      let breakLoop;
1412      for (let i = activeIndex + 1; i < slides.length; i += 1) {
1413        if (slides[i] && !breakLoop) {
1414          slideSize += slides[i].swiperSlideSize;
1415          spv += 1;
1416          if (slideSize > swiperSize) breakLoop = true;
1417        }
1418      }
1419      for (let i = activeIndex - 1; i >= 0; i -= 1) {
1420        if (slides[i] && !breakLoop) {
1421          slideSize += slides[i].swiperSlideSize;
1422          spv += 1;
1423          if (slideSize > swiperSize) breakLoop = true;
1424        }
1425      }
1426    } else {
1427      // eslint-disable-next-line
1428      if (view === 'current') {
1429        for (let i = activeIndex + 1; i < slides.length; i += 1) {
1430          const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;
1431          if (slideInView) {
1432            spv += 1;
1433          }
1434        }
1435      } else {
1436        // previous
1437        for (let i = activeIndex - 1; i >= 0; i -= 1) {
1438          const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;
1439          if (slideInView) {
1440            spv += 1;
1441          }
1442        }
1443      }
1444    }
1445    return spv;
1446  }
1447  update() {
1448    const swiper = this;
1449    if (!swiper || swiper.destroyed) return;
1450    const {
1451      snapGrid,
1452      params
1453    } = swiper;
1454    // Breakpoints
1455    if (params.breakpoints) {
1456      swiper.setBreakpoint();
1457    }
1458    [...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl => {
1459      if (imageEl.complete) {
1460        (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.processLazyPreloader)(swiper, imageEl);
1461      }
1462    });
1463    swiper.updateSize();
1464    swiper.updateSlides();
1465    swiper.updateProgress();
1466    swiper.updateSlidesClasses();
1467    function setTranslate() {
1468      const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;
1469      const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());
1470      swiper.setTranslate(newTranslate);
1471      swiper.updateActiveIndex();
1472      swiper.updateSlidesClasses();
1473    }
1474    let translated;
1475    if (params.freeMode && params.freeMode.enabled && !params.cssMode) {
1476      setTranslate();
1477      if (params.autoHeight) {
1478        swiper.updateAutoHeight();
1479      }
1480    } else {
1481      if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) {
1482        const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides;
1483        translated = swiper.slideTo(slides.length - 1, 0, false, true);
1484      } else {
1485        translated = swiper.slideTo(swiper.activeIndex, 0, false, true);
1486      }
1487      if (!translated) {
1488        setTranslate();
1489      }
1490    }
1491    if (params.watchOverflow && snapGrid !== swiper.snapGrid) {
1492      swiper.checkOverflow();
1493    }
1494    swiper.emit('update');
1495  }
1496  changeDirection(newDirection, needUpdate = true) {
1497    const swiper = this;
1498    const currentDirection = swiper.params.direction;
1499    if (!newDirection) {
1500      // eslint-disable-next-line
1501      newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';
1502    }
1503    if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {
1504      return swiper;
1505    }
1506    swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);
1507    swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);
1508    swiper.emitContainerClasses();
1509    swiper.params.direction = newDirection;
1510    swiper.slides.forEach(slideEl => {
1511      if (newDirection === 'vertical') {
1512        slideEl.style.width = '';
1513      } else {
1514        slideEl.style.height = '';
1515      }
1516    });
1517    swiper.emit('changeDirection');
1518    if (needUpdate) swiper.update();
1519    return swiper;
1520  }
1521  changeLanguageDirection(direction) {
1522    const swiper = this;
1523    if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;
1524    swiper.rtl = direction === 'rtl';
1525    swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;
1526    if (swiper.rtl) {
1527      swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);
1528      swiper.el.dir = 'rtl';
1529    } else {
1530      swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);
1531      swiper.el.dir = 'ltr';
1532    }
1533    swiper.update();
1534  }
1535  mount(element) {
1536    const swiper = this;
1537    if (swiper.mounted) return true;
1538
1539    // Find el
1540    let el = element || swiper.params.el;
1541    if (typeof el === 'string') {
1542      el = document.querySelector(el);
1543    }
1544    if (!el) {
1545      return false;
1546    }
1547    el.swiper = swiper;
1548    if (el.shadowEl) {
1549      swiper.isElement = true;
1550    }
1551    const getWrapperSelector = () => {
1552      return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;
1553    };
1554    const getWrapper = () => {
1555      if (el && el.shadowRoot && el.shadowRoot.querySelector) {
1556        const res = el.shadowRoot.querySelector(getWrapperSelector());
1557        // Children needs to return slot items
1558        return res;
1559      }
1560      return (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(el, getWrapperSelector())[0];
1561    };
1562    // Find Wrapper
1563    let wrapperEl = getWrapper();
1564    if (!wrapperEl && swiper.params.createElements) {
1565      wrapperEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', swiper.params.wrapperClass);
1566      el.append(wrapperEl);
1567      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(el, `.${swiper.params.slideClass}`).forEach(slideEl => {
1568        wrapperEl.append(slideEl);
1569      });
1570    }
1571    Object.assign(swiper, {
1572      el,
1573      wrapperEl,
1574      slidesEl: swiper.isElement ? el : wrapperEl,
1575      mounted: true,
1576      // RTL
1577      rtl: el.dir.toLowerCase() === 'rtl' || (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementStyle)(el, 'direction') === 'rtl',
1578      rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementStyle)(el, 'direction') === 'rtl'),
1579      wrongRTL: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementStyle)(wrapperEl, 'display') === '-webkit-box'
1580    });
1581    return true;
1582  }
1583  init(el) {
1584    const swiper = this;
1585    if (swiper.initialized) return swiper;
1586    const mounted = swiper.mount(el);
1587    if (mounted === false) return swiper;
1588    swiper.emit('beforeInit');
1589
1590    // Set breakpoint
1591    if (swiper.params.breakpoints) {
1592      swiper.setBreakpoint();
1593    }
1594
1595    // Add Classes
1596    swiper.addClasses();
1597
1598    // Update size
1599    swiper.updateSize();
1600
1601    // Update slides
1602    swiper.updateSlides();
1603    if (swiper.params.watchOverflow) {
1604      swiper.checkOverflow();
1605    }
1606
1607    // Set Grab Cursor
1608    if (swiper.params.grabCursor && swiper.enabled) {
1609      swiper.setGrabCursor();
1610    }
1611
1612    // Slide To Initial Slide
1613    if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {
1614      swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);
1615    } else {
1616      swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);
1617    }
1618
1619    // Create loop
1620    if (swiper.params.loop) {
1621      swiper.loopCreate();
1622    }
1623
1624    // Attach events
1625    swiper.attachEvents();
1626    [...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl => {
1627      if (imageEl.complete) {
1628        (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.processLazyPreloader)(swiper, imageEl);
1629      } else {
1630        imageEl.addEventListener('load', e => {
1631          (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.processLazyPreloader)(swiper, e.target);
1632        });
1633      }
1634    });
1635    (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.preload)(swiper);
1636
1637    // Init Flag
1638    swiper.initialized = true;
1639    (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.preload)(swiper);
1640
1641    // Emit
1642    swiper.emit('init');
1643    swiper.emit('afterInit');
1644    return swiper;
1645  }
1646  destroy(deleteInstance = true, cleanStyles = true) {
1647    const swiper = this;
1648    const {
1649      params,
1650      el,
1651      wrapperEl,
1652      slides
1653    } = swiper;
1654    if (typeof swiper.params === 'undefined' || swiper.destroyed) {
1655      return null;
1656    }
1657    swiper.emit('beforeDestroy');
1658
1659    // Init Flag
1660    swiper.initialized = false;
1661
1662    // Detach events
1663    swiper.detachEvents();
1664
1665    // Destroy loop
1666    if (params.loop) {
1667      swiper.loopDestroy();
1668    }
1669
1670    // Cleanup styles
1671    if (cleanStyles) {
1672      swiper.removeClasses();
1673      el.removeAttribute('style');
1674      wrapperEl.removeAttribute('style');
1675      if (slides && slides.length) {
1676        slides.forEach(slideEl => {
1677          slideEl.classList.remove(params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);
1678          slideEl.removeAttribute('style');
1679          slideEl.removeAttribute('data-swiper-slide-index');
1680        });
1681      }
1682    }
1683    swiper.emit('destroy');
1684
1685    // Detach emitter events
1686    Object.keys(swiper.eventsListeners).forEach(eventName => {
1687      swiper.off(eventName);
1688    });
1689    if (deleteInstance !== false) {
1690      swiper.el.swiper = null;
1691      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.deleteProps)(swiper);
1692    }
1693    swiper.destroyed = true;
1694    return null;
1695  }
1696  static extendDefaults(newDefaults) {
1697    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)(extendedDefaults, newDefaults);
1698  }
1699  static get extendedDefaults() {
1700    return extendedDefaults;
1701  }
1702  static get defaults() {
1703    return _defaults_js__WEBPACK_IMPORTED_MODULE_18__["default"];
1704  }
1705  static installModule(mod) {
1706    if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];
1707    const modules = Swiper.prototype.__modules__;
1708    if (typeof mod === 'function' && modules.indexOf(mod) < 0) {
1709      modules.push(mod);
1710    }
1711  }
1712  static use(module) {
1713    if (Array.isArray(module)) {
1714      module.forEach(m => Swiper.installModule(m));
1715      return Swiper;
1716    }
1717    Swiper.installModule(module);
1718    return Swiper;
1719  }
1720}
1721Object.keys(prototypes).forEach(prototypeGroup => {
1722  Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {
1723    Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];
1724  });
1725});
1726Swiper.use([_modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_5__["default"], _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_6__["default"]]);
1727/* harmony default export */ __webpack_exports__["default"] = (Swiper);
1728
1729/***/ }),
1730
vendor: 3,273 bytes, lines 1731-1857
1731/***/ "../../node_modules/swiper/core/defaults.js":
1732/*!**************************************************!*\
1733  !*** ../../node_modules/swiper/core/defaults.js ***!
1734  \**************************************************/
1735/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1736
1737__webpack_require__.r(__webpack_exports__);
1738/* harmony default export */ __webpack_exports__["default"] = ({
1739  init: true,
1740  direction: 'horizontal',
1741  oneWayMovement: false,
1742  touchEventsTarget: 'wrapper',
1743  initialSlide: 0,
1744  speed: 300,
1745  cssMode: false,
1746  updateOnWindowResize: true,
1747  resizeObserver: true,
1748  nested: false,
1749  createElements: false,
1750  enabled: true,
1751  focusableElements: 'input, select, option, textarea, button, video, label',
1752  // Overrides
1753  width: null,
1754  height: null,
1755  //
1756  preventInteractionOnTransition: false,
1757  // ssr
1758  userAgent: null,
1759  url: null,
1760  // To support iOS's swipe-to-go-back gesture (when being used in-app).
1761  edgeSwipeDetection: false,
1762  edgeSwipeThreshold: 20,
1763  // Autoheight
1764  autoHeight: false,
1765  // Set wrapper width
1766  setWrapperSize: false,
1767  // Virtual Translate
1768  virtualTranslate: false,
1769  // Effects
1770  effect: 'slide',
1771  // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'
1772
1773  // Breakpoints
1774  breakpoints: undefined,
1775  breakpointsBase: 'window',
1776  // Slides grid
1777  spaceBetween: 0,
1778  slidesPerView: 1,
1779  slidesPerGroup: 1,
1780  slidesPerGroupSkip: 0,
1781  slidesPerGroupAuto: false,
1782  centeredSlides: false,
1783  centeredSlidesBounds: false,
1784  slidesOffsetBefore: 0,
1785  // in px
1786  slidesOffsetAfter: 0,
1787  // in px
1788  normalizeSlideIndex: true,
1789  centerInsufficientSlides: false,
1790  // Disable swiper and hide navigation when container not overflow
1791  watchOverflow: true,
1792  // Round length
1793  roundLengths: false,
1794  // Touches
1795  touchRatio: 1,
1796  touchAngle: 45,
1797  simulateTouch: true,
1798  shortSwipes: true,
1799  longSwipes: true,
1800  longSwipesRatio: 0.5,
1801  longSwipesMs: 300,
1802  followFinger: true,
1803  allowTouchMove: true,
1804  threshold: 5,
1805  touchMoveStopPropagation: false,
1806  touchStartPreventDefault: true,
1807  touchStartForcePreventDefault: false,
1808  touchReleaseOnEdges: false,
1809  // Unique Navigation Elements
1810  uniqueNavElements: true,
1811  // Resistance
1812  resistance: true,
1813  resistanceRatio: 0.85,
1814  // Progress
1815  watchSlidesProgress: false,
1816  // Cursor
1817  grabCursor: false,
1818  // Clicks
1819  preventClicks: true,
1820  preventClicksPropagation: true,
1821  slideToClickedSlide: false,
1822  // loop
1823  loop: false,
1824  loopedSlides: null,
1825  loopPreventsSliding: true,
1826  // rewind
1827  rewind: false,
1828  // Swiping/no swiping
1829  allowSlidePrev: true,
1830  allowSlideNext: true,
1831  swipeHandler: null,
1832  // '.swipe-handler',
1833  noSwiping: true,
1834  noSwipingClass: 'swiper-no-swiping',
1835  noSwipingSelector: null,
1836  // Passive Listeners
1837  passiveListeners: true,
1838  maxBackfaceHiddenSlides: 10,
1839  // NS
1840  containerModifierClass: 'swiper-',
1841  // NEW
1842  slideClass: 'swiper-slide',
1843  slideActiveClass: 'swiper-slide-active',
1844  slideVisibleClass: 'swiper-slide-visible',
1845  slideNextClass: 'swiper-slide-next',
1846  slidePrevClass: 'swiper-slide-prev',
1847  wrapperClass: 'swiper-wrapper',
1848  lazyPreloaderClass: 'swiper-lazy-preloader',
1849  lazyPreloadPrevNext: 0,
1850  // Callbacks
1851  runCallbacksOnInit: true,
1852  // Internals
1853  _emitClasses: false
1854});
1855
1856/***/ }),
1857
vendor: 3,724 bytes, lines 1858-1965
1858/***/ "../../node_modules/swiper/core/events-emitter.js":
1859/*!********************************************************!*\
1860  !*** ../../node_modules/swiper/core/events-emitter.js ***!
1861  \********************************************************/
1862/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1863
1864__webpack_require__.r(__webpack_exports__);
1865/* eslint-disable no-underscore-dangle */
1866
1867/* harmony default export */ __webpack_exports__["default"] = ({
1868  on(events, handler, priority) {
1869    const self = this;
1870    if (!self.eventsListeners || self.destroyed) return self;
1871    if (typeof handler !== 'function') return self;
1872    const method = priority ? 'unshift' : 'push';
1873    events.split(' ').forEach(event => {
1874      if (!self.eventsListeners[event]) self.eventsListeners[event] = [];
1875      self.eventsListeners[event][method](handler);
1876    });
1877    return self;
1878  },
1879  once(events, handler, priority) {
1880    const self = this;
1881    if (!self.eventsListeners || self.destroyed) return self;
1882    if (typeof handler !== 'function') return self;
1883    function onceHandler(...args) {
1884      self.off(events, onceHandler);
1885      if (onceHandler.__emitterProxy) {
1886        delete onceHandler.__emitterProxy;
1887      }
1888      handler.apply(self, args);
1889    }
1890    onceHandler.__emitterProxy = handler;
1891    return self.on(events, onceHandler, priority);
1892  },
1893  onAny(handler, priority) {
1894    const self = this;
1895    if (!self.eventsListeners || self.destroyed) return self;
1896    if (typeof handler !== 'function') return self;
1897    const method = priority ? 'unshift' : 'push';
1898    if (self.eventsAnyListeners.indexOf(handler) < 0) {
1899      self.eventsAnyListeners[method](handler);
1900    }
1901    return self;
1902  },
1903  offAny(handler) {
1904    const self = this;
1905    if (!self.eventsListeners || self.destroyed) return self;
1906    if (!self.eventsAnyListeners) return self;
1907    const index = self.eventsAnyListeners.indexOf(handler);
1908    if (index >= 0) {
1909      self.eventsAnyListeners.splice(index, 1);
1910    }
1911    return self;
1912  },
1913  off(events, handler) {
1914    const self = this;
1915    if (!self.eventsListeners || self.destroyed) return self;
1916    if (!self.eventsListeners) return self;
1917    events.split(' ').forEach(event => {
1918      if (typeof handler === 'undefined') {
1919        self.eventsListeners[event] = [];
1920      } else if (self.eventsListeners[event]) {
1921        self.eventsListeners[event].forEach((eventHandler, index) => {
1922          if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {
1923            self.eventsListeners[event].splice(index, 1);
1924          }
1925        });
1926      }
1927    });
1928    return self;
1929  },
1930  emit(...args) {
1931    const self = this;
1932    if (!self.eventsListeners || self.destroyed) return self;
1933    if (!self.eventsListeners) return self;
1934    let events;
1935    let data;
1936    let context;
1937    if (typeof args[0] === 'string' || Array.isArray(args[0])) {
1938      events = args[0];
1939      data = args.slice(1, args.length);
1940      context = self;
1941    } else {
1942      events = args[0].events;
1943      data = args[0].data;
1944      context = args[0].context || self;
1945    }
1946    data.unshift(context);
1947    const eventsArray = Array.isArray(events) ? events : events.split(' ');
1948    eventsArray.forEach(event => {
1949      if (self.eventsAnyListeners && self.eventsAnyListeners.length) {
1950        self.eventsAnyListeners.forEach(eventHandler => {
1951          eventHandler.apply(context, [event, ...data]);
1952        });
1953      }
1954      if (self.eventsListeners && self.eventsListeners[event]) {
1955        self.eventsListeners[event].forEach(eventHandler => {
1956          eventHandler.apply(context, data);
1957        });
1958      }
1959    });
1960    return self;
1961  }
1962});
1963
1964/***/ }),
1965
vendor: 4,376 bytes, lines 1966-2074
1966/***/ "../../node_modules/swiper/core/events/index.js":
1967/*!******************************************************!*\
1968  !*** ../../node_modules/swiper/core/events/index.js ***!
1969  \******************************************************/
1970/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1971
1972__webpack_require__.r(__webpack_exports__);
1973/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
1974/* harmony import */ var _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./onTouchStart.js */ "../../node_modules/swiper/core/events/onTouchStart.js");
1975/* harmony import */ var _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./onTouchMove.js */ "../../node_modules/swiper/core/events/onTouchMove.js");
1976/* harmony import */ var _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./onTouchEnd.js */ "../../node_modules/swiper/core/events/onTouchEnd.js");
1977/* harmony import */ var _onResize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./onResize.js */ "../../node_modules/swiper/core/events/onResize.js");
1978/* harmony import */ var _onClick_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./onClick.js */ "../../node_modules/swiper/core/events/onClick.js");
1979/* harmony import */ var _onScroll_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./onScroll.js */ "../../node_modules/swiper/core/events/onScroll.js");
1980/* harmony import */ var _onLoad_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./onLoad.js */ "../../node_modules/swiper/core/events/onLoad.js");
1981
1982
1983
1984
1985
1986
1987
1988
1989let dummyEventAttached = false;
1990function dummyEventListener() {}
1991const events = (swiper, method) => {
1992  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
1993  const {
1994    params,
1995    el,
1996    wrapperEl,
1997    device
1998  } = swiper;
1999  const capture = !!params.nested;
2000  const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';
2001  const swiperMethod = method;
2002
2003  // Touch Events
2004  el[domMethod]('pointerdown', swiper.onTouchStart, {
2005    passive: false
2006  });
2007  document[domMethod]('pointermove', swiper.onTouchMove, {
2008    passive: false,
2009    capture
2010  });
2011  document[domMethod]('pointerup', swiper.onTouchEnd, {
2012    passive: true
2013  });
2014  document[domMethod]('pointercancel', swiper.onTouchEnd, {
2015    passive: true
2016  });
2017  document[domMethod]('pointerout', swiper.onTouchEnd, {
2018    passive: true
2019  });
2020  document[domMethod]('pointerleave', swiper.onTouchEnd, {
2021    passive: true
2022  });
2023
2024  // Prevent Links Clicks
2025  if (params.preventClicks || params.preventClicksPropagation) {
2026    el[domMethod]('click', swiper.onClick, true);
2027  }
2028  if (params.cssMode) {
2029    wrapperEl[domMethod]('scroll', swiper.onScroll);
2030  }
2031
2032  // Resize handler
2033  if (params.updateOnWindowResize) {
2034    swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__["default"], true);
2035  } else {
2036    swiper[swiperMethod]('observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__["default"], true);
2037  }
2038
2039  // Images loader
2040  el[domMethod]('load', swiper.onLoad, {
2041    capture: true
2042  });
2043};
2044function attachEvents() {
2045  const swiper = this;
2046  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
2047  const {
2048    params
2049  } = swiper;
2050  swiper.onTouchStart = _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__["default"].bind(swiper);
2051  swiper.onTouchMove = _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__["default"].bind(swiper);
2052  swiper.onTouchEnd = _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__["default"].bind(swiper);
2053  if (params.cssMode) {
2054    swiper.onScroll = _onScroll_js__WEBPACK_IMPORTED_MODULE_6__["default"].bind(swiper);
2055  }
2056  swiper.onClick = _onClick_js__WEBPACK_IMPORTED_MODULE_5__["default"].bind(swiper);
2057  swiper.onLoad = _onLoad_js__WEBPACK_IMPORTED_MODULE_7__["default"].bind(swiper);
2058  if (!dummyEventAttached) {
2059    document.addEventListener('touchstart', dummyEventListener);
2060    dummyEventAttached = true;
2061  }
2062  events(swiper, 'on');
2063}
2064function detachEvents() {
2065  const swiper = this;
2066  events(swiper, 'off');
2067}
2068/* harmony default export */ __webpack_exports__["default"] = ({
2069  attachEvents,
2070  detachEvents
2071});
2072
2073/***/ }),
2074
vendor: 873 bytes, lines 2075-2098
2075/***/ "../../node_modules/swiper/core/events/onClick.js":
2076/*!********************************************************!*\
2077  !*** ../../node_modules/swiper/core/events/onClick.js ***!
2078  \********************************************************/
2079/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2080
2081__webpack_require__.r(__webpack_exports__);
2082/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2083/* harmony export */   "default": function() { return /* binding */ onClick; }
2084/* harmony export */ });
2085function onClick(e) {
2086  const swiper = this;
2087  if (!swiper.enabled) return;
2088  if (!swiper.allowClick) {
2089    if (swiper.params.preventClicks) e.preventDefault();
2090    if (swiper.params.preventClicksPropagation && swiper.animating) {
2091      e.stopPropagation();
2092      e.stopImmediatePropagation();
2093    }
2094  }
2095}
2096
2097/***/ }),
2098
vendor: 1,074 bytes, lines 2099-2121
2099/***/ "../../node_modules/swiper/core/events/onLoad.js":
2100/*!*******************************************************!*\
2101  !*** ../../node_modules/swiper/core/events/onLoad.js ***!
2102  \*******************************************************/
2103/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2104
2105__webpack_require__.r(__webpack_exports__);
2106/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2107/* harmony export */   "default": function() { return /* binding */ onLoad; }
2108/* harmony export */ });
2109/* harmony import */ var _shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/process-lazy-preloader.js */ "../../node_modules/swiper/shared/process-lazy-preloader.js");
2110
2111function onLoad(e) {
2112  const swiper = this;
2113  (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_0__.processLazyPreloader)(swiper, e.target);
2114  if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) {
2115    return;
2116  }
2117  swiper.update();
2118}
2119
2120/***/ }),
2121
vendor: 2,127 bytes, lines 2122-2186
2122/***/ "../../node_modules/swiper/core/events/onResize.js":
2123/*!*********************************************************!*\
2124  !*** ../../node_modules/swiper/core/events/onResize.js ***!
2125  \*********************************************************/
2126/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2127
2128__webpack_require__.r(__webpack_exports__);
2129/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2130/* harmony export */   "default": function() { return /* binding */ onResize; }
2131/* harmony export */ });
2132function onResize() {
2133  const swiper = this;
2134  const {
2135    params,
2136    el
2137  } = swiper;
2138  if (el && el.offsetWidth === 0) return;
2139
2140  // Breakpoints
2141  if (params.breakpoints) {
2142    swiper.setBreakpoint();
2143  }
2144
2145  // Save locks
2146  const {
2147    allowSlideNext,
2148    allowSlidePrev,
2149    snapGrid
2150  } = swiper;
2151  const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
2152
2153  // Disable locks on resize
2154  swiper.allowSlideNext = true;
2155  swiper.allowSlidePrev = true;
2156  swiper.updateSize();
2157  swiper.updateSlides();
2158  swiper.updateSlidesClasses();
2159  const isVirtualLoop = isVirtual && params.loop;
2160  if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {
2161    swiper.slideTo(swiper.slides.length - 1, 0, false, true);
2162  } else {
2163    if (swiper.params.loop && !isVirtual) {
2164      swiper.slideToLoop(swiper.realIndex, 0, false, true);
2165    } else {
2166      swiper.slideTo(swiper.activeIndex, 0, false, true);
2167    }
2168  }
2169  if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {
2170    clearTimeout(swiper.autoplay.resizeTimeout);
2171    swiper.autoplay.resizeTimeout = setTimeout(() => {
2172      if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {
2173        swiper.autoplay.resume();
2174      }
2175    }, 500);
2176  }
2177  // Return locks after resize
2178  swiper.allowSlidePrev = allowSlidePrev;
2179  swiper.allowSlideNext = allowSlideNext;
2180  if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {
2181    swiper.checkOverflow();
2182  }
2183}
2184
2185/***/ }),
2186
vendor: 1,457 bytes, lines 2187-2229
2187/***/ "../../node_modules/swiper/core/events/onScroll.js":
2188/*!*********************************************************!*\
2189  !*** ../../node_modules/swiper/core/events/onScroll.js ***!
2190  \*********************************************************/
2191/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2192
2193__webpack_require__.r(__webpack_exports__);
2194/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2195/* harmony export */   "default": function() { return /* binding */ onScroll; }
2196/* harmony export */ });
2197function onScroll() {
2198  const swiper = this;
2199  const {
2200    wrapperEl,
2201    rtlTranslate,
2202    enabled
2203  } = swiper;
2204  if (!enabled) return;
2205  swiper.previousTranslate = swiper.translate;
2206  if (swiper.isHorizontal()) {
2207    swiper.translate = -wrapperEl.scrollLeft;
2208  } else {
2209    swiper.translate = -wrapperEl.scrollTop;
2210  }
2211  // eslint-disable-next-line
2212  if (swiper.translate === 0) swiper.translate = 0;
2213  swiper.updateActiveIndex();
2214  swiper.updateSlidesClasses();
2215  let newProgress;
2216  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
2217  if (translatesDiff === 0) {
2218    newProgress = 0;
2219  } else {
2220    newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;
2221  }
2222  if (newProgress !== swiper.progress) {
2223    swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);
2224  }
2225  swiper.emit('setTranslate', swiper.translate, false);
2226}
2227
2228/***/ }),
2229
vendor: 5,977 bytes, lines 2230-2393
2230/***/ "../../node_modules/swiper/core/events/onTouchEnd.js":
2231/*!***********************************************************!*\
2232  !*** ../../node_modules/swiper/core/events/onTouchEnd.js ***!
2233  \***********************************************************/
2234/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2235
2236__webpack_require__.r(__webpack_exports__);
2237/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2238/* harmony export */   "default": function() { return /* binding */ onTouchEnd; }
2239/* harmony export */ });
2240/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
2241
2242function onTouchEnd(event) {
2243  const swiper = this;
2244  const data = swiper.touchEventsData;
2245  const pointerIndex = data.evCache.findIndex(cachedEv => cachedEv.pointerId === event.pointerId);
2246  if (pointerIndex >= 0) {
2247    data.evCache.splice(pointerIndex, 1);
2248  }
2249  if (['pointercancel', 'pointerout', 'pointerleave'].includes(event.type)) {
2250    const proceed = event.type === 'pointercancel' && (swiper.browser.isSafari || swiper.browser.isWebView);
2251    if (!proceed) {
2252      return;
2253    }
2254  }
2255  const {
2256    params,
2257    touches,
2258    rtlTranslate: rtl,
2259    slidesGrid,
2260    enabled
2261  } = swiper;
2262  if (!enabled) return;
2263  if (!params.simulateTouch && event.pointerType === 'mouse') return;
2264  let e = event;
2265  if (e.originalEvent) e = e.originalEvent;
2266  if (data.allowTouchCallbacks) {
2267    swiper.emit('touchEnd', e);
2268  }
2269  data.allowTouchCallbacks = false;
2270  if (!data.isTouched) {
2271    if (data.isMoved && params.grabCursor) {
2272      swiper.setGrabCursor(false);
2273    }
2274    data.isMoved = false;
2275    data.startMoving = false;
2276    return;
2277  }
2278  // Return Grab Cursor
2279  if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
2280    swiper.setGrabCursor(false);
2281  }
2282
2283  // Time diff
2284  const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();
2285  const timeDiff = touchEndTime - data.touchStartTime;
2286
2287  // Tap, doubleTap, Click
2288  if (swiper.allowClick) {
2289    const pathTree = e.path || e.composedPath && e.composedPath();
2290    swiper.updateClickedSlide(pathTree && pathTree[0] || e.target);
2291    swiper.emit('tap click', e);
2292    if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {
2293      swiper.emit('doubleTap doubleClick', e);
2294    }
2295  }
2296  data.lastClickTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();
2297  (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {
2298    if (!swiper.destroyed) swiper.allowClick = true;
2299  });
2300  if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {
2301    data.isTouched = false;
2302    data.isMoved = false;
2303    data.startMoving = false;
2304    return;
2305  }
2306  data.isTouched = false;
2307  data.isMoved = false;
2308  data.startMoving = false;
2309  let currentPos;
2310  if (params.followFinger) {
2311    currentPos = rtl ? swiper.translate : -swiper.translate;
2312  } else {
2313    currentPos = -data.currentTranslate;
2314  }
2315  if (params.cssMode) {
2316    return;
2317  }
2318  if (params.freeMode && params.freeMode.enabled) {
2319    swiper.freeMode.onTouchEnd({
2320      currentPos
2321    });
2322    return;
2323  }
2324
2325  // Find current slide
2326  let stopIndex = 0;
2327  let groupSize = swiper.slidesSizesGrid[0];
2328  for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {
2329    const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
2330    if (typeof slidesGrid[i + increment] !== 'undefined') {
2331      if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {
2332        stopIndex = i;
2333        groupSize = slidesGrid[i + increment] - slidesGrid[i];
2334      }
2335    } else if (currentPos >= slidesGrid[i]) {
2336      stopIndex = i;
2337      groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];
2338    }
2339  }
2340  let rewindFirstIndex = null;
2341  let rewindLastIndex = null;
2342  if (params.rewind) {
2343    if (swiper.isBeginning) {
2344      rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;
2345    } else if (swiper.isEnd) {
2346      rewindFirstIndex = 0;
2347    }
2348  }
2349  // Find current slide size
2350  const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;
2351  const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
2352  if (timeDiff > params.longSwipesMs) {
2353    // Long touches
2354    if (!params.longSwipes) {
2355      swiper.slideTo(swiper.activeIndex);
2356      return;
2357    }
2358    if (swiper.swipeDirection === 'next') {
2359      if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);
2360    }
2361    if (swiper.swipeDirection === 'prev') {
2362      if (ratio > 1 - params.longSwipesRatio) {
2363        swiper.slideTo(stopIndex + increment);
2364      } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {
2365        swiper.slideTo(rewindLastIndex);
2366      } else {
2367        swiper.slideTo(stopIndex);
2368      }
2369    }
2370  } else {
2371    // Short swipes
2372    if (!params.shortSwipes) {
2373      swiper.slideTo(swiper.activeIndex);
2374      return;
2375    }
2376    const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);
2377    if (!isNavButtonTarget) {
2378      if (swiper.swipeDirection === 'next') {
2379        swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);
2380      }
2381      if (swiper.swipeDirection === 'prev') {
2382        swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);
2383      }
2384    } else if (e.target === swiper.navigation.nextEl) {
2385      swiper.slideTo(stopIndex + increment);
2386    } else {
2387      swiper.slideTo(stopIndex);
2388    }
2389  }
2390}
2391
2392/***/ }),
2393
vendor: 9,351 bytes, lines 2394-2649
2394/***/ "../../node_modules/swiper/core/events/onTouchMove.js":
2395/*!************************************************************!*\
2396  !*** ../../node_modules/swiper/core/events/onTouchMove.js ***!
2397  \************************************************************/
2398/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2399
2400__webpack_require__.r(__webpack_exports__);
2401/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2402/* harmony export */   "default": function() { return /* binding */ onTouchMove; }
2403/* harmony export */ });
2404/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
2405/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
2406
2407
2408function onTouchMove(event) {
2409  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
2410  const swiper = this;
2411  const data = swiper.touchEventsData;
2412  const {
2413    params,
2414    touches,
2415    rtlTranslate: rtl,
2416    enabled
2417  } = swiper;
2418  if (!enabled) return;
2419  if (!params.simulateTouch && event.pointerType === 'mouse') return;
2420  let e = event;
2421  if (e.originalEvent) e = e.originalEvent;
2422  if (!data.isTouched) {
2423    if (data.startMoving && data.isScrolling) {
2424      swiper.emit('touchMoveOpposite', e);
2425    }
2426    return;
2427  }
2428  const pointerIndex = data.evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);
2429  if (pointerIndex >= 0) data.evCache[pointerIndex] = e;
2430  const targetTouch = data.evCache.length > 1 ? data.evCache[0] : e;
2431  const pageX = targetTouch.pageX;
2432  const pageY = targetTouch.pageY;
2433  if (e.preventedByNestedSwiper) {
2434    touches.startX = pageX;
2435    touches.startY = pageY;
2436    return;
2437  }
2438  if (!swiper.allowTouchMove) {
2439    if (!e.target.matches(data.focusableElements)) {
2440      swiper.allowClick = false;
2441    }
2442    if (data.isTouched) {
2443      Object.assign(touches, {
2444        startX: pageX,
2445        startY: pageY,
2446        prevX: swiper.touches.currentX,
2447        prevY: swiper.touches.currentY,
2448        currentX: pageX,
2449        currentY: pageY
2450      });
2451      data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)();
2452    }
2453    return;
2454  }
2455  if (params.touchReleaseOnEdges && !params.loop) {
2456    if (swiper.isVertical()) {
2457      // Vertical
2458      if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {
2459        data.isTouched = false;
2460        data.isMoved = false;
2461        return;
2462      }
2463    } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {
2464      return;
2465    }
2466  }
2467  if (document.activeElement) {
2468    if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {
2469      data.isMoved = true;
2470      swiper.allowClick = false;
2471      return;
2472    }
2473  }
2474  if (data.allowTouchCallbacks) {
2475    swiper.emit('touchMove', e);
2476  }
2477  if (e.targetTouches && e.targetTouches.length > 1) return;
2478  touches.currentX = pageX;
2479  touches.currentY = pageY;
2480  const diffX = touches.currentX - touches.startX;
2481  const diffY = touches.currentY - touches.startY;
2482  if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;
2483  if (typeof data.isScrolling === 'undefined') {
2484    let touchAngle;
2485    if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {
2486      data.isScrolling = false;
2487    } else {
2488      // eslint-disable-next-line
2489      if (diffX * diffX + diffY * diffY >= 25) {
2490        touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;
2491        data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;
2492      }
2493    }
2494  }
2495  if (data.isScrolling) {
2496    swiper.emit('touchMoveOpposite', e);
2497  }
2498  if (typeof data.startMoving === 'undefined') {
2499    if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {
2500      data.startMoving = true;
2501    }
2502  }
2503  if (data.isScrolling || swiper.zoom && swiper.params.zoom && swiper.params.zoom.enabled && data.evCache.length > 1) {
2504    data.isTouched = false;
2505    return;
2506  }
2507  if (!data.startMoving) {
2508    return;
2509  }
2510  swiper.allowClick = false;
2511  if (!params.cssMode && e.cancelable) {
2512    e.preventDefault();
2513  }
2514  if (params.touchMoveStopPropagation && !params.nested) {
2515    e.stopPropagation();
2516  }
2517  let diff = swiper.isHorizontal() ? diffX : diffY;
2518  let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;
2519  if (params.oneWayMovement) {
2520    diff = Math.abs(diff) * (rtl ? 1 : -1);
2521    touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);
2522  }
2523  touches.diff = diff;
2524  diff *= params.touchRatio;
2525  if (rtl) {
2526    diff = -diff;
2527    touchesDiff = -touchesDiff;
2528  }
2529  const prevTouchesDirection = swiper.touchesDirection;
2530  swiper.swipeDirection = diff > 0 ? 'prev' : 'next';
2531  swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';
2532  const isLoop = swiper.params.loop && !params.cssMode;
2533  if (!data.isMoved) {
2534    if (isLoop) {
2535      swiper.loopFix({
2536        direction: swiper.swipeDirection
2537      });
2538    }
2539    data.startTranslate = swiper.getTranslate();
2540    swiper.setTransition(0);
2541    if (swiper.animating) {
2542      const evt = new window.CustomEvent('transitionend', {
2543        bubbles: true,
2544        cancelable: true
2545      });
2546      swiper.wrapperEl.dispatchEvent(evt);
2547    }
2548    data.allowMomentumBounce = false;
2549    // Grab Cursor
2550    if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
2551      swiper.setGrabCursor(true);
2552    }
2553    swiper.emit('sliderFirstMove', e);
2554  }
2555  let loopFixed;
2556  if (data.isMoved && prevTouchesDirection !== swiper.touchesDirection && isLoop && Math.abs(diff) >= 1) {
2557    // need another loop fix
2558    swiper.loopFix({
2559      direction: swiper.swipeDirection,
2560      setTranslate: true
2561    });
2562    loopFixed = true;
2563  }
2564  swiper.emit('sliderMove', e);
2565  data.isMoved = true;
2566  data.currentTranslate = diff + data.startTranslate;
2567  let disableParentSwiper = true;
2568  let resistanceRatio = params.resistanceRatio;
2569  if (params.touchReleaseOnEdges) {
2570    resistanceRatio = 0;
2571  }
2572  if (diff > 0) {
2573    if (isLoop && !loopFixed && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.size / 2 : swiper.minTranslate())) {
2574      swiper.loopFix({
2575        direction: 'prev',
2576        setTranslate: true,
2577        activeSlideIndex: 0
2578      });
2579    }
2580    if (data.currentTranslate > swiper.minTranslate()) {
2581      disableParentSwiper = false;
2582      if (params.resistance) {
2583        data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;
2584      }
2585    }
2586  } else if (diff < 0) {
2587    if (isLoop && !loopFixed && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.size / 2 : swiper.maxTranslate())) {
2588      swiper.loopFix({
2589        direction: 'next',
2590        setTranslate: true,
2591        activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))
2592      });
2593    }
2594    if (data.currentTranslate < swiper.maxTranslate()) {
2595      disableParentSwiper = false;
2596      if (params.resistance) {
2597        data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;
2598      }
2599    }
2600  }
2601  if (disableParentSwiper) {
2602    e.preventedByNestedSwiper = true;
2603  }
2604
2605  // Directions locks
2606  if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {
2607    data.currentTranslate = data.startTranslate;
2608  }
2609  if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {
2610    data.currentTranslate = data.startTranslate;
2611  }
2612  if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {
2613    data.currentTranslate = data.startTranslate;
2614  }
2615
2616  // Threshold
2617  if (params.threshold > 0) {
2618    if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {
2619      if (!data.allowThresholdMove) {
2620        data.allowThresholdMove = true;
2621        touches.startX = touches.currentX;
2622        touches.startY = touches.currentY;
2623        data.currentTranslate = data.startTranslate;
2624        touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;
2625        return;
2626      }
2627    } else {
2628      data.currentTranslate = data.startTranslate;
2629      return;
2630    }
2631  }
2632  if (!params.followFinger || params.cssMode) return;
2633
2634  // Update active index in free mode
2635  if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {
2636    swiper.updateActiveIndex();
2637    swiper.updateSlidesClasses();
2638  }
2639  if (params.freeMode && params.freeMode.enabled && swiper.freeMode) {
2640    swiper.freeMode.onTouchMove();
2641  }
2642  // Update progress
2643  swiper.updateProgress(data.currentTranslate);
2644  // Update translate
2645  swiper.setTranslate(data.currentTranslate);
2646}
2647
2648/***/ }),
2649
vendor: 5,219 bytes, lines 2650-2776
2650/***/ "../../node_modules/swiper/core/events/onTouchStart.js":
2651/*!*************************************************************!*\
2652  !*** ../../node_modules/swiper/core/events/onTouchStart.js ***!
2653  \*************************************************************/
2654/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2655
2656__webpack_require__.r(__webpack_exports__);
2657/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2658/* harmony export */   "default": function() { return /* binding */ onTouchStart; }
2659/* harmony export */ });
2660/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
2661/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
2662
2663
2664
2665// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd
2666function closestElement(selector, base = this) {
2667  function __closestFrom(el) {
2668    if (!el || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)() || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)()) return null;
2669    if (el.assignedSlot) el = el.assignedSlot;
2670    const found = el.closest(selector);
2671    if (!found && !el.getRootNode) {
2672      return null;
2673    }
2674    return found || __closestFrom(el.getRootNode().host);
2675  }
2676  return __closestFrom(base);
2677}
2678function onTouchStart(event) {
2679  const swiper = this;
2680  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
2681  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
2682  const data = swiper.touchEventsData;
2683  data.evCache.push(event);
2684  const {
2685    params,
2686    touches,
2687    enabled
2688  } = swiper;
2689  if (!enabled) return;
2690  if (!params.simulateTouch && event.pointerType === 'mouse') return;
2691  if (swiper.animating && params.preventInteractionOnTransition) {
2692    return;
2693  }
2694  if (!swiper.animating && params.cssMode && params.loop) {
2695    swiper.loopFix();
2696  }
2697  let e = event;
2698  if (e.originalEvent) e = e.originalEvent;
2699  let targetEl = e.target;
2700  if (params.touchEventsTarget === 'wrapper') {
2701    if (!swiper.wrapperEl.contains(targetEl)) return;
2702  }
2703  if ('which' in e && e.which === 3) return;
2704  if ('button' in e && e.button > 0) return;
2705  if (data.isTouched && data.isMoved) return;
2706
2707  // change target el for shadow root component
2708  const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';
2709  // eslint-disable-next-line
2710  const eventPath = event.composedPath ? event.composedPath() : event.path;
2711  if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {
2712    targetEl = eventPath[0];
2713  }
2714  const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;
2715  const isTargetShadow = !!(e.target && e.target.shadowRoot);
2716
2717  // use closestElement for shadow root element to get the actual closest for nested shadow root element
2718  if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {
2719    swiper.allowClick = true;
2720    return;
2721  }
2722  if (params.swipeHandler) {
2723    if (!targetEl.closest(params.swipeHandler)) return;
2724  }
2725  touches.currentX = e.pageX;
2726  touches.currentY = e.pageY;
2727  const startX = touches.currentX;
2728  const startY = touches.currentY;
2729
2730  // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore
2731
2732  const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;
2733  const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;
2734  if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {
2735    if (edgeSwipeDetection === 'prevent') {
2736      event.preventDefault();
2737    } else {
2738      return;
2739    }
2740  }
2741  Object.assign(data, {
2742    isTouched: true,
2743    isMoved: false,
2744    allowTouchCallbacks: true,
2745    isScrolling: undefined,
2746    startMoving: undefined
2747  });
2748  touches.startX = startX;
2749  touches.startY = startY;
2750  data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)();
2751  swiper.allowClick = true;
2752  swiper.updateSize();
2753  swiper.swipeDirection = undefined;
2754  if (params.threshold > 0) data.allowThresholdMove = false;
2755  let preventDefault = true;
2756  if (targetEl.matches(data.focusableElements)) {
2757    preventDefault = false;
2758    if (targetEl.nodeName === 'SELECT') {
2759      data.isTouched = false;
2760    }
2761  }
2762  if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) {
2763    document.activeElement.blur();
2764  }
2765  const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;
2766  if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {
2767    e.preventDefault();
2768  }
2769  if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {
2770    swiper.freeMode.onTouchStart();
2771  }
2772  swiper.emit('touchStart', e);
2773}
2774
2775/***/ }),
2776
vendor: 1,009 bytes, lines 2777-2794
2777/***/ "../../node_modules/swiper/core/grab-cursor/index.js":
2778/*!***********************************************************!*\
2779  !*** ../../node_modules/swiper/core/grab-cursor/index.js ***!
2780  \***********************************************************/
2781/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2782
2783__webpack_require__.r(__webpack_exports__);
2784/* harmony import */ var _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setGrabCursor.js */ "../../node_modules/swiper/core/grab-cursor/setGrabCursor.js");
2785/* harmony import */ var _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./unsetGrabCursor.js */ "../../node_modules/swiper/core/grab-cursor/unsetGrabCursor.js");
2786
2787
2788/* harmony default export */ __webpack_exports__["default"] = ({
2789  setGrabCursor: _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__["default"],
2790  unsetGrabCursor: _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__["default"]
2791});
2792
2793/***/ }),
2794
vendor: 1,148 bytes, lines 2795-2822
2795/***/ "../../node_modules/swiper/core/grab-cursor/setGrabCursor.js":
2796/*!*******************************************************************!*\
2797  !*** ../../node_modules/swiper/core/grab-cursor/setGrabCursor.js ***!
2798  \*******************************************************************/
2799/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2800
2801__webpack_require__.r(__webpack_exports__);
2802/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2803/* harmony export */   "default": function() { return /* binding */ setGrabCursor; }
2804/* harmony export */ });
2805function setGrabCursor(moving) {
2806  const swiper = this;
2807  if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;
2808  const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;
2809  if (swiper.isElement) {
2810    swiper.__preventObserver__ = true;
2811  }
2812  el.style.cursor = 'move';
2813  el.style.cursor = moving ? 'grabbing' : 'grab';
2814  if (swiper.isElement) {
2815    requestAnimationFrame(() => {
2816      swiper.__preventObserver__ = false;
2817    });
2818  }
2819}
2820
2821/***/ }),
2822
vendor: 1,059 bytes, lines 2823-2850
2823/***/ "../../node_modules/swiper/core/grab-cursor/unsetGrabCursor.js":
2824/*!*********************************************************************!*\
2825  !*** ../../node_modules/swiper/core/grab-cursor/unsetGrabCursor.js ***!
2826  \*********************************************************************/
2827/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2828
2829__webpack_require__.r(__webpack_exports__);
2830/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2831/* harmony export */   "default": function() { return /* binding */ unsetGrabCursor; }
2832/* harmony export */ });
2833function unsetGrabCursor() {
2834  const swiper = this;
2835  if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {
2836    return;
2837  }
2838  if (swiper.isElement) {
2839    swiper.__preventObserver__ = true;
2840  }
2841  swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';
2842  if (swiper.isElement) {
2843    requestAnimationFrame(() => {
2844      swiper.__preventObserver__ = false;
2845    });
2846  }
2847}
2848
2849/***/ }),
2850
vendor: 1,156 bytes, lines 2851-2871
2851/***/ "../../node_modules/swiper/core/loop/index.js":
2852/*!****************************************************!*\
2853  !*** ../../node_modules/swiper/core/loop/index.js ***!
2854  \****************************************************/
2855/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2856
2857__webpack_require__.r(__webpack_exports__);
2858/* harmony import */ var _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loopCreate.js */ "../../node_modules/swiper/core/loop/loopCreate.js");
2859/* harmony import */ var _loopFix_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./loopFix.js */ "../../node_modules/swiper/core/loop/loopFix.js");
2860/* harmony import */ var _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./loopDestroy.js */ "../../node_modules/swiper/core/loop/loopDestroy.js");
2861
2862
2863
2864/* harmony default export */ __webpack_exports__["default"] = ({
2865  loopCreate: _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"],
2866  loopFix: _loopFix_js__WEBPACK_IMPORTED_MODULE_1__["default"],
2867  loopDestroy: _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__["default"]
2868});
2869
2870/***/ }),
2871
vendor: 1,265 bytes, lines 2872-2902
2872/***/ "../../node_modules/swiper/core/loop/loopCreate.js":
2873/*!*********************************************************!*\
2874  !*** ../../node_modules/swiper/core/loop/loopCreate.js ***!
2875  \*********************************************************/
2876/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2877
2878__webpack_require__.r(__webpack_exports__);
2879/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2880/* harmony export */   "default": function() { return /* binding */ loopCreate; }
2881/* harmony export */ });
2882/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
2883
2884function loopCreate(slideRealIndex) {
2885  const swiper = this;
2886  const {
2887    params,
2888    slidesEl
2889  } = swiper;
2890  if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;
2891  const slides = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `.${params.slideClass}, swiper-slide`);
2892  slides.forEach((el, index) => {
2893    el.setAttribute('data-swiper-slide-index', index);
2894  });
2895  swiper.loopFix({
2896    slideRealIndex,
2897    direction: params.centeredSlides ? undefined : 'next'
2898  });
2899}
2900
2901/***/ }),
2902
vendor: 1,276 bytes, lines 2903-2937
2903/***/ "../../node_modules/swiper/core/loop/loopDestroy.js":
2904/*!**********************************************************!*\
2905  !*** ../../node_modules/swiper/core/loop/loopDestroy.js ***!
2906  \**********************************************************/
2907/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2908
2909__webpack_require__.r(__webpack_exports__);
2910/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2911/* harmony export */   "default": function() { return /* binding */ loopDestroy; }
2912/* harmony export */ });
2913function loopDestroy() {
2914  const swiper = this;
2915  const {
2916    params,
2917    slidesEl
2918  } = swiper;
2919  if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;
2920  swiper.recalcSlides();
2921  const newSlidesOrder = [];
2922  swiper.slides.forEach(slideEl => {
2923    const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;
2924    newSlidesOrder[index] = slideEl;
2925  });
2926  swiper.slides.forEach(slideEl => {
2927    slideEl.removeAttribute('data-swiper-slide-index');
2928  });
2929  newSlidesOrder.forEach(slideEl => {
2930    slidesEl.append(slideEl);
2931  });
2932  swiper.recalcSlides();
2933  swiper.slideTo(swiper.realIndex, 0);
2934}
2935
2936/***/ }),
2937
vendor: 6,050 bytes, lines 2938-3097
2938/***/ "../../node_modules/swiper/core/loop/loopFix.js":
2939/*!******************************************************!*\
2940  !*** ../../node_modules/swiper/core/loop/loopFix.js ***!
2941  \******************************************************/
2942/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2943
2944__webpack_require__.r(__webpack_exports__);
2945/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2946/* harmony export */   "default": function() { return /* binding */ loopFix; }
2947/* harmony export */ });
2948function loopFix({
2949  slideRealIndex,
2950  slideTo = true,
2951  direction,
2952  setTranslate,
2953  activeSlideIndex,
2954  byController,
2955  byMousewheel
2956} = {}) {
2957  const swiper = this;
2958  if (!swiper.params.loop) return;
2959  swiper.emit('beforeLoopFix');
2960  const {
2961    slides,
2962    allowSlidePrev,
2963    allowSlideNext,
2964    slidesEl,
2965    params
2966  } = swiper;
2967  swiper.allowSlidePrev = true;
2968  swiper.allowSlideNext = true;
2969  if (swiper.virtual && params.virtual.enabled) {
2970    if (slideTo) {
2971      if (!params.centeredSlides && swiper.snapIndex === 0) {
2972        swiper.slideTo(swiper.virtual.slides.length, 0, false, true);
2973      } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {
2974        swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);
2975      } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {
2976        swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);
2977      }
2978    }
2979    swiper.allowSlidePrev = allowSlidePrev;
2980    swiper.allowSlideNext = allowSlideNext;
2981    swiper.emit('loopFix');
2982    return;
2983  }
2984  const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10));
2985  let loopedSlides = params.loopedSlides || slidesPerView;
2986  if (loopedSlides % params.slidesPerGroup !== 0) {
2987    loopedSlides += params.slidesPerGroup - loopedSlides % params.slidesPerGroup;
2988  }
2989  swiper.loopedSlides = loopedSlides;
2990  const prependSlidesIndexes = [];
2991  const appendSlidesIndexes = [];
2992  let activeIndex = swiper.activeIndex;
2993  if (typeof activeSlideIndex === 'undefined') {
2994    activeSlideIndex = swiper.getSlideIndex(swiper.slides.filter(el => el.classList.contains(params.slideActiveClass))[0]);
2995  } else {
2996    activeIndex = activeSlideIndex;
2997  }
2998  const isNext = direction === 'next' || !direction;
2999  const isPrev = direction === 'prev' || !direction;
3000  let slidesPrepended = 0;
3001  let slidesAppended = 0;
3002  // prepend last slides before start
3003  if (activeSlideIndex < loopedSlides) {
3004    slidesPrepended = Math.max(loopedSlides - activeSlideIndex, params.slidesPerGroup);
3005    for (let i = 0; i < loopedSlides - activeSlideIndex; i += 1) {
3006      const index = i - Math.floor(i / slides.length) * slides.length;
3007      prependSlidesIndexes.push(slides.length - index - 1);
3008    }
3009  } else if (activeSlideIndex /* + slidesPerView */ > swiper.slides.length - loopedSlides * 2) {
3010    slidesAppended = Math.max(activeSlideIndex - (swiper.slides.length - loopedSlides * 2), params.slidesPerGroup);
3011    for (let i = 0; i < slidesAppended; i += 1) {
3012      const index = i - Math.floor(i / slides.length) * slides.length;
3013      appendSlidesIndexes.push(index);
3014    }
3015  }
3016  if (isPrev) {
3017    prependSlidesIndexes.forEach(index => {
3018      swiper.slides[index].swiperLoopMoveDOM = true;
3019      slidesEl.prepend(swiper.slides[index]);
3020      swiper.slides[index].swiperLoopMoveDOM = false;
3021    });
3022  }
3023  if (isNext) {
3024    appendSlidesIndexes.forEach(index => {
3025      swiper.slides[index].swiperLoopMoveDOM = true;
3026      slidesEl.append(swiper.slides[index]);
3027      swiper.slides[index].swiperLoopMoveDOM = false;
3028    });
3029  }
3030  swiper.recalcSlides();
3031  if (params.slidesPerView === 'auto') {
3032    swiper.updateSlides();
3033  }
3034  if (params.watchSlidesProgress) {
3035    swiper.updateSlidesOffset();
3036  }
3037  if (slideTo) {
3038    if (prependSlidesIndexes.length > 0 && isPrev) {
3039      if (typeof slideRealIndex === 'undefined') {
3040        const currentSlideTranslate = swiper.slidesGrid[activeIndex];
3041        const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];
3042        const diff = newSlideTranslate - currentSlideTranslate;
3043        if (byMousewheel) {
3044          swiper.setTranslate(swiper.translate - diff);
3045        } else {
3046          swiper.slideTo(activeIndex + slidesPrepended, 0, false, true);
3047          if (setTranslate) {
3048            swiper.touches[swiper.isHorizontal() ? 'startX' : 'startY'] += diff;
3049          }
3050        }
3051      } else {
3052        if (setTranslate) {
3053          swiper.slideToLoop(slideRealIndex, 0, false, true);
3054        }
3055      }
3056    } else if (appendSlidesIndexes.length > 0 && isNext) {
3057      if (typeof slideRealIndex === 'undefined') {
3058        const currentSlideTranslate = swiper.slidesGrid[activeIndex];
3059        const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];
3060        const diff = newSlideTranslate - currentSlideTranslate;
3061        if (byMousewheel) {
3062          swiper.setTranslate(swiper.translate - diff);
3063        } else {
3064          swiper.slideTo(activeIndex - slidesAppended, 0, false, true);
3065          if (setTranslate) {
3066            swiper.touches[swiper.isHorizontal() ? 'startX' : 'startY'] += diff;
3067          }
3068        }
3069      } else {
3070        swiper.slideToLoop(slideRealIndex, 0, false, true);
3071      }
3072    }
3073  }
3074  swiper.allowSlidePrev = allowSlidePrev;
3075  swiper.allowSlideNext = allowSlideNext;
3076  if (swiper.controller && swiper.controller.control && !byController) {
3077    const loopParams = {
3078      slideRealIndex,
3079      slideTo: false,
3080      direction,
3081      setTranslate,
3082      activeSlideIndex,
3083      byController: true
3084    };
3085    if (Array.isArray(swiper.controller.control)) {
3086      swiper.controller.control.forEach(c => {
3087        if (!c.destroyed && c.params.loop) c.loopFix(loopParams);
3088      });
3089    } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {
3090      swiper.controller.control.loopFix(loopParams);
3091    }
3092  }
3093  swiper.emit('loopFix');
3094}
3095
3096/***/ }),
3097
vendor: 1,941 bytes, lines 3098-3143
3098/***/ "../../node_modules/swiper/core/moduleExtendParams.js":
3099/*!************************************************************!*\
3100  !*** ../../node_modules/swiper/core/moduleExtendParams.js ***!
3101  \************************************************************/
3102/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3103
3104__webpack_require__.r(__webpack_exports__);
3105/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3106/* harmony export */   "default": function() { return /* binding */ moduleExtendParams; }
3107/* harmony export */ });
3108/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
3109
3110function moduleExtendParams(params, allModulesParams) {
3111  return function extendParams(obj = {}) {
3112    const moduleParamName = Object.keys(obj)[0];
3113    const moduleParams = obj[moduleParamName];
3114    if (typeof moduleParams !== 'object' || moduleParams === null) {
3115      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);
3116      return;
3117    }
3118    if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {
3119      params[moduleParamName] = {
3120        auto: true
3121      };
3122    }
3123    if (!(moduleParamName in params && 'enabled' in moduleParams)) {
3124      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);
3125      return;
3126    }
3127    if (params[moduleParamName] === true) {
3128      params[moduleParamName] = {
3129        enabled: true
3130      };
3131    }
3132    if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {
3133      params[moduleParamName].enabled = true;
3134    }
3135    if (!params[moduleParamName]) params[moduleParamName] = {
3136      enabled: false
3137    };
3138    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);
3139  };
3140}
3141
3142/***/ }),
3143
vendor: 3,061 bytes, lines 3144-3227
3144/***/ "../../node_modules/swiper/core/modules/observer/observer.js":
3145/*!*******************************************************************!*\
3146  !*** ../../node_modules/swiper/core/modules/observer/observer.js ***!
3147  \*******************************************************************/
3148/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3149
3150__webpack_require__.r(__webpack_exports__);
3151/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3152/* harmony export */   "default": function() { return /* binding */ Observer; }
3153/* harmony export */ });
3154/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
3155/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
3156
3157
3158function Observer({
3159  swiper,
3160  extendParams,
3161  on,
3162  emit
3163}) {
3164  const observers = [];
3165  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
3166  const attach = (target, options = {}) => {
3167    const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;
3168    const observer = new ObserverFunc(mutations => {
3169      // The observerUpdate event should only be triggered
3170      // once despite the number of mutations.  Additional
3171      // triggers are redundant and are very costly
3172      if (swiper.__preventObserver__) return;
3173      if (mutations.length === 1) {
3174        emit('observerUpdate', mutations[0]);
3175        return;
3176      }
3177      const observerUpdate = function observerUpdate() {
3178        emit('observerUpdate', mutations[0]);
3179      };
3180      if (window.requestAnimationFrame) {
3181        window.requestAnimationFrame(observerUpdate);
3182      } else {
3183        window.setTimeout(observerUpdate, 0);
3184      }
3185    });
3186    observer.observe(target, {
3187      attributes: typeof options.attributes === 'undefined' ? true : options.attributes,
3188      childList: typeof options.childList === 'undefined' ? true : options.childList,
3189      characterData: typeof options.characterData === 'undefined' ? true : options.characterData
3190    });
3191    observers.push(observer);
3192  };
3193  const init = () => {
3194    if (!swiper.params.observer) return;
3195    if (swiper.params.observeParents) {
3196      const containerParents = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(swiper.el);
3197      for (let i = 0; i < containerParents.length; i += 1) {
3198        attach(containerParents[i]);
3199      }
3200    }
3201    // Observe container
3202    attach(swiper.el, {
3203      childList: swiper.params.observeSlideChildren
3204    });
3205
3206    // Observe wrapper
3207    attach(swiper.wrapperEl, {
3208      attributes: false
3209    });
3210  };
3211  const destroy = () => {
3212    observers.forEach(observer => {
3213      observer.disconnect();
3214    });
3215    observers.splice(0, observers.length);
3216  };
3217  extendParams({
3218    observer: false,
3219    observeParents: false,
3220    observeSlideChildren: false
3221  });
3222  on('init', init);
3223  on('destroy', destroy);
3224}
3225
3226/***/ }),
3227
vendor: 2,820 bytes, lines 3228-3308
3228/***/ "../../node_modules/swiper/core/modules/resize/resize.js":
3229/*!***************************************************************!*\
3230  !*** ../../node_modules/swiper/core/modules/resize/resize.js ***!
3231  \***************************************************************/
3232/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3233
3234__webpack_require__.r(__webpack_exports__);
3235/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3236/* harmony export */   "default": function() { return /* binding */ Resize; }
3237/* harmony export */ });
3238/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
3239
3240function Resize({
3241  swiper,
3242  on,
3243  emit
3244}) {
3245  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
3246  let observer = null;
3247  let animationFrame = null;
3248  const resizeHandler = () => {
3249    if (!swiper || swiper.destroyed || !swiper.initialized) return;
3250    emit('beforeResize');
3251    emit('resize');
3252  };
3253  const createObserver = () => {
3254    if (!swiper || swiper.destroyed || !swiper.initialized) return;
3255    observer = new ResizeObserver(entries => {
3256      animationFrame = window.requestAnimationFrame(() => {
3257        const {
3258          width,
3259          height
3260        } = swiper;
3261        let newWidth = width;
3262        let newHeight = height;
3263        entries.forEach(({
3264          contentBoxSize,
3265          contentRect,
3266          target
3267        }) => {
3268          if (target && target !== swiper.el) return;
3269          newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;
3270          newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;
3271        });
3272        if (newWidth !== width || newHeight !== height) {
3273          resizeHandler();
3274        }
3275      });
3276    });
3277    observer.observe(swiper.el);
3278  };
3279  const removeObserver = () => {
3280    if (animationFrame) {
3281      window.cancelAnimationFrame(animationFrame);
3282    }
3283    if (observer && observer.unobserve && swiper.el) {
3284      observer.unobserve(swiper.el);
3285      observer = null;
3286    }
3287  };
3288  const orientationChangeHandler = () => {
3289    if (!swiper || swiper.destroyed || !swiper.initialized) return;
3290    emit('orientationchange');
3291  };
3292  on('init', () => {
3293    if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {
3294      createObserver();
3295      return;
3296    }
3297    window.addEventListener('resize', resizeHandler);
3298    window.addEventListener('orientationchange', orientationChangeHandler);
3299  });
3300  on('destroy', () => {
3301    removeObserver();
3302    window.removeEventListener('resize', resizeHandler);
3303    window.removeEventListener('orientationchange', orientationChangeHandler);
3304  });
3305}
3306
3307/***/ }),
3308
vendor: 2,178 bytes, lines 3309-3341
3309/***/ "../../node_modules/swiper/core/slide/index.js":
3310/*!*****************************************************!*\
3311  !*** ../../node_modules/swiper/core/slide/index.js ***!
3312  \*****************************************************/
3313/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3314
3315__webpack_require__.r(__webpack_exports__);
3316/* harmony import */ var _slideTo_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slideTo.js */ "../../node_modules/swiper/core/slide/slideTo.js");
3317/* harmony import */ var _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slideToLoop.js */ "../../node_modules/swiper/core/slide/slideToLoop.js");
3318/* harmony import */ var _slideNext_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slideNext.js */ "../../node_modules/swiper/core/slide/slideNext.js");
3319/* harmony import */ var _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slidePrev.js */ "../../node_modules/swiper/core/slide/slidePrev.js");
3320/* harmony import */ var _slideReset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./slideReset.js */ "../../node_modules/swiper/core/slide/slideReset.js");
3321/* harmony import */ var _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./slideToClosest.js */ "../../node_modules/swiper/core/slide/slideToClosest.js");
3322/* harmony import */ var _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./slideToClickedSlide.js */ "../../node_modules/swiper/core/slide/slideToClickedSlide.js");
3323
3324
3325
3326
3327
3328
3329
3330/* harmony default export */ __webpack_exports__["default"] = ({
3331  slideTo: _slideTo_js__WEBPACK_IMPORTED_MODULE_0__["default"],
3332  slideToLoop: _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__["default"],
3333  slideNext: _slideNext_js__WEBPACK_IMPORTED_MODULE_2__["default"],
3334  slidePrev: _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__["default"],
3335  slideReset: _slideReset_js__WEBPACK_IMPORTED_MODULE_4__["default"],
3336  slideToClosest: _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__["default"],
3337  slideToClickedSlide: _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__["default"]
3338});
3339
3340/***/ }),
3341
vendor: 1,603 bytes, lines 3342-3382
3342/***/ "../../node_modules/swiper/core/slide/slideNext.js":
3343/*!*********************************************************!*\
3344  !*** ../../node_modules/swiper/core/slide/slideNext.js ***!
3345  \*********************************************************/
3346/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3347
3348__webpack_require__.r(__webpack_exports__);
3349/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3350/* harmony export */   "default": function() { return /* binding */ slideNext; }
3351/* harmony export */ });
3352/* eslint no-unused-vars: "off" */
3353function slideNext(speed = this.params.speed, runCallbacks = true, internal) {
3354  const swiper = this;
3355  const {
3356    enabled,
3357    params,
3358    animating
3359  } = swiper;
3360  if (!enabled) return swiper;
3361  let perGroup = params.slidesPerGroup;
3362  if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {
3363    perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);
3364  }
3365  const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;
3366  const isVirtual = swiper.virtual && params.virtual.enabled;
3367  if (params.loop) {
3368    if (animating && !isVirtual && params.loopPreventsSliding) return false;
3369    swiper.loopFix({
3370      direction: 'next'
3371    });
3372    // eslint-disable-next-line
3373    swiper._clientLeft = swiper.wrapperEl.clientLeft;
3374  }
3375  if (params.rewind && swiper.isEnd) {
3376    return swiper.slideTo(0, speed, runCallbacks, internal);
3377  }
3378  return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);
3379}
3380
3381/***/ }),
3382
vendor: 2,672 bytes, lines 3383-3451
3383/***/ "../../node_modules/swiper/core/slide/slidePrev.js":
3384/*!*********************************************************!*\
3385  !*** ../../node_modules/swiper/core/slide/slidePrev.js ***!
3386  \*********************************************************/
3387/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3388
3389__webpack_require__.r(__webpack_exports__);
3390/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3391/* harmony export */   "default": function() { return /* binding */ slidePrev; }
3392/* harmony export */ });
3393/* eslint no-unused-vars: "off" */
3394function slidePrev(speed = this.params.speed, runCallbacks = true, internal) {
3395  const swiper = this;
3396  const {
3397    params,
3398    snapGrid,
3399    slidesGrid,
3400    rtlTranslate,
3401    enabled,
3402    animating
3403  } = swiper;
3404  if (!enabled) return swiper;
3405  const isVirtual = swiper.virtual && params.virtual.enabled;
3406  if (params.loop) {
3407    if (animating && !isVirtual && params.loopPreventsSliding) return false;
3408    swiper.loopFix({
3409      direction: 'prev'
3410    });
3411    // eslint-disable-next-line
3412    swiper._clientLeft = swiper.wrapperEl.clientLeft;
3413  }
3414  const translate = rtlTranslate ? swiper.translate : -swiper.translate;
3415  function normalize(val) {
3416    if (val < 0) return -Math.floor(Math.abs(val));
3417    return Math.floor(val);
3418  }
3419  const normalizedTranslate = normalize(translate);
3420  const normalizedSnapGrid = snapGrid.map(val => normalize(val));
3421  let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
3422  if (typeof prevSnap === 'undefined' && params.cssMode) {
3423    let prevSnapIndex;
3424    snapGrid.forEach((snap, snapIndex) => {
3425      if (normalizedTranslate >= snap) {
3426        // prevSnap = snap;
3427        prevSnapIndex = snapIndex;
3428      }
3429    });
3430    if (typeof prevSnapIndex !== 'undefined') {
3431      prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];
3432    }
3433  }
3434  let prevIndex = 0;
3435  if (typeof prevSnap !== 'undefined') {
3436    prevIndex = slidesGrid.indexOf(prevSnap);
3437    if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;
3438    if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {
3439      prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;
3440      prevIndex = Math.max(prevIndex, 0);
3441    }
3442  }
3443  if (params.rewind && swiper.isBeginning) {
3444    const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;
3445    return swiper.slideTo(lastIndex, speed, runCallbacks, internal);
3446  }
3447  return swiper.slideTo(prevIndex, speed, runCallbacks, internal);
3448}
3449
3450/***/ }),
3451
vendor: 794 bytes, lines 3452-3469
3452/***/ "../../node_modules/swiper/core/slide/slideReset.js":
3453/*!**********************************************************!*\
3454  !*** ../../node_modules/swiper/core/slide/slideReset.js ***!
3455  \**********************************************************/
3456/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3457
3458__webpack_require__.r(__webpack_exports__);
3459/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3460/* harmony export */   "default": function() { return /* binding */ slideReset; }
3461/* harmony export */ });
3462/* eslint no-unused-vars: "off" */
3463function slideReset(speed = this.params.speed, runCallbacks = true, internal) {
3464  const swiper = this;
3465  return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);
3466}
3467
3468/***/ }),
3469
vendor: 5,837 bytes, lines 3470-3625
3470/***/ "../../node_modules/swiper/core/slide/slideTo.js":
3471/*!*******************************************************!*\
3472  !*** ../../node_modules/swiper/core/slide/slideTo.js ***!
3473  \*******************************************************/
3474/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3475
3476__webpack_require__.r(__webpack_exports__);
3477/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3478/* harmony export */   "default": function() { return /* binding */ slideTo; }
3479/* harmony export */ });
3480/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
3481
3482function slideTo(index = 0, speed = this.params.speed, runCallbacks = true, internal, initial) {
3483  if (typeof index === 'string') {
3484    index = parseInt(index, 10);
3485  }
3486  const swiper = this;
3487  let slideIndex = index;
3488  if (slideIndex < 0) slideIndex = 0;
3489  const {
3490    params,
3491    snapGrid,
3492    slidesGrid,
3493    previousIndex,
3494    activeIndex,
3495    rtlTranslate: rtl,
3496    wrapperEl,
3497    enabled
3498  } = swiper;
3499  if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {
3500    return false;
3501  }
3502  const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);
3503  let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);
3504  if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
3505  const translate = -snapGrid[snapIndex];
3506  // Normalize slideIndex
3507  if (params.normalizeSlideIndex) {
3508    for (let i = 0; i < slidesGrid.length; i += 1) {
3509      const normalizedTranslate = -Math.floor(translate * 100);
3510      const normalizedGrid = Math.floor(slidesGrid[i] * 100);
3511      const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);
3512      if (typeof slidesGrid[i + 1] !== 'undefined') {
3513        if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {
3514          slideIndex = i;
3515        } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {
3516          slideIndex = i + 1;
3517        }
3518      } else if (normalizedTranslate >= normalizedGrid) {
3519        slideIndex = i;
3520      }
3521    }
3522  }
3523  // Directions locks
3524  if (swiper.initialized && slideIndex !== activeIndex) {
3525    if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) {
3526      return false;
3527    }
3528    if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {
3529      if ((activeIndex || 0) !== slideIndex) {
3530        return false;
3531      }
3532    }
3533  }
3534  if (slideIndex !== (previousIndex || 0) && runCallbacks) {
3535    swiper.emit('beforeSlideChangeStart');
3536  }
3537
3538  // Update progress
3539  swiper.updateProgress(translate);
3540  let direction;
3541  if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';
3542
3543  // Update Index
3544  if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {
3545    swiper.updateActiveIndex(slideIndex);
3546    // Update Height
3547    if (params.autoHeight) {
3548      swiper.updateAutoHeight();
3549    }
3550    swiper.updateSlidesClasses();
3551    if (params.effect !== 'slide') {
3552      swiper.setTranslate(translate);
3553    }
3554    if (direction !== 'reset') {
3555      swiper.transitionStart(runCallbacks, direction);
3556      swiper.transitionEnd(runCallbacks, direction);
3557    }
3558    return false;
3559  }
3560  if (params.cssMode) {
3561    const isH = swiper.isHorizontal();
3562    const t = rtl ? translate : -translate;
3563    if (speed === 0) {
3564      const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
3565      if (isVirtual) {
3566        swiper.wrapperEl.style.scrollSnapType = 'none';
3567        swiper._immediateVirtual = true;
3568      }
3569      if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {
3570        swiper._cssModeVirtualInitialSet = true;
3571        requestAnimationFrame(() => {
3572          wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;
3573        });
3574      } else {
3575        wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;
3576      }
3577      if (isVirtual) {
3578        requestAnimationFrame(() => {
3579          swiper.wrapperEl.style.scrollSnapType = '';
3580          swiper._immediateVirtual = false;
3581        });
3582      }
3583    } else {
3584      if (!swiper.support.smoothScroll) {
3585        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({
3586          swiper,
3587          targetPosition: t,
3588          side: isH ? 'left' : 'top'
3589        });
3590        return true;
3591      }
3592      wrapperEl.scrollTo({
3593        [isH ? 'left' : 'top']: t,
3594        behavior: 'smooth'
3595      });
3596    }
3597    return true;
3598  }
3599  swiper.setTransition(speed);
3600  swiper.setTranslate(translate);
3601  swiper.updateActiveIndex(slideIndex);
3602  swiper.updateSlidesClasses();
3603  swiper.emit('beforeTransitionStart', speed, internal);
3604  swiper.transitionStart(runCallbacks, direction);
3605  if (speed === 0) {
3606    swiper.transitionEnd(runCallbacks, direction);
3607  } else if (!swiper.animating) {
3608    swiper.animating = true;
3609    if (!swiper.onSlideToWrapperTransitionEnd) {
3610      swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {
3611        if (!swiper || swiper.destroyed) return;
3612        if (e.target !== this) return;
3613        swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
3614        swiper.onSlideToWrapperTransitionEnd = null;
3615        delete swiper.onSlideToWrapperTransitionEnd;
3616        swiper.transitionEnd(runCallbacks, direction);
3617      };
3618    }
3619    swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
3620  }
3621  return true;
3622}
3623
3624/***/ }),
3625
vendor: 2,384 bytes, lines 3626-3676
3626/***/ "../../node_modules/swiper/core/slide/slideToClickedSlide.js":
3627/*!*******************************************************************!*\
3628  !*** ../../node_modules/swiper/core/slide/slideToClickedSlide.js ***!
3629  \*******************************************************************/
3630/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3631
3632__webpack_require__.r(__webpack_exports__);
3633/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3634/* harmony export */   "default": function() { return /* binding */ slideToClickedSlide; }
3635/* harmony export */ });
3636/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
3637
3638function slideToClickedSlide() {
3639  const swiper = this;
3640  const {
3641    params,
3642    slidesEl
3643  } = swiper;
3644  const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;
3645  let slideToIndex = swiper.clickedIndex;
3646  let realIndex;
3647  const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;
3648  if (params.loop) {
3649    if (swiper.animating) return;
3650    realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);
3651    if (params.centeredSlides) {
3652      if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {
3653        swiper.loopFix();
3654        slideToIndex = swiper.getSlideIndex((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
3655        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {
3656          swiper.slideTo(slideToIndex);
3657        });
3658      } else {
3659        swiper.slideTo(slideToIndex);
3660      }
3661    } else if (slideToIndex > swiper.slides.length - slidesPerView) {
3662      swiper.loopFix();
3663      slideToIndex = swiper.getSlideIndex((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
3664      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {
3665        swiper.slideTo(slideToIndex);
3666      });
3667    } else {
3668      swiper.slideTo(slideToIndex);
3669    }
3670  } else {
3671    swiper.slideTo(slideToIndex);
3672  }
3673}
3674
3675/***/ }),
3676
vendor: 1,973 bytes, lines 3677-3717
3677/***/ "../../node_modules/swiper/core/slide/slideToClosest.js":
3678/*!**************************************************************!*\
3679  !*** ../../node_modules/swiper/core/slide/slideToClosest.js ***!
3680  \**************************************************************/
3681/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3682
3683__webpack_require__.r(__webpack_exports__);
3684/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3685/* harmony export */   "default": function() { return /* binding */ slideToClosest; }
3686/* harmony export */ });
3687/* eslint no-unused-vars: "off" */
3688function slideToClosest(speed = this.params.speed, runCallbacks = true, internal, threshold = 0.5) {
3689  const swiper = this;
3690  let index = swiper.activeIndex;
3691  const skip = Math.min(swiper.params.slidesPerGroupSkip, index);
3692  const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);
3693  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
3694  if (translate >= swiper.snapGrid[snapIndex]) {
3695    // The current translate is on or after the current snap index, so the choice
3696    // is between the current index and the one after it.
3697    const currentSnap = swiper.snapGrid[snapIndex];
3698    const nextSnap = swiper.snapGrid[snapIndex + 1];
3699    if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {
3700      index += swiper.params.slidesPerGroup;
3701    }
3702  } else {
3703    // The current translate is before the current snap index, so the choice
3704    // is between the current index and the one before it.
3705    const prevSnap = swiper.snapGrid[snapIndex - 1];
3706    const currentSnap = swiper.snapGrid[snapIndex];
3707    if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {
3708      index -= swiper.params.slidesPerGroup;
3709    }
3710  }
3711  index = Math.max(index, 0);
3712  index = Math.min(index, swiper.slidesGrid.length - 1);
3713  return swiper.slideTo(index, speed, runCallbacks, internal);
3714}
3715
3716/***/ }),
3717
vendor: 1,159 bytes, lines 3718-3747
3718/***/ "../../node_modules/swiper/core/slide/slideToLoop.js":
3719/*!***********************************************************!*\
3720  !*** ../../node_modules/swiper/core/slide/slideToLoop.js ***!
3721  \***********************************************************/
3722/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3723
3724__webpack_require__.r(__webpack_exports__);
3725/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3726/* harmony export */   "default": function() { return /* binding */ slideToLoop; }
3727/* harmony export */ });
3728function slideToLoop(index = 0, speed = this.params.speed, runCallbacks = true, internal) {
3729  if (typeof index === 'string') {
3730    const indexAsNumber = parseInt(index, 10);
3731    index = indexAsNumber;
3732  }
3733  const swiper = this;
3734  let newIndex = index;
3735  if (swiper.params.loop) {
3736    if (swiper.virtual && swiper.params.virtual.enabled) {
3737      // eslint-disable-next-line
3738      newIndex = newIndex + swiper.virtual.slidesBefore;
3739    } else {
3740      newIndex = swiper.getSlideIndexByData(newIndex);
3741    }
3742  }
3743  return swiper.slideTo(newIndex, speed, runCallbacks, internal);
3744}
3745
3746/***/ }),
3747
vendor: 1,263 bytes, lines 3748-3768
3748/***/ "../../node_modules/swiper/core/transition/index.js":
3749/*!**********************************************************!*\
3750  !*** ../../node_modules/swiper/core/transition/index.js ***!
3751  \**********************************************************/
3752/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3753
3754__webpack_require__.r(__webpack_exports__);
3755/* harmony import */ var _setTransition_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setTransition.js */ "../../node_modules/swiper/core/transition/setTransition.js");
3756/* harmony import */ var _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitionStart.js */ "../../node_modules/swiper/core/transition/transitionStart.js");
3757/* harmony import */ var _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transitionEnd.js */ "../../node_modules/swiper/core/transition/transitionEnd.js");
3758
3759
3760
3761/* harmony default export */ __webpack_exports__["default"] = ({
3762  setTransition: _setTransition_js__WEBPACK_IMPORTED_MODULE_0__["default"],
3763  transitionStart: _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__["default"],
3764  transitionEnd: _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__["default"]
3765});
3766
3767/***/ }),
3768
vendor: 844 bytes, lines 3769-3788
3769/***/ "../../node_modules/swiper/core/transition/setTransition.js":
3770/*!******************************************************************!*\
3771  !*** ../../node_modules/swiper/core/transition/setTransition.js ***!
3772  \******************************************************************/
3773/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3774
3775__webpack_require__.r(__webpack_exports__);
3776/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3777/* harmony export */   "default": function() { return /* binding */ setTransition; }
3778/* harmony export */ });
3779function setTransition(duration, byController) {
3780  const swiper = this;
3781  if (!swiper.params.cssMode) {
3782    swiper.wrapperEl.style.transitionDuration = `${duration}ms`;
3783  }
3784  swiper.emit('setTransition', duration, byController);
3785}
3786
3787/***/ }),
3788
vendor: 1,302 bytes, lines 3789-3829
3789/***/ "../../node_modules/swiper/core/transition/transitionEmit.js":
3790/*!*******************************************************************!*\
3791  !*** ../../node_modules/swiper/core/transition/transitionEmit.js ***!
3792  \*******************************************************************/
3793/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3794
3795__webpack_require__.r(__webpack_exports__);
3796/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3797/* harmony export */   "default": function() { return /* binding */ transitionEmit; }
3798/* harmony export */ });
3799function transitionEmit({
3800  swiper,
3801  runCallbacks,
3802  direction,
3803  step
3804}) {
3805  const {
3806    activeIndex,
3807    previousIndex
3808  } = swiper;
3809  let dir = direction;
3810  if (!dir) {
3811    if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';
3812  }
3813  swiper.emit(`transition${step}`);
3814  if (runCallbacks && activeIndex !== previousIndex) {
3815    if (dir === 'reset') {
3816      swiper.emit(`slideResetTransition${step}`);
3817      return;
3818    }
3819    swiper.emit(`slideChangeTransition${step}`);
3820    if (dir === 'next') {
3821      swiper.emit(`slideNextTransition${step}`);
3822    } else {
3823      swiper.emit(`slidePrevTransition${step}`);
3824    }
3825  }
3826}
3827
3828/***/ }),
3829
vendor: 1,136 bytes, lines 3830-3859
3830/***/ "../../node_modules/swiper/core/transition/transitionEnd.js":
3831/*!******************************************************************!*\
3832  !*** ../../node_modules/swiper/core/transition/transitionEnd.js ***!
3833  \******************************************************************/
3834/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3835
3836__webpack_require__.r(__webpack_exports__);
3837/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3838/* harmony export */   "default": function() { return /* binding */ transitionEnd; }
3839/* harmony export */ });
3840/* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ "../../node_modules/swiper/core/transition/transitionEmit.js");
3841
3842function transitionEnd(runCallbacks = true, direction) {
3843  const swiper = this;
3844  const {
3845    params
3846  } = swiper;
3847  swiper.animating = false;
3848  if (params.cssMode) return;
3849  swiper.setTransition(0);
3850  (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
3851    swiper,
3852    runCallbacks,
3853    direction,
3854    step: 'End'
3855  });
3856}
3857
3858/***/ }),
3859
vendor: 1,157 bytes, lines 3860-3890
3860/***/ "../../node_modules/swiper/core/transition/transitionStart.js":
3861/*!********************************************************************!*\
3862  !*** ../../node_modules/swiper/core/transition/transitionStart.js ***!
3863  \********************************************************************/
3864/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3865
3866__webpack_require__.r(__webpack_exports__);
3867/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3868/* harmony export */   "default": function() { return /* binding */ transitionStart; }
3869/* harmony export */ });
3870/* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ "../../node_modules/swiper/core/transition/transitionEmit.js");
3871
3872function transitionStart(runCallbacks = true, direction) {
3873  const swiper = this;
3874  const {
3875    params
3876  } = swiper;
3877  if (params.cssMode) return;
3878  if (params.autoHeight) {
3879    swiper.updateAutoHeight();
3880  }
3881  (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
3882    swiper,
3883    runCallbacks,
3884    direction,
3885    step: 'Start'
3886  });
3887}
3888
3889/***/ }),
3890
vendor: 1,331 bytes, lines 3891-3924
3891/***/ "../../node_modules/swiper/core/translate/getTranslate.js":
3892/*!****************************************************************!*\
3893  !*** ../../node_modules/swiper/core/translate/getTranslate.js ***!
3894  \****************************************************************/
3895/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3896
3897__webpack_require__.r(__webpack_exports__);
3898/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3899/* harmony export */   "default": function() { return /* binding */ getSwiperTranslate; }
3900/* harmony export */ });
3901/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
3902
3903function getSwiperTranslate(axis = this.isHorizontal() ? 'x' : 'y') {
3904  const swiper = this;
3905  const {
3906    params,
3907    rtlTranslate: rtl,
3908    translate,
3909    wrapperEl
3910  } = swiper;
3911  if (params.virtualTranslate) {
3912    return rtl ? -translate : translate;
3913  }
3914  if (params.cssMode) {
3915    return translate;
3916  }
3917  let currentTranslate = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.getTranslate)(wrapperEl, axis);
3918  currentTranslate += swiper.cssOverflowAdjustment();
3919  if (rtl) currentTranslate = -currentTranslate;
3920  return currentTranslate || 0;
3921}
3922
3923/***/ }),
3924
vendor: 1,734 bytes, lines 3925-3951
3925/***/ "../../node_modules/swiper/core/translate/index.js":
3926/*!*********************************************************!*\
3927  !*** ../../node_modules/swiper/core/translate/index.js ***!
3928  \*********************************************************/
3929/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3930
3931__webpack_require__.r(__webpack_exports__);
3932/* harmony import */ var _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getTranslate.js */ "../../node_modules/swiper/core/translate/getTranslate.js");
3933/* harmony import */ var _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setTranslate.js */ "../../node_modules/swiper/core/translate/setTranslate.js");
3934/* harmony import */ var _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./minTranslate.js */ "../../node_modules/swiper/core/translate/minTranslate.js");
3935/* harmony import */ var _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./maxTranslate.js */ "../../node_modules/swiper/core/translate/maxTranslate.js");
3936/* harmony import */ var _translateTo_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./translateTo.js */ "../../node_modules/swiper/core/translate/translateTo.js");
3937
3938
3939
3940
3941
3942/* harmony default export */ __webpack_exports__["default"] = ({
3943  getTranslate: _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__["default"],
3944  setTranslate: _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__["default"],
3945  minTranslate: _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__["default"],
3946  maxTranslate: _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__["default"],
3947  translateTo: _translateTo_js__WEBPACK_IMPORTED_MODULE_4__["default"]
3948});
3949
3950/***/ }),
3951
vendor: 683 bytes, lines 3952-3967
3952/***/ "../../node_modules/swiper/core/translate/maxTranslate.js":
3953/*!****************************************************************!*\
3954  !*** ../../node_modules/swiper/core/translate/maxTranslate.js ***!
3955  \****************************************************************/
3956/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3957
3958__webpack_require__.r(__webpack_exports__);
3959/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3960/* harmony export */   "default": function() { return /* binding */ maxTranslate; }
3961/* harmony export */ });
3962function maxTranslate() {
3963  return -this.snapGrid[this.snapGrid.length - 1];
3964}
3965
3966/***/ }),
3967
vendor: 660 bytes, lines 3968-3983
3968/***/ "../../node_modules/swiper/core/translate/minTranslate.js":
3969/*!****************************************************************!*\
3970  !*** ../../node_modules/swiper/core/translate/minTranslate.js ***!
3971  \****************************************************************/
3972/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3973
3974__webpack_require__.r(__webpack_exports__);
3975/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3976/* harmony export */   "default": function() { return /* binding */ minTranslate; }
3977/* harmony export */ });
3978function minTranslate() {
3979  return -this.snapGrid[0];
3980}
3981
3982/***/ }),
3983
vendor: 1,876 bytes, lines 3984-4042
3984/***/ "../../node_modules/swiper/core/translate/setTranslate.js":
3985/*!****************************************************************!*\
3986  !*** ../../node_modules/swiper/core/translate/setTranslate.js ***!
3987  \****************************************************************/
3988/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3989
3990__webpack_require__.r(__webpack_exports__);
3991/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3992/* harmony export */   "default": function() { return /* binding */ setTranslate; }
3993/* harmony export */ });
3994function setTranslate(translate, byController) {
3995  const swiper = this;
3996  const {
3997    rtlTranslate: rtl,
3998    params,
3999    wrapperEl,
4000    progress
4001  } = swiper;
4002  let x = 0;
4003  let y = 0;
4004  const z = 0;
4005  if (swiper.isHorizontal()) {
4006    x = rtl ? -translate : translate;
4007  } else {
4008    y = translate;
4009  }
4010  if (params.roundLengths) {
4011    x = Math.floor(x);
4012    y = Math.floor(y);
4013  }
4014  swiper.previousTranslate = swiper.translate;
4015  swiper.translate = swiper.isHorizontal() ? x : y;
4016  if (params.cssMode) {
4017    wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;
4018  } else if (!params.virtualTranslate) {
4019    if (swiper.isHorizontal()) {
4020      x -= swiper.cssOverflowAdjustment();
4021    } else {
4022      y -= swiper.cssOverflowAdjustment();
4023    }
4024    wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`;
4025  }
4026
4027  // Check if we need to update progress
4028  let newProgress;
4029  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
4030  if (translatesDiff === 0) {
4031    newProgress = 0;
4032  } else {
4033    newProgress = (translate - swiper.minTranslate()) / translatesDiff;
4034  }
4035  if (newProgress !== progress) {
4036    swiper.updateProgress(translate);
4037  }
4038  swiper.emit('setTranslate', swiper.translate, byController);
4039}
4040
4041/***/ }),
4042
vendor: 3,148 bytes, lines 4043-4126
4043/***/ "../../node_modules/swiper/core/translate/translateTo.js":
4044/*!***************************************************************!*\
4045  !*** ../../node_modules/swiper/core/translate/translateTo.js ***!
4046  \***************************************************************/
4047/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4048
4049__webpack_require__.r(__webpack_exports__);
4050/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4051/* harmony export */   "default": function() { return /* binding */ translateTo; }
4052/* harmony export */ });
4053/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
4054
4055function translateTo(translate = 0, speed = this.params.speed, runCallbacks = true, translateBounds = true, internal) {
4056  const swiper = this;
4057  const {
4058    params,
4059    wrapperEl
4060  } = swiper;
4061  if (swiper.animating && params.preventInteractionOnTransition) {
4062    return false;
4063  }
4064  const minTranslate = swiper.minTranslate();
4065  const maxTranslate = swiper.maxTranslate();
4066  let newTranslate;
4067  if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;
4068
4069  // Update progress
4070  swiper.updateProgress(newTranslate);
4071  if (params.cssMode) {
4072    const isH = swiper.isHorizontal();
4073    if (speed === 0) {
4074      wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;
4075    } else {
4076      if (!swiper.support.smoothScroll) {
4077        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({
4078          swiper,
4079          targetPosition: -newTranslate,
4080          side: isH ? 'left' : 'top'
4081        });
4082        return true;
4083      }
4084      wrapperEl.scrollTo({
4085        [isH ? 'left' : 'top']: -newTranslate,
4086        behavior: 'smooth'
4087      });
4088    }
4089    return true;
4090  }
4091  if (speed === 0) {
4092    swiper.setTransition(0);
4093    swiper.setTranslate(newTranslate);
4094    if (runCallbacks) {
4095      swiper.emit('beforeTransitionStart', speed, internal);
4096      swiper.emit('transitionEnd');
4097    }
4098  } else {
4099    swiper.setTransition(speed);
4100    swiper.setTranslate(newTranslate);
4101    if (runCallbacks) {
4102      swiper.emit('beforeTransitionStart', speed, internal);
4103      swiper.emit('transitionStart');
4104    }
4105    if (!swiper.animating) {
4106      swiper.animating = true;
4107      if (!swiper.onTranslateToWrapperTransitionEnd) {
4108        swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {
4109          if (!swiper || swiper.destroyed) return;
4110          if (e.target !== this) return;
4111          swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
4112          swiper.onTranslateToWrapperTransitionEnd = null;
4113          delete swiper.onTranslateToWrapperTransitionEnd;
4114          if (runCallbacks) {
4115            swiper.emit('transitionEnd');
4116          }
4117        };
4118      }
4119      swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
4120    }
4121  }
4122  return true;
4123}
4124
4125/***/ }),
4126
vendor: 2,896 bytes, lines 4127-4165
4127/***/ "../../node_modules/swiper/core/update/index.js":
4128/*!******************************************************!*\
4129  !*** ../../node_modules/swiper/core/update/index.js ***!
4130  \******************************************************/
4131/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4132
4133__webpack_require__.r(__webpack_exports__);
4134/* harmony import */ var _updateSize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./updateSize.js */ "../../node_modules/swiper/core/update/updateSize.js");
4135/* harmony import */ var _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./updateSlides.js */ "../../node_modules/swiper/core/update/updateSlides.js");
4136/* harmony import */ var _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./updateAutoHeight.js */ "../../node_modules/swiper/core/update/updateAutoHeight.js");
4137/* harmony import */ var _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./updateSlidesOffset.js */ "../../node_modules/swiper/core/update/updateSlidesOffset.js");
4138/* harmony import */ var _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./updateSlidesProgress.js */ "../../node_modules/swiper/core/update/updateSlidesProgress.js");
4139/* harmony import */ var _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./updateProgress.js */ "../../node_modules/swiper/core/update/updateProgress.js");
4140/* harmony import */ var _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./updateSlidesClasses.js */ "../../node_modules/swiper/core/update/updateSlidesClasses.js");
4141/* harmony import */ var _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./updateActiveIndex.js */ "../../node_modules/swiper/core/update/updateActiveIndex.js");
4142/* harmony import */ var _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./updateClickedSlide.js */ "../../node_modules/swiper/core/update/updateClickedSlide.js");
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152/* harmony default export */ __webpack_exports__["default"] = ({
4153  updateSize: _updateSize_js__WEBPACK_IMPORTED_MODULE_0__["default"],
4154  updateSlides: _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__["default"],
4155  updateAutoHeight: _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__["default"],
4156  updateSlidesOffset: _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__["default"],
4157  updateSlidesProgress: _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__["default"],
4158  updateProgress: _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__["default"],
4159  updateSlidesClasses: _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__["default"],
4160  updateActiveIndex: _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__["default"],
4161  updateClickedSlide: _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__["default"]
4162});
4163
4164/***/ }),
4165
vendor: 4,042 bytes, lines 4166-4276
4166/***/ "../../node_modules/swiper/core/update/updateActiveIndex.js":
4167/*!******************************************************************!*\
4168  !*** ../../node_modules/swiper/core/update/updateActiveIndex.js ***!
4169  \******************************************************************/
4170/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4171
4172__webpack_require__.r(__webpack_exports__);
4173/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4174/* harmony export */   "default": function() { return /* binding */ updateActiveIndex; },
4175/* harmony export */   getActiveIndexByTranslate: function() { return /* binding */ getActiveIndexByTranslate; }
4176/* harmony export */ });
4177/* harmony import */ var _shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/process-lazy-preloader.js */ "../../node_modules/swiper/shared/process-lazy-preloader.js");
4178
4179function getActiveIndexByTranslate(swiper) {
4180  const {
4181    slidesGrid,
4182    params
4183  } = swiper;
4184  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
4185  let activeIndex;
4186  for (let i = 0; i < slidesGrid.length; i += 1) {
4187    if (typeof slidesGrid[i + 1] !== 'undefined') {
4188      if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {
4189        activeIndex = i;
4190      } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {
4191        activeIndex = i + 1;
4192      }
4193    } else if (translate >= slidesGrid[i]) {
4194      activeIndex = i;
4195    }
4196  }
4197  // Normalize slideIndex
4198  if (params.normalizeSlideIndex) {
4199    if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;
4200  }
4201  return activeIndex;
4202}
4203function updateActiveIndex(newActiveIndex) {
4204  const swiper = this;
4205  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
4206  const {
4207    snapGrid,
4208    params,
4209    activeIndex: previousIndex,
4210    realIndex: previousRealIndex,
4211    snapIndex: previousSnapIndex
4212  } = swiper;
4213  let activeIndex = newActiveIndex;
4214  let snapIndex;
4215  const getVirtualRealIndex = aIndex => {
4216    let realIndex = aIndex - swiper.virtual.slidesBefore;
4217    if (realIndex < 0) {
4218      realIndex = swiper.virtual.slides.length + realIndex;
4219    }
4220    if (realIndex >= swiper.virtual.slides.length) {
4221      realIndex -= swiper.virtual.slides.length;
4222    }
4223    return realIndex;
4224  };
4225  if (typeof activeIndex === 'undefined') {
4226    activeIndex = getActiveIndexByTranslate(swiper);
4227  }
4228  if (snapGrid.indexOf(translate) >= 0) {
4229    snapIndex = snapGrid.indexOf(translate);
4230  } else {
4231    const skip = Math.min(params.slidesPerGroupSkip, activeIndex);
4232    snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);
4233  }
4234  if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
4235  if (activeIndex === previousIndex) {
4236    if (snapIndex !== previousSnapIndex) {
4237      swiper.snapIndex = snapIndex;
4238      swiper.emit('snapIndexChange');
4239    }
4240    if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {
4241      swiper.realIndex = getVirtualRealIndex(activeIndex);
4242    }
4243    return;
4244  }
4245  // Get real index
4246  let realIndex;
4247  if (swiper.virtual && params.virtual.enabled && params.loop) {
4248    realIndex = getVirtualRealIndex(activeIndex);
4249  } else if (swiper.slides[activeIndex]) {
4250    realIndex = parseInt(swiper.slides[activeIndex].getAttribute('data-swiper-slide-index') || activeIndex, 10);
4251  } else {
4252    realIndex = activeIndex;
4253  }
4254  Object.assign(swiper, {
4255    previousSnapIndex,
4256    snapIndex,
4257    previousRealIndex,
4258    realIndex,
4259    previousIndex,
4260    activeIndex
4261  });
4262  if (swiper.initialized) {
4263    (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_0__.preload)(swiper);
4264  }
4265  swiper.emit('activeIndexChange');
4266  swiper.emit('snapIndexChange');
4267  if (previousRealIndex !== realIndex) {
4268    swiper.emit('realIndexChange');
4269  }
4270  if (swiper.initialized || swiper.params.runCallbacksOnInit) {
4271    swiper.emit('slideChange');
4272  }
4273}
4274
4275/***/ }),
4276
vendor: 2,077 bytes, lines 4277-4334
4277/***/ "../../node_modules/swiper/core/update/updateAutoHeight.js":
4278/*!*****************************************************************!*\
4279  !*** ../../node_modules/swiper/core/update/updateAutoHeight.js ***!
4280  \*****************************************************************/
4281/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4282
4283__webpack_require__.r(__webpack_exports__);
4284/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4285/* harmony export */   "default": function() { return /* binding */ updateAutoHeight; }
4286/* harmony export */ });
4287function updateAutoHeight(speed) {
4288  const swiper = this;
4289  const activeSlides = [];
4290  const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
4291  let newHeight = 0;
4292  let i;
4293  if (typeof speed === 'number') {
4294    swiper.setTransition(speed);
4295  } else if (speed === true) {
4296    swiper.setTransition(swiper.params.speed);
4297  }
4298  const getSlideByIndex = index => {
4299    if (isVirtual) {
4300      return swiper.slides[swiper.getSlideIndexByData(index)];
4301    }
4302    return swiper.slides[index];
4303  };
4304  // Find slides currently in view
4305  if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {
4306    if (swiper.params.centeredSlides) {
4307      (swiper.visibleSlides || []).forEach(slide => {
4308        activeSlides.push(slide);
4309      });
4310    } else {
4311      for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {
4312        const index = swiper.activeIndex + i;
4313        if (index > swiper.slides.length && !isVirtual) break;
4314        activeSlides.push(getSlideByIndex(index));
4315      }
4316    }
4317  } else {
4318    activeSlides.push(getSlideByIndex(swiper.activeIndex));
4319  }
4320
4321  // Find new height from highest slide in view
4322  for (i = 0; i < activeSlides.length; i += 1) {
4323    if (typeof activeSlides[i] !== 'undefined') {
4324      const height = activeSlides[i].offsetHeight;
4325      newHeight = height > newHeight ? height : newHeight;
4326    }
4327  }
4328
4329  // Update Height
4330  if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`;
4331}
4332
4333/***/ }),
4334
vendor: 1,544 bytes, lines 4335-4378
4335/***/ "../../node_modules/swiper/core/update/updateClickedSlide.js":
4336/*!*******************************************************************!*\
4337  !*** ../../node_modules/swiper/core/update/updateClickedSlide.js ***!
4338  \*******************************************************************/
4339/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4340
4341__webpack_require__.r(__webpack_exports__);
4342/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4343/* harmony export */   "default": function() { return /* binding */ updateClickedSlide; }
4344/* harmony export */ });
4345function updateClickedSlide(e) {
4346  const swiper = this;
4347  const params = swiper.params;
4348  const slide = e.closest(`.${params.slideClass}, swiper-slide`);
4349  let slideFound = false;
4350  let slideIndex;
4351  if (slide) {
4352    for (let i = 0; i < swiper.slides.length; i += 1) {
4353      if (swiper.slides[i] === slide) {
4354        slideFound = true;
4355        slideIndex = i;
4356        break;
4357      }
4358    }
4359  }
4360  if (slide && slideFound) {
4361    swiper.clickedSlide = slide;
4362    if (swiper.virtual && swiper.params.virtual.enabled) {
4363      swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);
4364    } else {
4365      swiper.clickedIndex = slideIndex;
4366    }
4367  } else {
4368    swiper.clickedSlide = undefined;
4369    swiper.clickedIndex = undefined;
4370    return;
4371  }
4372  if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {
4373    swiper.slideToClickedSlide();
4374  }
4375}
4376
4377/***/ }),
4378
vendor: 2,807 bytes, lines 4379-4453
4379/***/ "../../node_modules/swiper/core/update/updateProgress.js":
4380/*!***************************************************************!*\
4381  !*** ../../node_modules/swiper/core/update/updateProgress.js ***!
4382  \***************************************************************/
4383/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4384
4385__webpack_require__.r(__webpack_exports__);
4386/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4387/* harmony export */   "default": function() { return /* binding */ updateProgress; }
4388/* harmony export */ });
4389function updateProgress(translate) {
4390  const swiper = this;
4391  if (typeof translate === 'undefined') {
4392    const multiplier = swiper.rtlTranslate ? -1 : 1;
4393    // eslint-disable-next-line
4394    translate = swiper && swiper.translate && swiper.translate * multiplier || 0;
4395  }
4396  const params = swiper.params;
4397  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
4398  let {
4399    progress,
4400    isBeginning,
4401    isEnd,
4402    progressLoop
4403  } = swiper;
4404  const wasBeginning = isBeginning;
4405  const wasEnd = isEnd;
4406  if (translatesDiff === 0) {
4407    progress = 0;
4408    isBeginning = true;
4409    isEnd = true;
4410  } else {
4411    progress = (translate - swiper.minTranslate()) / translatesDiff;
4412    const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;
4413    const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;
4414    isBeginning = isBeginningRounded || progress <= 0;
4415    isEnd = isEndRounded || progress >= 1;
4416    if (isBeginningRounded) progress = 0;
4417    if (isEndRounded) progress = 1;
4418  }
4419  if (params.loop) {
4420    const firstSlideIndex = swiper.getSlideIndexByData(0);
4421    const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1);
4422    const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];
4423    const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];
4424    const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];
4425    const translateAbs = Math.abs(translate);
4426    if (translateAbs >= firstSlideTranslate) {
4427      progressLoop = (translateAbs - firstSlideTranslate) / translateMax;
4428    } else {
4429      progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;
4430    }
4431    if (progressLoop > 1) progressLoop -= 1;
4432  }
4433  Object.assign(swiper, {
4434    progress,
4435    progressLoop,
4436    isBeginning,
4437    isEnd
4438  });
4439  if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);
4440  if (isBeginning && !wasBeginning) {
4441    swiper.emit('reachBeginning toEdge');
4442  }
4443  if (isEnd && !wasEnd) {
4444    swiper.emit('reachEnd toEdge');
4445  }
4446  if (wasBeginning && !isBeginning || wasEnd && !isEnd) {
4447    swiper.emit('fromEdge');
4448  }
4449  swiper.emit('progress', progress);
4450}
4451
4452/***/ }),
4453
vendor: 1,938 bytes, lines 4454-4498
4454/***/ "../../node_modules/swiper/core/update/updateSize.js":
4455/*!***********************************************************!*\
4456  !*** ../../node_modules/swiper/core/update/updateSize.js ***!
4457  \***********************************************************/
4458/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4459
4460__webpack_require__.r(__webpack_exports__);
4461/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4462/* harmony export */   "default": function() { return /* binding */ updateSize; }
4463/* harmony export */ });
4464/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
4465
4466function updateSize() {
4467  const swiper = this;
4468  let width;
4469  let height;
4470  const el = swiper.el;
4471  if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {
4472    width = swiper.params.width;
4473  } else {
4474    width = el.clientWidth;
4475  }
4476  if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {
4477    height = swiper.params.height;
4478  } else {
4479    height = el.clientHeight;
4480  }
4481  if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {
4482    return;
4483  }
4484
4485  // Subtract paddings
4486  width = width - parseInt((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(el, 'padding-left') || 0, 10) - parseInt((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(el, 'padding-right') || 0, 10);
4487  height = height - parseInt((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(el, 'padding-top') || 0, 10) - parseInt((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(el, 'padding-bottom') || 0, 10);
4488  if (Number.isNaN(width)) width = 0;
4489  if (Number.isNaN(height)) height = 0;
4490  Object.assign(swiper, {
4491    width,
4492    height,
4493    size: swiper.isHorizontal() ? width : height
4494  });
4495}
4496
4497/***/ }),
4498
vendor: 12,428 bytes, lines 4499-4799
4499/***/ "../../node_modules/swiper/core/update/updateSlides.js":
4500/*!*************************************************************!*\
4501  !*** ../../node_modules/swiper/core/update/updateSlides.js ***!
4502  \*************************************************************/
4503/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4504
4505__webpack_require__.r(__webpack_exports__);
4506/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4507/* harmony export */   "default": function() { return /* binding */ updateSlides; }
4508/* harmony export */ });
4509/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
4510
4511function updateSlides() {
4512  const swiper = this;
4513  function getDirectionLabel(property) {
4514    if (swiper.isHorizontal()) {
4515      return property;
4516    }
4517    // prettier-ignore
4518    return {
4519      'width': 'height',
4520      'margin-top': 'margin-left',
4521      'margin-bottom ': 'margin-right',
4522      'margin-left': 'margin-top',
4523      'margin-right': 'margin-bottom',
4524      'padding-left': 'padding-top',
4525      'padding-right': 'padding-bottom',
4526      'marginRight': 'marginBottom'
4527    }[property];
4528  }
4529  function getDirectionPropertyValue(node, label) {
4530    return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);
4531  }
4532  const params = swiper.params;
4533  const {
4534    wrapperEl,
4535    slidesEl,
4536    size: swiperSize,
4537    rtlTranslate: rtl,
4538    wrongRTL
4539  } = swiper;
4540  const isVirtual = swiper.virtual && params.virtual.enabled;
4541  const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;
4542  const slides = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);
4543  const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;
4544  let snapGrid = [];
4545  const slidesGrid = [];
4546  const slidesSizesGrid = [];
4547  let offsetBefore = params.slidesOffsetBefore;
4548  if (typeof offsetBefore === 'function') {
4549    offsetBefore = params.slidesOffsetBefore.call(swiper);
4550  }
4551  let offsetAfter = params.slidesOffsetAfter;
4552  if (typeof offsetAfter === 'function') {
4553    offsetAfter = params.slidesOffsetAfter.call(swiper);
4554  }
4555  const previousSnapGridLength = swiper.snapGrid.length;
4556  const previousSlidesGridLength = swiper.slidesGrid.length;
4557  let spaceBetween = params.spaceBetween;
4558  let slidePosition = -offsetBefore;
4559  let prevSlideSize = 0;
4560  let index = 0;
4561  if (typeof swiperSize === 'undefined') {
4562    return;
4563  }
4564  if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {
4565    spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;
4566  } else if (typeof spaceBetween === 'string') {
4567    spaceBetween = parseFloat(spaceBetween);
4568  }
4569  swiper.virtualSize = -spaceBetween;
4570
4571  // reset margins
4572  slides.forEach(slideEl => {
4573    if (rtl) {
4574      slideEl.style.marginLeft = '';
4575    } else {
4576      slideEl.style.marginRight = '';
4577    }
4578    slideEl.style.marginBottom = '';
4579    slideEl.style.marginTop = '';
4580  });
4581
4582  // reset cssMode offsets
4583  if (params.centeredSlides && params.cssMode) {
4584    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(wrapperEl, '--swiper-centered-offset-before', '');
4585    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(wrapperEl, '--swiper-centered-offset-after', '');
4586  }
4587  const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;
4588  if (gridEnabled) {
4589    swiper.grid.initSlides(slidesLength);
4590  }
4591
4592  // Calc slides
4593  let slideSize;
4594  const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {
4595    return typeof params.breakpoints[key].slidesPerView !== 'undefined';
4596  }).length > 0;
4597  for (let i = 0; i < slidesLength; i += 1) {
4598    slideSize = 0;
4599    let slide;
4600    if (slides[i]) slide = slides[i];
4601    if (gridEnabled) {
4602      swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);
4603    }
4604    if (slides[i] && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(slide, 'display') === 'none') continue; // eslint-disable-line
4605
4606    if (params.slidesPerView === 'auto') {
4607      if (shouldResetSlideSize) {
4608        slides[i].style[getDirectionLabel('width')] = ``;
4609      }
4610      const slideStyles = getComputedStyle(slide);
4611      const currentTransform = slide.style.transform;
4612      const currentWebKitTransform = slide.style.webkitTransform;
4613      if (currentTransform) {
4614        slide.style.transform = 'none';
4615      }
4616      if (currentWebKitTransform) {
4617        slide.style.webkitTransform = 'none';
4618      }
4619      if (params.roundLengths) {
4620        slideSize = swiper.isHorizontal() ? (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementOuterSize)(slide, 'width', true) : (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementOuterSize)(slide, 'height', true);
4621      } else {
4622        // eslint-disable-next-line
4623        const width = getDirectionPropertyValue(slideStyles, 'width');
4624        const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');
4625        const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');
4626        const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');
4627        const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');
4628        const boxSizing = slideStyles.getPropertyValue('box-sizing');
4629        if (boxSizing && boxSizing === 'border-box') {
4630          slideSize = width + marginLeft + marginRight;
4631        } else {
4632          const {
4633            clientWidth,
4634            offsetWidth
4635          } = slide;
4636          slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);
4637        }
4638      }
4639      if (currentTransform) {
4640        slide.style.transform = currentTransform;
4641      }
4642      if (currentWebKitTransform) {
4643        slide.style.webkitTransform = currentWebKitTransform;
4644      }
4645      if (params.roundLengths) slideSize = Math.floor(slideSize);
4646    } else {
4647      slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;
4648      if (params.roundLengths) slideSize = Math.floor(slideSize);
4649      if (slides[i]) {
4650        slides[i].style[getDirectionLabel('width')] = `${slideSize}px`;
4651      }
4652    }
4653    if (slides[i]) {
4654      slides[i].swiperSlideSize = slideSize;
4655    }
4656    slidesSizesGrid.push(slideSize);
4657    if (params.centeredSlides) {
4658      slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;
4659      if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
4660      if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
4661      if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;
4662      if (params.roundLengths) slidePosition = Math.floor(slidePosition);
4663      if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);
4664      slidesGrid.push(slidePosition);
4665    } else {
4666      if (params.roundLengths) slidePosition = Math.floor(slidePosition);
4667      if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);
4668      slidesGrid.push(slidePosition);
4669      slidePosition = slidePosition + slideSize + spaceBetween;
4670    }
4671    swiper.virtualSize += slideSize + spaceBetween;
4672    prevSlideSize = slideSize;
4673    index += 1;
4674  }
4675  swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;
4676  if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {
4677    wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`;
4678  }
4679  if (params.setWrapperSize) {
4680    wrapperEl.style[getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;
4681  }
4682  if (gridEnabled) {
4683    swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);
4684  }
4685
4686  // Remove last grid elements depending on width
4687  if (!params.centeredSlides) {
4688    const newSlidesGrid = [];
4689    for (let i = 0; i < snapGrid.length; i += 1) {
4690      let slidesGridItem = snapGrid[i];
4691      if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);
4692      if (snapGrid[i] <= swiper.virtualSize - swiperSize) {
4693        newSlidesGrid.push(slidesGridItem);
4694      }
4695    }
4696    snapGrid = newSlidesGrid;
4697    if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {
4698      snapGrid.push(swiper.virtualSize - swiperSize);
4699    }
4700  }
4701  if (isVirtual && params.loop) {
4702    const size = slidesSizesGrid[0] + spaceBetween;
4703    if (params.slidesPerGroup > 1) {
4704      const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);
4705      const groupSize = size * params.slidesPerGroup;
4706      for (let i = 0; i < groups; i += 1) {
4707        snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);
4708      }
4709    }
4710    for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) {
4711      if (params.slidesPerGroup === 1) {
4712        snapGrid.push(snapGrid[snapGrid.length - 1] + size);
4713      }
4714      slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);
4715      swiper.virtualSize += size;
4716    }
4717  }
4718  if (snapGrid.length === 0) snapGrid = [0];
4719  if (spaceBetween !== 0) {
4720    const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');
4721    slides.filter((_, slideIndex) => {
4722      if (!params.cssMode || params.loop) return true;
4723      if (slideIndex === slides.length - 1) {
4724        return false;
4725      }
4726      return true;
4727    }).forEach(slideEl => {
4728      slideEl.style[key] = `${spaceBetween}px`;
4729    });
4730  }
4731  if (params.centeredSlides && params.centeredSlidesBounds) {
4732    let allSlidesSize = 0;
4733    slidesSizesGrid.forEach(slideSizeValue => {
4734      allSlidesSize += slideSizeValue + (spaceBetween || 0);
4735    });
4736    allSlidesSize -= spaceBetween;
4737    const maxSnap = allSlidesSize - swiperSize;
4738    snapGrid = snapGrid.map(snap => {
4739      if (snap <= 0) return -offsetBefore;
4740      if (snap > maxSnap) return maxSnap + offsetAfter;
4741      return snap;
4742    });
4743  }
4744  if (params.centerInsufficientSlides) {
4745    let allSlidesSize = 0;
4746    slidesSizesGrid.forEach(slideSizeValue => {
4747      allSlidesSize += slideSizeValue + (spaceBetween || 0);
4748    });
4749    allSlidesSize -= spaceBetween;
4750    if (allSlidesSize < swiperSize) {
4751      const allSlidesOffset = (swiperSize - allSlidesSize) / 2;
4752      snapGrid.forEach((snap, snapIndex) => {
4753        snapGrid[snapIndex] = snap - allSlidesOffset;
4754      });
4755      slidesGrid.forEach((snap, snapIndex) => {
4756        slidesGrid[snapIndex] = snap + allSlidesOffset;
4757      });
4758    }
4759  }
4760  Object.assign(swiper, {
4761    slides,
4762    snapGrid,
4763    slidesGrid,
4764    slidesSizesGrid
4765  });
4766  if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {
4767    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);
4768    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);
4769    const addToSnapGrid = -swiper.snapGrid[0];
4770    const addToSlidesGrid = -swiper.slidesGrid[0];
4771    swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);
4772    swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);
4773  }
4774  if (slidesLength !== previousSlidesLength) {
4775    swiper.emit('slidesLengthChange');
4776  }
4777  if (snapGrid.length !== previousSnapGridLength) {
4778    if (swiper.params.watchOverflow) swiper.checkOverflow();
4779    swiper.emit('snapGridLengthChange');
4780  }
4781  if (slidesGrid.length !== previousSlidesGridLength) {
4782    swiper.emit('slidesGridLengthChange');
4783  }
4784  if (params.watchSlidesProgress) {
4785    swiper.updateSlidesOffset();
4786  }
4787  if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {
4788    const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;
4789    const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);
4790    if (slidesLength <= params.maxBackfaceHiddenSlides) {
4791      if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);
4792    } else if (hasClassBackfaceClassAdded) {
4793      swiper.el.classList.remove(backFaceHiddenClass);
4794    }
4795  }
4796}
4797
4798/***/ }),
4799
vendor: 2,656 bytes, lines 4800-4865
4800/***/ "../../node_modules/swiper/core/update/updateSlidesClasses.js":
4801/*!********************************************************************!*\
4802  !*** ../../node_modules/swiper/core/update/updateSlidesClasses.js ***!
4803  \********************************************************************/
4804/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4805
4806__webpack_require__.r(__webpack_exports__);
4807/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4808/* harmony export */   "default": function() { return /* binding */ updateSlidesClasses; }
4809/* harmony export */ });
4810/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
4811
4812function updateSlidesClasses() {
4813  const swiper = this;
4814  const {
4815    slides,
4816    params,
4817    slidesEl,
4818    activeIndex
4819  } = swiper;
4820  const isVirtual = swiper.virtual && params.virtual.enabled;
4821  const getFilteredSlide = selector => {
4822    return (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];
4823  };
4824  slides.forEach(slideEl => {
4825    slideEl.classList.remove(params.slideActiveClass, params.slideNextClass, params.slidePrevClass);
4826  });
4827  let activeSlide;
4828  if (isVirtual) {
4829    if (params.loop) {
4830      let slideIndex = activeIndex - swiper.virtual.slidesBefore;
4831      if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;
4832      if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;
4833      activeSlide = getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`);
4834    } else {
4835      activeSlide = getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`);
4836    }
4837  } else {
4838    activeSlide = slides[activeIndex];
4839  }
4840  if (activeSlide) {
4841    // Active classes
4842    activeSlide.classList.add(params.slideActiveClass);
4843
4844    // Next Slide
4845    let nextSlide = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementNextAll)(activeSlide, `.${params.slideClass}, swiper-slide`)[0];
4846    if (params.loop && !nextSlide) {
4847      nextSlide = slides[0];
4848    }
4849    if (nextSlide) {
4850      nextSlide.classList.add(params.slideNextClass);
4851    }
4852    // Prev Slide
4853    let prevSlide = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementPrevAll)(activeSlide, `.${params.slideClass}, swiper-slide`)[0];
4854    if (params.loop && !prevSlide === 0) {
4855      prevSlide = slides[slides.length - 1];
4856    }
4857    if (prevSlide) {
4858      prevSlide.classList.add(params.slidePrevClass);
4859    }
4860  }
4861  swiper.emitSlidesClasses();
4862}
4863
4864/***/ }),
4865
vendor: 1,070 bytes, lines 4866-4887
4866/***/ "../../node_modules/swiper/core/update/updateSlidesOffset.js":
4867/*!*******************************************************************!*\
4868  !*** ../../node_modules/swiper/core/update/updateSlidesOffset.js ***!
4869  \*******************************************************************/
4870/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4871
4872__webpack_require__.r(__webpack_exports__);
4873/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4874/* harmony export */   "default": function() { return /* binding */ updateSlidesOffset; }
4875/* harmony export */ });
4876function updateSlidesOffset() {
4877  const swiper = this;
4878  const slides = swiper.slides;
4879  // eslint-disable-next-line
4880  const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;
4881  for (let i = 0; i < slides.length; i += 1) {
4882    slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment();
4883  }
4884}
4885
4886/***/ }),
4887
vendor: 2,657 bytes, lines 4888-4945
4888/***/ "../../node_modules/swiper/core/update/updateSlidesProgress.js":
4889/*!*********************************************************************!*\
4890  !*** ../../node_modules/swiper/core/update/updateSlidesProgress.js ***!
4891  \*********************************************************************/
4892/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4893
4894__webpack_require__.r(__webpack_exports__);
4895/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4896/* harmony export */   "default": function() { return /* binding */ updateSlidesProgress; }
4897/* harmony export */ });
4898function updateSlidesProgress(translate = this && this.translate || 0) {
4899  const swiper = this;
4900  const params = swiper.params;
4901  const {
4902    slides,
4903    rtlTranslate: rtl,
4904    snapGrid
4905  } = swiper;
4906  if (slides.length === 0) return;
4907  if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();
4908  let offsetCenter = -translate;
4909  if (rtl) offsetCenter = translate;
4910
4911  // Visible Slides
4912  slides.forEach(slideEl => {
4913    slideEl.classList.remove(params.slideVisibleClass);
4914  });
4915  swiper.visibleSlidesIndexes = [];
4916  swiper.visibleSlides = [];
4917  let spaceBetween = params.spaceBetween;
4918  if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {
4919    spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;
4920  } else if (typeof spaceBetween === 'string') {
4921    spaceBetween = parseFloat(spaceBetween);
4922  }
4923  for (let i = 0; i < slides.length; i += 1) {
4924    const slide = slides[i];
4925    let slideOffset = slide.swiperSlideOffset;
4926    if (params.cssMode && params.centeredSlides) {
4927      slideOffset -= slides[0].swiperSlideOffset;
4928    }
4929    const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);
4930    const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);
4931    const slideBefore = -(offsetCenter - slideOffset);
4932    const slideAfter = slideBefore + swiper.slidesSizesGrid[i];
4933    const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;
4934    if (isVisible) {
4935      swiper.visibleSlides.push(slide);
4936      swiper.visibleSlidesIndexes.push(i);
4937      slides[i].classList.add(params.slideVisibleClass);
4938    }
4939    slide.progress = rtl ? -slideProgress : slideProgress;
4940    slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;
4941  }
4942}
4943
4944/***/ }),
4945
vendor: 12,054 bytes, lines 4946-5303
4946/***/ "../../node_modules/swiper/modules/a11y/a11y.js":
4947/*!******************************************************!*\
4948  !*** ../../node_modules/swiper/modules/a11y/a11y.js ***!
4949  \******************************************************/
4950/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4951
4952__webpack_require__.r(__webpack_exports__);
4953/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4954/* harmony export */   "default": function() { return /* binding */ A11y; }
4955/* harmony export */ });
4956/* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ "../../node_modules/swiper/shared/classes-to-selector.js");
4957/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
4958
4959
4960function A11y({
4961  swiper,
4962  extendParams,
4963  on
4964}) {
4965  extendParams({
4966    a11y: {
4967      enabled: true,
4968      notificationClass: 'swiper-notification',
4969      prevSlideMessage: 'Previous slide',
4970      nextSlideMessage: 'Next slide',
4971      firstSlideMessage: 'This is the first slide',
4972      lastSlideMessage: 'This is the last slide',
4973      paginationBulletMessage: 'Go to slide {{index}}',
4974      slideLabelMessage: '{{index}} / {{slidesLength}}',
4975      containerMessage: null,
4976      containerRoleDescriptionMessage: null,
4977      itemRoleDescriptionMessage: null,
4978      slideRole: 'group',
4979      id: null
4980    }
4981  });
4982  swiper.a11y = {
4983    clicked: false
4984  };
4985  let liveRegion = null;
4986  function notify(message) {
4987    const notification = liveRegion;
4988    if (notification.length === 0) return;
4989    notification.innerHTML = '';
4990    notification.innerHTML = message;
4991  }
4992  const makeElementsArray = el => {
4993    if (!Array.isArray(el)) el = [el].filter(e => !!e);
4994    return el;
4995  };
4996  function getRandomNumber(size = 16) {
4997    const randomChar = () => Math.round(16 * Math.random()).toString(16);
4998    return 'x'.repeat(size).replace(/x/g, randomChar);
4999  }
5000  function makeElFocusable(el) {
5001    el = makeElementsArray(el);
5002    el.forEach(subEl => {
5003      subEl.setAttribute('tabIndex', '0');
5004    });
5005  }
5006  function makeElNotFocusable(el) {
5007    el = makeElementsArray(el);
5008    el.forEach(subEl => {
5009      subEl.setAttribute('tabIndex', '-1');
5010    });
5011  }
5012  function addElRole(el, role) {
5013    el = makeElementsArray(el);
5014    el.forEach(subEl => {
5015      subEl.setAttribute('role', role);
5016    });
5017  }
5018  function addElRoleDescription(el, description) {
5019    el = makeElementsArray(el);
5020    el.forEach(subEl => {
5021      subEl.setAttribute('aria-roledescription', description);
5022    });
5023  }
5024  function addElControls(el, controls) {
5025    el = makeElementsArray(el);
5026    el.forEach(subEl => {
5027      subEl.setAttribute('aria-controls', controls);
5028    });
5029  }
5030  function addElLabel(el, label) {
5031    el = makeElementsArray(el);
5032    el.forEach(subEl => {
5033      subEl.setAttribute('aria-label', label);
5034    });
5035  }
5036  function addElId(el, id) {
5037    el = makeElementsArray(el);
5038    el.forEach(subEl => {
5039      subEl.setAttribute('id', id);
5040    });
5041  }
5042  function addElLive(el, live) {
5043    el = makeElementsArray(el);
5044    el.forEach(subEl => {
5045      subEl.setAttribute('aria-live', live);
5046    });
5047  }
5048  function disableEl(el) {
5049    el = makeElementsArray(el);
5050    el.forEach(subEl => {
5051      subEl.setAttribute('aria-disabled', true);
5052    });
5053  }
5054  function enableEl(el) {
5055    el = makeElementsArray(el);
5056    el.forEach(subEl => {
5057      subEl.setAttribute('aria-disabled', false);
5058    });
5059  }
5060  function onEnterOrSpaceKey(e) {
5061    if (e.keyCode !== 13 && e.keyCode !== 32) return;
5062    const params = swiper.params.a11y;
5063    const targetEl = e.target;
5064    if (swiper.pagination && swiper.pagination.el && (targetEl === swiper.pagination.el || swiper.pagination.el.contains(e.target))) {
5065      if (!e.target.matches((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass))) return;
5066    }
5067    if (swiper.navigation && swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl) {
5068      if (!(swiper.isEnd && !swiper.params.loop)) {
5069        swiper.slideNext();
5070      }
5071      if (swiper.isEnd) {
5072        notify(params.lastSlideMessage);
5073      } else {
5074        notify(params.nextSlideMessage);
5075      }
5076    }
5077    if (swiper.navigation && swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl) {
5078      if (!(swiper.isBeginning && !swiper.params.loop)) {
5079        swiper.slidePrev();
5080      }
5081      if (swiper.isBeginning) {
5082        notify(params.firstSlideMessage);
5083      } else {
5084        notify(params.prevSlideMessage);
5085      }
5086    }
5087    if (swiper.pagination && targetEl.matches((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass))) {
5088      targetEl.click();
5089    }
5090  }
5091  function updateNavigation() {
5092    if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;
5093    const {
5094      nextEl,
5095      prevEl
5096    } = swiper.navigation;
5097    if (prevEl) {
5098      if (swiper.isBeginning) {
5099        disableEl(prevEl);
5100        makeElNotFocusable(prevEl);
5101      } else {
5102        enableEl(prevEl);
5103        makeElFocusable(prevEl);
5104      }
5105    }
5106    if (nextEl) {
5107      if (swiper.isEnd) {
5108        disableEl(nextEl);
5109        makeElNotFocusable(nextEl);
5110      } else {
5111        enableEl(nextEl);
5112        makeElFocusable(nextEl);
5113      }
5114    }
5115  }
5116  function hasPagination() {
5117    return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;
5118  }
5119  function hasClickablePagination() {
5120    return hasPagination() && swiper.params.pagination.clickable;
5121  }
5122  function updatePagination() {
5123    const params = swiper.params.a11y;
5124    if (!hasPagination()) return;
5125    swiper.pagination.bullets.forEach(bulletEl => {
5126      if (swiper.params.pagination.clickable) {
5127        makeElFocusable(bulletEl);
5128        if (!swiper.params.pagination.renderBullet) {
5129          addElRole(bulletEl, 'button');
5130          addElLabel(bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementIndex)(bulletEl) + 1));
5131        }
5132      }
5133      if (bulletEl.matches((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletActiveClass))) {
5134        bulletEl.setAttribute('aria-current', 'true');
5135      } else {
5136        bulletEl.removeAttribute('aria-current');
5137      }
5138    });
5139  }
5140  const initNavEl = (el, wrapperId, message) => {
5141    makeElFocusable(el);
5142    if (el.tagName !== 'BUTTON') {
5143      addElRole(el, 'button');
5144      el.addEventListener('keydown', onEnterOrSpaceKey);
5145    }
5146    addElLabel(el, message);
5147    addElControls(el, wrapperId);
5148  };
5149  const handlePointerDown = () => {
5150    swiper.a11y.clicked = true;
5151  };
5152  const handlePointerUp = () => {
5153    requestAnimationFrame(() => {
5154      requestAnimationFrame(() => {
5155        if (!swiper.destroyed) {
5156          swiper.a11y.clicked = false;
5157        }
5158      });
5159    });
5160  };
5161  const handleFocus = e => {
5162    if (swiper.a11y.clicked) return;
5163    const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
5164    if (!slideEl || !swiper.slides.includes(slideEl)) return;
5165    const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;
5166    const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);
5167    if (isActive || isVisible) return;
5168    if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;
5169    if (swiper.isHorizontal()) {
5170      swiper.el.scrollLeft = 0;
5171    } else {
5172      swiper.el.scrollTop = 0;
5173    }
5174    swiper.slideTo(swiper.slides.indexOf(slideEl), 0);
5175  };
5176  const initSlides = () => {
5177    const params = swiper.params.a11y;
5178    if (params.itemRoleDescriptionMessage) {
5179      addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage);
5180    }
5181    if (params.slideRole) {
5182      addElRole(swiper.slides, params.slideRole);
5183    }
5184    const slidesLength = swiper.slides.length;
5185    if (params.slideLabelMessage) {
5186      swiper.slides.forEach((slideEl, index) => {
5187        const slideIndex = swiper.params.loop ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : index;
5188        const ariaLabelMessage = params.slideLabelMessage.replace(/\{\{index\}\}/, slideIndex + 1).replace(/\{\{slidesLength\}\}/, slidesLength);
5189        addElLabel(slideEl, ariaLabelMessage);
5190      });
5191    }
5192  };
5193  const init = () => {
5194    const params = swiper.params.a11y;
5195    if (swiper.isElement) {
5196      swiper.el.shadowEl.append(liveRegion);
5197    } else {
5198      swiper.el.append(liveRegion);
5199    }
5200
5201    // Container
5202    const containerEl = swiper.el;
5203    if (params.containerRoleDescriptionMessage) {
5204      addElRoleDescription(containerEl, params.containerRoleDescriptionMessage);
5205    }
5206    if (params.containerMessage) {
5207      addElLabel(containerEl, params.containerMessage);
5208    }
5209
5210    // Wrapper
5211    const wrapperEl = swiper.wrapperEl;
5212    const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`;
5213    const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';
5214    addElId(wrapperEl, wrapperId);
5215    addElLive(wrapperEl, live);
5216
5217    // Slide
5218    initSlides();
5219
5220    // Navigation
5221    let {
5222      nextEl,
5223      prevEl
5224    } = swiper.navigation ? swiper.navigation : {};
5225    nextEl = makeElementsArray(nextEl);
5226    prevEl = makeElementsArray(prevEl);
5227    if (nextEl) {
5228      nextEl.forEach(el => initNavEl(el, wrapperId, params.nextSlideMessage));
5229    }
5230    if (prevEl) {
5231      prevEl.forEach(el => initNavEl(el, wrapperId, params.prevSlideMessage));
5232    }
5233
5234    // Pagination
5235    if (hasClickablePagination()) {
5236      const paginationEl = Array.isArray(swiper.pagination.el) ? swiper.pagination.el : [swiper.pagination.el];
5237      paginationEl.forEach(el => {
5238        el.addEventListener('keydown', onEnterOrSpaceKey);
5239      });
5240    }
5241
5242    // Tab focus
5243    swiper.el.addEventListener('focus', handleFocus, true);
5244    swiper.el.addEventListener('pointerdown', handlePointerDown, true);
5245    swiper.el.addEventListener('pointerup', handlePointerUp, true);
5246  };
5247  function destroy() {
5248    if (liveRegion) liveRegion.remove();
5249    let {
5250      nextEl,
5251      prevEl
5252    } = swiper.navigation ? swiper.navigation : {};
5253    nextEl = makeElementsArray(nextEl);
5254    prevEl = makeElementsArray(prevEl);
5255    if (nextEl) {
5256      nextEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));
5257    }
5258    if (prevEl) {
5259      prevEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));
5260    }
5261
5262    // Pagination
5263    if (hasClickablePagination()) {
5264      const paginationEl = Array.isArray(swiper.pagination.el) ? swiper.pagination.el : [swiper.pagination.el];
5265      paginationEl.forEach(el => {
5266        el.removeEventListener('keydown', onEnterOrSpaceKey);
5267      });
5268    }
5269
5270    // Tab focus
5271    swiper.el.removeEventListener('focus', handleFocus, true);
5272    swiper.el.removeEventListener('pointerdown', handlePointerDown, true);
5273    swiper.el.removeEventListener('pointerup', handlePointerUp, true);
5274  }
5275  on('beforeInit', () => {
5276    liveRegion = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('span', swiper.params.a11y.notificationClass);
5277    liveRegion.setAttribute('aria-live', 'assertive');
5278    liveRegion.setAttribute('aria-atomic', 'true');
5279  });
5280  on('afterInit', () => {
5281    if (!swiper.params.a11y.enabled) return;
5282    init();
5283  });
5284  on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => {
5285    if (!swiper.params.a11y.enabled) return;
5286    initSlides();
5287  });
5288  on('fromEdge toEdge afterInit lock unlock', () => {
5289    if (!swiper.params.a11y.enabled) return;
5290    updateNavigation();
5291  });
5292  on('paginationUpdate', () => {
5293    if (!swiper.params.a11y.enabled) return;
5294    updatePagination();
5295  });
5296  on('destroy', () => {
5297    if (!swiper.params.a11y.enabled) return;
5298    destroy();
5299  });
5300}
5301
5302/***/ }),
5303
vendor: 9,424 bytes, lines 5304-5596
5304/***/ "../../node_modules/swiper/modules/autoplay/autoplay.js":
5305/*!**************************************************************!*\
5306  !*** ../../node_modules/swiper/modules/autoplay/autoplay.js ***!
5307  \**************************************************************/
5308/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
5309
5310__webpack_require__.r(__webpack_exports__);
5311/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5312/* harmony export */   "default": function() { return /* binding */ Autoplay; }
5313/* harmony export */ });
5314/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
5315/* eslint no-underscore-dangle: "off" */
5316/* eslint no-use-before-define: "off" */
5317
5318function Autoplay({
5319  swiper,
5320  extendParams,
5321  on,
5322  emit,
5323  params
5324}) {
5325  swiper.autoplay = {
5326    running: false,
5327    paused: false,
5328    timeLeft: 0
5329  };
5330  extendParams({
5331    autoplay: {
5332      enabled: false,
5333      delay: 3000,
5334      waitForTransition: true,
5335      disableOnInteraction: true,
5336      stopOnLastSlide: false,
5337      reverseDirection: false,
5338      pauseOnMouseEnter: false
5339    }
5340  });
5341  let timeout;
5342  let raf;
5343  let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3000;
5344  let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3000;
5345  let autoplayTimeLeft;
5346  let autoplayStartTime = new Date().getTime;
5347  let wasPaused;
5348  let isTouched;
5349  let pausedByTouch;
5350  let touchStartTimeout;
5351  let slideChanged;
5352  let pausedByInteraction;
5353  function onTransitionEnd(e) {
5354    if (!swiper || swiper.destroyed || !swiper.wrapperEl) return;
5355    if (e.target !== swiper.wrapperEl) return;
5356    swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd);
5357    resume();
5358  }
5359  const calcTimeLeft = () => {
5360    if (swiper.destroyed || !swiper.autoplay.running) return;
5361    if (swiper.autoplay.paused) {
5362      wasPaused = true;
5363    } else if (wasPaused) {
5364      autoplayDelayCurrent = autoplayTimeLeft;
5365      wasPaused = false;
5366    }
5367    const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - new Date().getTime();
5368    swiper.autoplay.timeLeft = timeLeft;
5369    emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal);
5370    raf = requestAnimationFrame(() => {
5371      calcTimeLeft();
5372    });
5373  };
5374  const getSlideDelay = () => {
5375    let activeSlideEl;
5376    if (swiper.virtual && swiper.params.virtual.enabled) {
5377      activeSlideEl = swiper.slides.filter(slideEl => slideEl.classList.contains('swiper-slide-active'))[0];
5378    } else {
5379      activeSlideEl = swiper.slides[swiper.activeIndex];
5380    }
5381    if (!activeSlideEl) return undefined;
5382    const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10);
5383    return currentSlideDelay;
5384  };
5385  const run = delayForce => {
5386    if (swiper.destroyed || !swiper.autoplay.running) return;
5387    cancelAnimationFrame(raf);
5388    calcTimeLeft();
5389    let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce;
5390    autoplayDelayTotal = swiper.params.autoplay.delay;
5391    autoplayDelayCurrent = swiper.params.autoplay.delay;
5392    const currentSlideDelay = getSlideDelay();
5393    if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') {
5394      delay = currentSlideDelay;
5395      autoplayDelayTotal = currentSlideDelay;
5396      autoplayDelayCurrent = currentSlideDelay;
5397    }
5398    autoplayTimeLeft = delay;
5399    const speed = swiper.params.speed;
5400    const proceed = () => {
5401      if (!swiper || swiper.destroyed) return;
5402      if (swiper.params.autoplay.reverseDirection) {
5403        if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) {
5404          swiper.slidePrev(speed, true, true);
5405          emit('autoplay');
5406        } else if (!swiper.params.autoplay.stopOnLastSlide) {
5407          swiper.slideTo(swiper.slides.length - 1, speed, true, true);
5408          emit('autoplay');
5409        }
5410      } else {
5411        if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) {
5412          swiper.slideNext(speed, true, true);
5413          emit('autoplay');
5414        } else if (!swiper.params.autoplay.stopOnLastSlide) {
5415          swiper.slideTo(0, speed, true, true);
5416          emit('autoplay');
5417        }
5418      }
5419      if (swiper.params.cssMode) {
5420        autoplayStartTime = new Date().getTime();
5421        requestAnimationFrame(() => {
5422          run();
5423        });
5424      }
5425    };
5426    if (delay > 0) {
5427      clearTimeout(timeout);
5428      timeout = setTimeout(() => {
5429        proceed();
5430      }, delay);
5431    } else {
5432      requestAnimationFrame(() => {
5433        proceed();
5434      });
5435    }
5436
5437    // eslint-disable-next-line
5438    return delay;
5439  };
5440  const start = () => {
5441    swiper.autoplay.running = true;
5442    run();
5443    emit('autoplayStart');
5444  };
5445  const stop = () => {
5446    swiper.autoplay.running = false;
5447    clearTimeout(timeout);
5448    cancelAnimationFrame(raf);
5449    emit('autoplayStop');
5450  };
5451  const pause = (internal, reset) => {
5452    if (swiper.destroyed || !swiper.autoplay.running) return;
5453    clearTimeout(timeout);
5454    if (!internal) {
5455      pausedByInteraction = true;
5456    }
5457    const proceed = () => {
5458      emit('autoplayPause');
5459      if (swiper.params.autoplay.waitForTransition) {
5460        swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd);
5461      } else {
5462        resume();
5463      }
5464    };
5465    swiper.autoplay.paused = true;
5466    if (reset) {
5467      if (slideChanged) {
5468        autoplayTimeLeft = swiper.params.autoplay.delay;
5469      }
5470      slideChanged = false;
5471      proceed();
5472      return;
5473    }
5474    const delay = autoplayTimeLeft || swiper.params.autoplay.delay;
5475    autoplayTimeLeft = delay - (new Date().getTime() - autoplayStartTime);
5476    if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return;
5477    if (autoplayTimeLeft < 0) autoplayTimeLeft = 0;
5478    proceed();
5479  };
5480  const resume = () => {
5481    if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return;
5482    autoplayStartTime = new Date().getTime();
5483    if (pausedByInteraction) {
5484      pausedByInteraction = false;
5485      run(autoplayTimeLeft);
5486    } else {
5487      run();
5488    }
5489    swiper.autoplay.paused = false;
5490    emit('autoplayResume');
5491  };
5492  const onVisibilityChange = () => {
5493    if (swiper.destroyed || !swiper.autoplay.running) return;
5494    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
5495    if (document.visibilityState === 'hidden') {
5496      pausedByInteraction = true;
5497      pause(true);
5498    }
5499    if (document.visibilityState === 'visible') {
5500      resume();
5501    }
5502  };
5503  const onPointerEnter = e => {
5504    if (e.pointerType !== 'mouse') return;
5505    pausedByInteraction = true;
5506    pause(true);
5507  };
5508  const onPointerLeave = e => {
5509    if (e.pointerType !== 'mouse') return;
5510    if (swiper.autoplay.paused) {
5511      resume();
5512    }
5513  };
5514  const attachMouseEvents = () => {
5515    if (swiper.params.autoplay.pauseOnMouseEnter) {
5516      swiper.el.addEventListener('pointerenter', onPointerEnter);
5517      swiper.el.addEventListener('pointerleave', onPointerLeave);
5518    }
5519  };
5520  const detachMouseEvents = () => {
5521    swiper.el.removeEventListener('pointerenter', onPointerEnter);
5522    swiper.el.removeEventListener('pointerleave', onPointerLeave);
5523  };
5524  const attachDocumentEvents = () => {
5525    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
5526    document.addEventListener('visibilitychange', onVisibilityChange);
5527  };
5528  const detachDocumentEvents = () => {
5529    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
5530    document.removeEventListener('visibilitychange', onVisibilityChange);
5531  };
5532  on('init', () => {
5533    if (swiper.params.autoplay.enabled) {
5534      attachMouseEvents();
5535      attachDocumentEvents();
5536      autoplayStartTime = new Date().getTime();
5537      start();
5538    }
5539  });
5540  on('destroy', () => {
5541    detachMouseEvents();
5542    detachDocumentEvents();
5543    if (swiper.autoplay.running) {
5544      stop();
5545    }
5546  });
5547  on('beforeTransitionStart', (_s, speed, internal) => {
5548    if (swiper.destroyed || !swiper.autoplay.running) return;
5549    if (internal || !swiper.params.autoplay.disableOnInteraction) {
5550      pause(true, true);
5551    } else {
5552      stop();
5553    }
5554  });
5555  on('sliderFirstMove', () => {
5556    if (swiper.destroyed || !swiper.autoplay.running) return;
5557    if (swiper.params.autoplay.disableOnInteraction) {
5558      stop();
5559      return;
5560    }
5561    isTouched = true;
5562    pausedByTouch = false;
5563    pausedByInteraction = false;
5564    touchStartTimeout = setTimeout(() => {
5565      pausedByInteraction = true;
5566      pausedByTouch = true;
5567      pause(true);
5568    }, 200);
5569  });
5570  on('touchEnd', () => {
5571    if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return;
5572    clearTimeout(touchStartTimeout);
5573    clearTimeout(timeout);
5574    if (swiper.params.autoplay.disableOnInteraction) {
5575      pausedByTouch = false;
5576      isTouched = false;
5577      return;
5578    }
5579    if (pausedByTouch && swiper.params.cssMode) resume();
5580    pausedByTouch = false;
5581    isTouched = false;
5582  });
5583  on('slideChange', () => {
5584    if (swiper.destroyed || !swiper.autoplay.running) return;
5585    slideChanged = true;
5586  });
5587  Object.assign(swiper.autoplay, {
5588    start,
5589    stop,
5590    pause,
5591    resume
5592  });
5593}
5594
5595/***/ }),
5596
vendor: 7,240 bytes, lines 5597-5793
5597/***/ "../../node_modules/swiper/modules/controller/controller.js":
5598/*!******************************************************************!*\
5599  !*** ../../node_modules/swiper/modules/controller/controller.js ***!
5600  \******************************************************************/
5601/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
5602
5603__webpack_require__.r(__webpack_exports__);
5604/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5605/* harmony export */   "default": function() { return /* binding */ Controller; }
5606/* harmony export */ });
5607/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
5608/* eslint no-bitwise: ["error", { "allow": [">>"] }] */
5609
5610function Controller({
5611  swiper,
5612  extendParams,
5613  on
5614}) {
5615  extendParams({
5616    controller: {
5617      control: undefined,
5618      inverse: false,
5619      by: 'slide' // or 'container'
5620    }
5621  });
5622
5623  swiper.controller = {
5624    control: undefined
5625  };
5626  function LinearSpline(x, y) {
5627    const binarySearch = function search() {
5628      let maxIndex;
5629      let minIndex;
5630      let guess;
5631      return (array, val) => {
5632        minIndex = -1;
5633        maxIndex = array.length;
5634        while (maxIndex - minIndex > 1) {
5635          guess = maxIndex + minIndex >> 1;
5636          if (array[guess] <= val) {
5637            minIndex = guess;
5638          } else {
5639            maxIndex = guess;
5640          }
5641        }
5642        return maxIndex;
5643      };
5644    }();
5645    this.x = x;
5646    this.y = y;
5647    this.lastIndex = x.length - 1;
5648    // Given an x value (x2), return the expected y2 value:
5649    // (x1,y1) is the known point before given value,
5650    // (x3,y3) is the known point after given value.
5651    let i1;
5652    let i3;
5653    this.interpolate = function interpolate(x2) {
5654      if (!x2) return 0;
5655
5656      // Get the indexes of x1 and x3 (the array indexes before and after given x2):
5657      i3 = binarySearch(this.x, x2);
5658      i1 = i3 - 1;
5659
5660      // We have our indexes i1 & i3, so we can calculate already:
5661      // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1
5662      return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];
5663    };
5664    return this;
5665  }
5666  function getInterpolateFunction(c) {
5667    swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid);
5668  }
5669  function setTranslate(_t, byController) {
5670    const controlled = swiper.controller.control;
5671    let multiplier;
5672    let controlledTranslate;
5673    const Swiper = swiper.constructor;
5674    function setControlledTranslate(c) {
5675      if (c.destroyed) return;
5676
5677      // this will create an Interpolate function based on the snapGrids
5678      // x is the Grid of the scrolled scroller and y will be the controlled scroller
5679      // it makes sense to create this only once and recall it for the interpolation
5680      // the function does a lot of value caching for performance
5681      const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;
5682      if (swiper.params.controller.by === 'slide') {
5683        getInterpolateFunction(c);
5684        // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid
5685        // but it did not work out
5686        controlledTranslate = -swiper.controller.spline.interpolate(-translate);
5687      }
5688      if (!controlledTranslate || swiper.params.controller.by === 'container') {
5689        multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());
5690        if (Number.isNaN(multiplier) || !Number.isFinite(multiplier)) {
5691          multiplier = 1;
5692        }
5693        controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();
5694      }
5695      if (swiper.params.controller.inverse) {
5696        controlledTranslate = c.maxTranslate() - controlledTranslate;
5697      }
5698      c.updateProgress(controlledTranslate);
5699      c.setTranslate(controlledTranslate, swiper);
5700      c.updateActiveIndex();
5701      c.updateSlidesClasses();
5702    }
5703    if (Array.isArray(controlled)) {
5704      for (let i = 0; i < controlled.length; i += 1) {
5705        if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
5706          setControlledTranslate(controlled[i]);
5707        }
5708      }
5709    } else if (controlled instanceof Swiper && byController !== controlled) {
5710      setControlledTranslate(controlled);
5711    }
5712  }
5713  function setTransition(duration, byController) {
5714    const Swiper = swiper.constructor;
5715    const controlled = swiper.controller.control;
5716    let i;
5717    function setControlledTransition(c) {
5718      if (c.destroyed) return;
5719      c.setTransition(duration, swiper);
5720      if (duration !== 0) {
5721        c.transitionStart();
5722        if (c.params.autoHeight) {
5723          (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {
5724            c.updateAutoHeight();
5725          });
5726        }
5727        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(c.wrapperEl, () => {
5728          if (!controlled) return;
5729          c.transitionEnd();
5730        });
5731      }
5732    }
5733    if (Array.isArray(controlled)) {
5734      for (i = 0; i < controlled.length; i += 1) {
5735        if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
5736          setControlledTransition(controlled[i]);
5737        }
5738      }
5739    } else if (controlled instanceof Swiper && byController !== controlled) {
5740      setControlledTransition(controlled);
5741    }
5742  }
5743  function removeSpline() {
5744    if (!swiper.controller.control) return;
5745    if (swiper.controller.spline) {
5746      swiper.controller.spline = undefined;
5747      delete swiper.controller.spline;
5748    }
5749  }
5750  on('beforeInit', () => {
5751    if (typeof window !== 'undefined' && (
5752    // eslint-disable-line
5753    typeof swiper.params.controller.control === 'string' || swiper.params.controller.control instanceof HTMLElement)) {
5754      const controlElement = document.querySelector(swiper.params.controller.control);
5755      if (controlElement && controlElement.swiper) {
5756        swiper.controller.control = controlElement.swiper;
5757      } else if (controlElement) {
5758        const onControllerSwiper = e => {
5759          swiper.controller.control = e.detail[0];
5760          swiper.update();
5761          controlElement.removeEventListener('init', onControllerSwiper);
5762        };
5763        controlElement.addEventListener('init', onControllerSwiper);
5764      }
5765      return;
5766    }
5767    swiper.controller.control = swiper.params.controller.control;
5768  });
5769  on('update', () => {
5770    removeSpline();
5771  });
5772  on('resize', () => {
5773    removeSpline();
5774  });
5775  on('observerUpdate', () => {
5776    removeSpline();
5777  });
5778  on('setTranslate', (_s, translate, byController) => {
5779    if (!swiper.controller.control || swiper.controller.control.destroyed) return;
5780    swiper.controller.setTranslate(translate, byController);
5781  });
5782  on('setTransition', (_s, duration, byController) => {
5783    if (!swiper.controller.control || swiper.controller.control.destroyed) return;
5784    swiper.controller.setTransition(duration, byController);
5785  });
5786  Object.assign(swiper.controller, {
5787    setTranslate,
5788    setTransition
5789  });
5790}
5791
5792/***/ }),
5793
vendor: 6,017 bytes, lines 5794-5932
5794/***/ "../../node_modules/swiper/modules/effect-cards/effect-cards.js":
5795/*!**********************************************************************!*\
5796  !*** ../../node_modules/swiper/modules/effect-cards/effect-cards.js ***!
5797  \**********************************************************************/
5798/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
5799
5800__webpack_require__.r(__webpack_exports__);
5801/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5802/* harmony export */   "default": function() { return /* binding */ EffectCards; }
5803/* harmony export */ });
5804/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "../../node_modules/swiper/shared/create-shadow.js");
5805/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "../../node_modules/swiper/shared/effect-init.js");
5806/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "../../node_modules/swiper/shared/effect-target.js");
5807/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "../../node_modules/swiper/shared/effect-virtual-transition-end.js");
5808/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
5809
5810
5811
5812
5813
5814function EffectCards({
5815  swiper,
5816  extendParams,
5817  on
5818}) {
5819  extendParams({
5820    cardsEffect: {
5821      slideShadows: true,
5822      rotate: true,
5823      perSlideRotate: 2,
5824      perSlideOffset: 8
5825    }
5826  });
5827  const setTranslate = () => {
5828    const {
5829      slides,
5830      activeIndex,
5831      rtlTranslate: rtl
5832    } = swiper;
5833    const params = swiper.params.cardsEffect;
5834    const {
5835      startTranslate,
5836      isTouched
5837    } = swiper.touchEventsData;
5838    const currentTranslate = rtl ? -swiper.translate : swiper.translate;
5839    for (let i = 0; i < slides.length; i += 1) {
5840      const slideEl = slides[i];
5841      const slideProgress = slideEl.progress;
5842      const progress = Math.min(Math.max(slideProgress, -4), 4);
5843      let offset = slideEl.swiperSlideOffset;
5844      if (swiper.params.centeredSlides && !swiper.params.cssMode) {
5845        swiper.wrapperEl.style.transform = `translateX(${swiper.minTranslate()}px)`;
5846      }
5847      if (swiper.params.centeredSlides && swiper.params.cssMode) {
5848        offset -= slides[0].swiperSlideOffset;
5849      }
5850      let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset;
5851      let tY = 0;
5852      const tZ = -100 * Math.abs(progress);
5853      let scale = 1;
5854      let rotate = -params.perSlideRotate * progress;
5855      let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75;
5856      const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i;
5857      const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate;
5858      const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate;
5859      if (isSwipeToNext || isSwipeToPrev) {
5860        const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;
5861        rotate += -28 * progress * subProgress;
5862        scale += -0.5 * subProgress;
5863        tXAdd += 96 * subProgress;
5864        tY = `${-25 * subProgress * Math.abs(progress)}%`;
5865      }
5866      if (progress < 0) {
5867        // next
5868        tX = `calc(${tX}px ${rtl ? '-' : '+'} (${tXAdd * Math.abs(progress)}%))`;
5869      } else if (progress > 0) {
5870        // prev
5871        tX = `calc(${tX}px ${rtl ? '-' : '+'} (-${tXAdd * Math.abs(progress)}%))`;
5872      } else {
5873        tX = `${tX}px`;
5874      }
5875      if (!swiper.isHorizontal()) {
5876        const prevY = tY;
5877        tY = tX;
5878        tX = prevY;
5879      }
5880      const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`;
5881
5882      /* eslint-disable */
5883      const transform = `
5884        translate3d(${tX}, ${tY}, ${tZ}px)
5885        rotateZ(${params.rotate ? rtl ? -rotate : rotate : 0}deg)
5886        scale(${scaleString})
5887      `;
5888      /* eslint-enable */
5889
5890      if (params.slideShadows) {
5891        // Set shadows
5892        let shadowEl = slideEl.querySelector('.swiper-slide-shadow');
5893        if (!shadowEl) {
5894          shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, slideEl);
5895        }
5896        if (shadowEl) shadowEl.style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);
5897      }
5898      slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;
5899      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, slideEl);
5900      targetEl.style.transform = transform;
5901    }
5902  };
5903  const setTransition = duration => {
5904    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_4__.getSlideTransformEl)(slideEl));
5905    transformElements.forEach(el => {
5906      el.style.transitionDuration = `${duration}ms`;
5907      el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => {
5908        shadowEl.style.transitionDuration = `${duration}ms`;
5909      });
5910    });
5911    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__["default"])({
5912      swiper,
5913      duration,
5914      transformElements
5915    });
5916  };
5917  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
5918    effect: 'cards',
5919    swiper,
5920    on,
5921    setTranslate,
5922    setTransition,
5923    perspective: () => true,
5924    overwriteParams: () => ({
5925      watchSlidesProgress: true,
5926      virtualTranslate: !swiper.params.cssMode
5927    })
5928  });
5929}
5930
5931/***/ }),
5932
vendor: 5,722 bytes, lines 5933-6048
5933/***/ "../../node_modules/swiper/modules/effect-coverflow/effect-coverflow.js":
5934/*!******************************************************************************!*\
5935  !*** ../../node_modules/swiper/modules/effect-coverflow/effect-coverflow.js ***!
5936  \******************************************************************************/
5937/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
5938
5939__webpack_require__.r(__webpack_exports__);
5940/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5941/* harmony export */   "default": function() { return /* binding */ EffectCoverflow; }
5942/* harmony export */ });
5943/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "../../node_modules/swiper/shared/create-shadow.js");
5944/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "../../node_modules/swiper/shared/effect-init.js");
5945/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "../../node_modules/swiper/shared/effect-target.js");
5946/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
5947
5948
5949
5950
5951function EffectCoverflow({
5952  swiper,
5953  extendParams,
5954  on
5955}) {
5956  extendParams({
5957    coverflowEffect: {
5958      rotate: 50,
5959      stretch: 0,
5960      depth: 100,
5961      scale: 1,
5962      modifier: 1,
5963      slideShadows: true
5964    }
5965  });
5966  const setTranslate = () => {
5967    const {
5968      width: swiperWidth,
5969      height: swiperHeight,
5970      slides,
5971      slidesSizesGrid
5972    } = swiper;
5973    const params = swiper.params.coverflowEffect;
5974    const isHorizontal = swiper.isHorizontal();
5975    const transform = swiper.translate;
5976    const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;
5977    const rotate = isHorizontal ? params.rotate : -params.rotate;
5978    const translate = params.depth;
5979    // Each slide offset from center
5980    for (let i = 0, length = slides.length; i < length; i += 1) {
5981      const slideEl = slides[i];
5982      const slideSize = slidesSizesGrid[i];
5983      const slideOffset = slideEl.swiperSlideOffset;
5984      const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;
5985      const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier;
5986      let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;
5987      let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;
5988      // var rotateZ = 0
5989      let translateZ = -translate * Math.abs(offsetMultiplier);
5990      let stretch = params.stretch;
5991      // Allow percentage to make a relative stretch for responsive sliders
5992      if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {
5993        stretch = parseFloat(params.stretch) / 100 * slideSize;
5994      }
5995      let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;
5996      let translateX = isHorizontal ? stretch * offsetMultiplier : 0;
5997      let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier);
5998
5999      // Fix for ultra small values
6000      if (Math.abs(translateX) < 0.001) translateX = 0;
6001      if (Math.abs(translateY) < 0.001) translateY = 0;
6002      if (Math.abs(translateZ) < 0.001) translateZ = 0;
6003      if (Math.abs(rotateY) < 0.001) rotateY = 0;
6004      if (Math.abs(rotateX) < 0.001) rotateX = 0;
6005      if (Math.abs(scale) < 0.001) scale = 0;
6006      const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px)  rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;
6007      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, slideEl);
6008      targetEl.style.transform = slideTransform;
6009      slideEl.style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;
6010      if (params.slideShadows) {
6011        // Set shadows
6012        let shadowBeforeEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');
6013        let shadowAfterEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');
6014        if (!shadowBeforeEl) {
6015          shadowBeforeEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, slideEl, isHorizontal ? 'left' : 'top');
6016        }
6017        if (!shadowAfterEl) {
6018          shadowAfterEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, slideEl, isHorizontal ? 'right' : 'bottom');
6019        }
6020        if (shadowBeforeEl) shadowBeforeEl.style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;
6021        if (shadowAfterEl) shadowAfterEl.style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;
6022      }
6023    }
6024  };
6025  const setTransition = duration => {
6026    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_3__.getSlideTransformEl)(slideEl));
6027    transformElements.forEach(el => {
6028      el.style.transitionDuration = `${duration}ms`;
6029      el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => {
6030        shadowEl.style.transitionDuration = `${duration}ms`;
6031      });
6032    });
6033  };
6034  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
6035    effect: 'coverflow',
6036    swiper,
6037    on,
6038    setTranslate,
6039    setTransition,
6040    perspective: () => true,
6041    overwriteParams: () => ({
6042      watchSlidesProgress: true
6043    })
6044  });
6045}
6046
6047/***/ }),
6048
vendor: 6,439 bytes, lines 6049-6206
6049/***/ "../../node_modules/swiper/modules/effect-creative/effect-creative.js":
6050/*!****************************************************************************!*\
6051  !*** ../../node_modules/swiper/modules/effect-creative/effect-creative.js ***!
6052  \****************************************************************************/
6053/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6054
6055__webpack_require__.r(__webpack_exports__);
6056/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6057/* harmony export */   "default": function() { return /* binding */ EffectCreative; }
6058/* harmony export */ });
6059/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "../../node_modules/swiper/shared/create-shadow.js");
6060/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "../../node_modules/swiper/shared/effect-init.js");
6061/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "../../node_modules/swiper/shared/effect-target.js");
6062/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "../../node_modules/swiper/shared/effect-virtual-transition-end.js");
6063/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
6064
6065
6066
6067
6068
6069function EffectCreative({
6070  swiper,
6071  extendParams,
6072  on
6073}) {
6074  extendParams({
6075    creativeEffect: {
6076      limitProgress: 1,
6077      shadowPerProgress: false,
6078      progressMultiplier: 1,
6079      perspective: true,
6080      prev: {
6081        translate: [0, 0, 0],
6082        rotate: [0, 0, 0],
6083        opacity: 1,
6084        scale: 1
6085      },
6086      next: {
6087        translate: [0, 0, 0],
6088        rotate: [0, 0, 0],
6089        opacity: 1,
6090        scale: 1
6091      }
6092    }
6093  });
6094  const getTranslateValue = value => {
6095    if (typeof value === 'string') return value;
6096    return `${value}px`;
6097  };
6098  const setTranslate = () => {
6099    const {
6100      slides,
6101      wrapperEl,
6102      slidesSizesGrid
6103    } = swiper;
6104    const params = swiper.params.creativeEffect;
6105    const {
6106      progressMultiplier: multiplier
6107    } = params;
6108    const isCenteredSlides = swiper.params.centeredSlides;
6109    if (isCenteredSlides) {
6110      const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;
6111      wrapperEl.style.transform = `translateX(calc(50% - ${margin}px))`;
6112    }
6113    for (let i = 0; i < slides.length; i += 1) {
6114      const slideEl = slides[i];
6115      const slideProgress = slideEl.progress;
6116      const progress = Math.min(Math.max(slideEl.progress, -params.limitProgress), params.limitProgress);
6117      let originalProgress = progress;
6118      if (!isCenteredSlides) {
6119        originalProgress = Math.min(Math.max(slideEl.originalProgress, -params.limitProgress), params.limitProgress);
6120      }
6121      const offset = slideEl.swiperSlideOffset;
6122      const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0];
6123      const r = [0, 0, 0];
6124      let custom = false;
6125      if (!swiper.isHorizontal()) {
6126        t[1] = t[0];
6127        t[0] = 0;
6128      }
6129      let data = {
6130        translate: [0, 0, 0],
6131        rotate: [0, 0, 0],
6132        scale: 1,
6133        opacity: 1
6134      };
6135      if (progress < 0) {
6136        data = params.next;
6137        custom = true;
6138      } else if (progress > 0) {
6139        data = params.prev;
6140        custom = true;
6141      }
6142      // set translate
6143      t.forEach((value, index) => {
6144        t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`;
6145      });
6146      // set rotates
6147      r.forEach((value, index) => {
6148        r[index] = data.rotate[index] * Math.abs(progress * multiplier);
6149      });
6150      slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;
6151      const translateString = t.join(', ');
6152      const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`;
6153      const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;
6154      const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier;
6155      const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`;
6156
6157      // Set shadows
6158      if (custom && data.shadow || !custom) {
6159        let shadowEl = slideEl.querySelector('.swiper-slide-shadow');
6160        if (!shadowEl && data.shadow) {
6161          shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, slideEl);
6162        }
6163        if (shadowEl) {
6164          const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress;
6165          shadowEl.style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);
6166        }
6167      }
6168      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, slideEl);
6169      targetEl.style.transform = transform;
6170      targetEl.style.opacity = opacityString;
6171      if (data.origin) {
6172        targetEl.style.transformOrigin = data.origin;
6173      }
6174    }
6175  };
6176  const setTransition = duration => {
6177    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_4__.getSlideTransformEl)(slideEl));
6178    transformElements.forEach(el => {
6179      el.style.transitionDuration = `${duration}ms`;
6180      el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => {
6181        shadowEl.style.transitionDuration = `${duration}ms`;
6182      });
6183    });
6184    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__["default"])({
6185      swiper,
6186      duration,
6187      transformElements,
6188      allSlides: true
6189    });
6190  };
6191  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
6192    effect: 'creative',
6193    swiper,
6194    on,
6195    setTranslate,
6196    setTransition,
6197    perspective: () => swiper.params.creativeEffect.perspective,
6198    overwriteParams: () => ({
6199      watchSlidesProgress: true,
6200      virtualTranslate: !swiper.params.cssMode
6201    })
6202  });
6203}
6204
6205/***/ }),
6206
vendor: 7,543 bytes, lines 6207-6390
6207/***/ "../../node_modules/swiper/modules/effect-cube/effect-cube.js":
6208/*!********************************************************************!*\
6209  !*** ../../node_modules/swiper/modules/effect-cube/effect-cube.js ***!
6210  \********************************************************************/
6211/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6212
6213__webpack_require__.r(__webpack_exports__);
6214/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6215/* harmony export */   "default": function() { return /* binding */ EffectCube; }
6216/* harmony export */ });
6217/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/effect-init.js */ "../../node_modules/swiper/shared/effect-init.js");
6218/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
6219
6220
6221function EffectCube({
6222  swiper,
6223  extendParams,
6224  on
6225}) {
6226  extendParams({
6227    cubeEffect: {
6228      slideShadows: true,
6229      shadow: true,
6230      shadowOffset: 20,
6231      shadowScale: 0.94
6232    }
6233  });
6234  const createSlideShadows = (slideEl, progress, isHorizontal) => {
6235    let shadowBefore = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');
6236    let shadowAfter = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');
6237    if (!shadowBefore) {
6238      shadowBefore = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', `swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}`);
6239      slideEl.append(shadowBefore);
6240    }
6241    if (!shadowAfter) {
6242      shadowAfter = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', `swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}`);
6243      slideEl.append(shadowAfter);
6244    }
6245    if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);
6246    if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);
6247  };
6248  const recreateShadows = () => {
6249    // create new ones
6250    const isHorizontal = swiper.isHorizontal();
6251    swiper.slides.forEach(slideEl => {
6252      const progress = Math.max(Math.min(slideEl.progress, 1), -1);
6253      createSlideShadows(slideEl, progress, isHorizontal);
6254    });
6255  };
6256  const setTranslate = () => {
6257    const {
6258      el,
6259      wrapperEl,
6260      slides,
6261      width: swiperWidth,
6262      height: swiperHeight,
6263      rtlTranslate: rtl,
6264      size: swiperSize,
6265      browser
6266    } = swiper;
6267    const params = swiper.params.cubeEffect;
6268    const isHorizontal = swiper.isHorizontal();
6269    const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
6270    let wrapperRotate = 0;
6271    let cubeShadowEl;
6272    if (params.shadow) {
6273      if (isHorizontal) {
6274        cubeShadowEl = swiper.slidesEl.querySelector('.swiper-cube-shadow');
6275        if (!cubeShadowEl) {
6276          cubeShadowEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', 'swiper-cube-shadow');
6277          swiper.slidesEl.append(cubeShadowEl);
6278        }
6279        cubeShadowEl.style.height = `${swiperWidth}px`;
6280      } else {
6281        cubeShadowEl = el.querySelector('.swiper-cube-shadow');
6282        if (!cubeShadowEl) {
6283          cubeShadowEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', 'swiper-cube-shadow');
6284          el.append(cubeShadowEl);
6285        }
6286      }
6287    }
6288    for (let i = 0; i < slides.length; i += 1) {
6289      const slideEl = slides[i];
6290      let slideIndex = i;
6291      if (isVirtual) {
6292        slideIndex = parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10);
6293      }
6294      let slideAngle = slideIndex * 90;
6295      let round = Math.floor(slideAngle / 360);
6296      if (rtl) {
6297        slideAngle = -slideAngle;
6298        round = Math.floor(-slideAngle / 360);
6299      }
6300      const progress = Math.max(Math.min(slideEl.progress, 1), -1);
6301      let tx = 0;
6302      let ty = 0;
6303      let tz = 0;
6304      if (slideIndex % 4 === 0) {
6305        tx = -round * 4 * swiperSize;
6306        tz = 0;
6307      } else if ((slideIndex - 1) % 4 === 0) {
6308        tx = 0;
6309        tz = -round * 4 * swiperSize;
6310      } else if ((slideIndex - 2) % 4 === 0) {
6311        tx = swiperSize + round * 4 * swiperSize;
6312        tz = swiperSize;
6313      } else if ((slideIndex - 3) % 4 === 0) {
6314        tx = -swiperSize;
6315        tz = 3 * swiperSize + swiperSize * 4 * round;
6316      }
6317      if (rtl) {
6318        tx = -tx;
6319      }
6320      if (!isHorizontal) {
6321        ty = tx;
6322        tx = 0;
6323      }
6324      const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;
6325      if (progress <= 1 && progress > -1) {
6326        wrapperRotate = slideIndex * 90 + progress * 90;
6327        if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;
6328      }
6329      slideEl.style.transform = transform;
6330      if (params.slideShadows) {
6331        createSlideShadows(slideEl, progress, isHorizontal);
6332      }
6333    }
6334    wrapperEl.style.transformOrigin = `50% 50% -${swiperSize / 2}px`;
6335    wrapperEl.style['-webkit-transform-origin'] = `50% 50% -${swiperSize / 2}px`;
6336    if (params.shadow) {
6337      if (isHorizontal) {
6338        cubeShadowEl.style.transform = `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(90deg) rotateZ(0deg) scale(${params.shadowScale})`;
6339      } else {
6340        const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;
6341        const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);
6342        const scale1 = params.shadowScale;
6343        const scale2 = params.shadowScale / multiplier;
6344        const offset = params.shadowOffset;
6345        cubeShadowEl.style.transform = `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-90deg)`;
6346      }
6347    }
6348    const zFactor = (browser.isSafari || browser.isWebView) && browser.needPerspectiveFix ? -swiperSize / 2 : 0;
6349    wrapperEl.style.transform = `translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`;
6350    wrapperEl.style.setProperty('--swiper-cube-translate-z', `${zFactor}px`);
6351  };
6352  const setTransition = duration => {
6353    const {
6354      el,
6355      slides
6356    } = swiper;
6357    slides.forEach(slideEl => {
6358      slideEl.style.transitionDuration = `${duration}ms`;
6359      slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(subEl => {
6360        subEl.style.transitionDuration = `${duration}ms`;
6361      });
6362    });
6363    if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {
6364      const shadowEl = el.querySelector('.swiper-cube-shadow');
6365      if (shadowEl) shadowEl.style.transitionDuration = `${duration}ms`;
6366    }
6367  };
6368  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
6369    effect: 'cube',
6370    swiper,
6371    on,
6372    setTranslate,
6373    setTransition,
6374    recreateShadows,
6375    getEffectParams: () => swiper.params.cubeEffect,
6376    perspective: () => true,
6377    overwriteParams: () => ({
6378      slidesPerView: 1,
6379      slidesPerGroup: 1,
6380      watchSlidesProgress: true,
6381      resistanceRatio: 0,
6382      spaceBetween: 0,
6383      centeredSlides: false,
6384      virtualTranslate: true
6385    })
6386  });
6387}
6388
6389/***/ }),
6390
vendor: 3,175 bytes, lines 6391-6469
6391/***/ "../../node_modules/swiper/modules/effect-fade/effect-fade.js":
6392/*!********************************************************************!*\
6393  !*** ../../node_modules/swiper/modules/effect-fade/effect-fade.js ***!
6394  \********************************************************************/
6395/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6396
6397__webpack_require__.r(__webpack_exports__);
6398/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6399/* harmony export */   "default": function() { return /* binding */ EffectFade; }
6400/* harmony export */ });
6401/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/effect-init.js */ "../../node_modules/swiper/shared/effect-init.js");
6402/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-target.js */ "../../node_modules/swiper/shared/effect-target.js");
6403/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "../../node_modules/swiper/shared/effect-virtual-transition-end.js");
6404/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
6405
6406
6407
6408
6409function EffectFade({
6410  swiper,
6411  extendParams,
6412  on
6413}) {
6414  extendParams({
6415    fadeEffect: {
6416      crossFade: false
6417    }
6418  });
6419  const setTranslate = () => {
6420    const {
6421      slides
6422    } = swiper;
6423    const params = swiper.params.fadeEffect;
6424    for (let i = 0; i < slides.length; i += 1) {
6425      const slideEl = swiper.slides[i];
6426      const offset = slideEl.swiperSlideOffset;
6427      let tx = -offset;
6428      if (!swiper.params.virtualTranslate) tx -= swiper.translate;
6429      let ty = 0;
6430      if (!swiper.isHorizontal()) {
6431        ty = tx;
6432        tx = 0;
6433      }
6434      const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0) : 1 + Math.min(Math.max(slideEl.progress, -1), 0);
6435      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params, slideEl);
6436      targetEl.style.opacity = slideOpacity;
6437      targetEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`;
6438    }
6439  };
6440  const setTransition = duration => {
6441    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_3__.getSlideTransformEl)(slideEl));
6442    transformElements.forEach(el => {
6443      el.style.transitionDuration = `${duration}ms`;
6444    });
6445    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__["default"])({
6446      swiper,
6447      duration,
6448      transformElements,
6449      allSlides: true
6450    });
6451  };
6452  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
6453    effect: 'fade',
6454    swiper,
6455    on,
6456    setTranslate,
6457    setTransition,
6458    overwriteParams: () => ({
6459      slidesPerView: 1,
6460      slidesPerGroup: 1,
6461      watchSlidesProgress: true,
6462      spaceBetween: 0,
6463      virtualTranslate: !swiper.params.cssMode
6464    })
6465  });
6466}
6467
6468/***/ }),
6469
vendor: 5,361 bytes, lines 6470-6593
6470/***/ "../../node_modules/swiper/modules/effect-flip/effect-flip.js":
6471/*!********************************************************************!*\
6472  !*** ../../node_modules/swiper/modules/effect-flip/effect-flip.js ***!
6473  \********************************************************************/
6474/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6475
6476__webpack_require__.r(__webpack_exports__);
6477/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6478/* harmony export */   "default": function() { return /* binding */ EffectFlip; }
6479/* harmony export */ });
6480/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "../../node_modules/swiper/shared/create-shadow.js");
6481/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "../../node_modules/swiper/shared/effect-init.js");
6482/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "../../node_modules/swiper/shared/effect-target.js");
6483/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "../../node_modules/swiper/shared/effect-virtual-transition-end.js");
6484/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
6485
6486
6487
6488
6489
6490function EffectFlip({
6491  swiper,
6492  extendParams,
6493  on
6494}) {
6495  extendParams({
6496    flipEffect: {
6497      slideShadows: true,
6498      limitRotation: true
6499    }
6500  });
6501  const createSlideShadows = (slideEl, progress, params) => {
6502    let shadowBefore = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');
6503    let shadowAfter = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');
6504    if (!shadowBefore) {
6505      shadowBefore = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, slideEl, swiper.isHorizontal() ? 'left' : 'top');
6506    }
6507    if (!shadowAfter) {
6508      shadowAfter = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, slideEl, swiper.isHorizontal() ? 'right' : 'bottom');
6509    }
6510    if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);
6511    if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);
6512  };
6513  const recreateShadows = () => {
6514    // Set shadows
6515    const params = swiper.params.flipEffect;
6516    swiper.slides.forEach(slideEl => {
6517      let progress = slideEl.progress;
6518      if (swiper.params.flipEffect.limitRotation) {
6519        progress = Math.max(Math.min(slideEl.progress, 1), -1);
6520      }
6521      createSlideShadows(slideEl, progress, params);
6522    });
6523  };
6524  const setTranslate = () => {
6525    const {
6526      slides,
6527      rtlTranslate: rtl
6528    } = swiper;
6529    const params = swiper.params.flipEffect;
6530    for (let i = 0; i < slides.length; i += 1) {
6531      const slideEl = slides[i];
6532      let progress = slideEl.progress;
6533      if (swiper.params.flipEffect.limitRotation) {
6534        progress = Math.max(Math.min(slideEl.progress, 1), -1);
6535      }
6536      const offset = slideEl.swiperSlideOffset;
6537      const rotate = -180 * progress;
6538      let rotateY = rotate;
6539      let rotateX = 0;
6540      let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset;
6541      let ty = 0;
6542      if (!swiper.isHorizontal()) {
6543        ty = tx;
6544        tx = 0;
6545        rotateX = -rotateY;
6546        rotateY = 0;
6547      } else if (rtl) {
6548        rotateY = -rotateY;
6549      }
6550      slideEl.style.zIndex = -Math.abs(Math.round(progress)) + slides.length;
6551      if (params.slideShadows) {
6552        createSlideShadows(slideEl, progress, params);
6553      }
6554      const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`;
6555      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, slideEl);
6556      targetEl.style.transform = transform;
6557    }
6558  };
6559  const setTransition = duration => {
6560    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_4__.getSlideTransformEl)(slideEl));
6561    transformElements.forEach(el => {
6562      el.style.transitionDuration = `${duration}ms`;
6563      el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => {
6564        shadowEl.style.transitionDuration = `${duration}ms`;
6565      });
6566    });
6567    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__["default"])({
6568      swiper,
6569      duration,
6570      transformElements
6571    });
6572  };
6573  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
6574    effect: 'flip',
6575    swiper,
6576    on,
6577    setTranslate,
6578    setTransition,
6579    recreateShadows,
6580    getEffectParams: () => swiper.params.flipEffect,
6581    perspective: () => true,
6582    overwriteParams: () => ({
6583      slidesPerView: 1,
6584      slidesPerGroup: 1,
6585      watchSlidesProgress: true,
6586      spaceBetween: 0,
6587      virtualTranslate: !swiper.params.cssMode
6588    })
6589  });
6590}
6591
6592/***/ }),
6593
vendor: 9,262 bytes, lines 6594-6838
6594/***/ "../../node_modules/swiper/modules/free-mode/free-mode.js":
6595/*!****************************************************************!*\
6596  !*** ../../node_modules/swiper/modules/free-mode/free-mode.js ***!
6597  \****************************************************************/
6598/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6599
6600__webpack_require__.r(__webpack_exports__);
6601/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6602/* harmony export */   "default": function() { return /* binding */ freeMode; }
6603/* harmony export */ });
6604/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
6605
6606function freeMode({
6607  swiper,
6608  extendParams,
6609  emit,
6610  once
6611}) {
6612  extendParams({
6613    freeMode: {
6614      enabled: false,
6615      momentum: true,
6616      momentumRatio: 1,
6617      momentumBounce: true,
6618      momentumBounceRatio: 1,
6619      momentumVelocityRatio: 1,
6620      sticky: false,
6621      minimumVelocity: 0.02
6622    }
6623  });
6624  function onTouchStart() {
6625    if (swiper.params.cssMode) return;
6626    const translate = swiper.getTranslate();
6627    swiper.setTranslate(translate);
6628    swiper.setTransition(0);
6629    swiper.touchEventsData.velocities.length = 0;
6630    swiper.freeMode.onTouchEnd({
6631      currentPos: swiper.rtl ? swiper.translate : -swiper.translate
6632    });
6633  }
6634  function onTouchMove() {
6635    if (swiper.params.cssMode) return;
6636    const {
6637      touchEventsData: data,
6638      touches
6639    } = swiper;
6640    // Velocity
6641    if (data.velocities.length === 0) {
6642      data.velocities.push({
6643        position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],
6644        time: data.touchStartTime
6645      });
6646    }
6647    data.velocities.push({
6648      position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],
6649      time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)()
6650    });
6651  }
6652  function onTouchEnd({
6653    currentPos
6654  }) {
6655    if (swiper.params.cssMode) return;
6656    const {
6657      params,
6658      wrapperEl,
6659      rtlTranslate: rtl,
6660      snapGrid,
6661      touchEventsData: data
6662    } = swiper;
6663    // Time diff
6664    const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();
6665    const timeDiff = touchEndTime - data.touchStartTime;
6666    if (currentPos < -swiper.minTranslate()) {
6667      swiper.slideTo(swiper.activeIndex);
6668      return;
6669    }
6670    if (currentPos > -swiper.maxTranslate()) {
6671      if (swiper.slides.length < snapGrid.length) {
6672        swiper.slideTo(snapGrid.length - 1);
6673      } else {
6674        swiper.slideTo(swiper.slides.length - 1);
6675      }
6676      return;
6677    }
6678    if (params.freeMode.momentum) {
6679      if (data.velocities.length > 1) {
6680        const lastMoveEvent = data.velocities.pop();
6681        const velocityEvent = data.velocities.pop();
6682        const distance = lastMoveEvent.position - velocityEvent.position;
6683        const time = lastMoveEvent.time - velocityEvent.time;
6684        swiper.velocity = distance / time;
6685        swiper.velocity /= 2;
6686        if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {
6687          swiper.velocity = 0;
6688        }
6689        // this implies that the user stopped moving a finger then released.
6690        // There would be no events with distance zero, so the last event is stale.
6691        if (time > 150 || (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)() - lastMoveEvent.time > 300) {
6692          swiper.velocity = 0;
6693        }
6694      } else {
6695        swiper.velocity = 0;
6696      }
6697      swiper.velocity *= params.freeMode.momentumVelocityRatio;
6698      data.velocities.length = 0;
6699      let momentumDuration = 1000 * params.freeMode.momentumRatio;
6700      const momentumDistance = swiper.velocity * momentumDuration;
6701      let newPosition = swiper.translate + momentumDistance;
6702      if (rtl) newPosition = -newPosition;
6703      let doBounce = false;
6704      let afterBouncePosition;
6705      const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;
6706      let needsLoopFix;
6707      if (newPosition < swiper.maxTranslate()) {
6708        if (params.freeMode.momentumBounce) {
6709          if (newPosition + swiper.maxTranslate() < -bounceAmount) {
6710            newPosition = swiper.maxTranslate() - bounceAmount;
6711          }
6712          afterBouncePosition = swiper.maxTranslate();
6713          doBounce = true;
6714          data.allowMomentumBounce = true;
6715        } else {
6716          newPosition = swiper.maxTranslate();
6717        }
6718        if (params.loop && params.centeredSlides) needsLoopFix = true;
6719      } else if (newPosition > swiper.minTranslate()) {
6720        if (params.freeMode.momentumBounce) {
6721          if (newPosition - swiper.minTranslate() > bounceAmount) {
6722            newPosition = swiper.minTranslate() + bounceAmount;
6723          }
6724          afterBouncePosition = swiper.minTranslate();
6725          doBounce = true;
6726          data.allowMomentumBounce = true;
6727        } else {
6728          newPosition = swiper.minTranslate();
6729        }
6730        if (params.loop && params.centeredSlides) needsLoopFix = true;
6731      } else if (params.freeMode.sticky) {
6732        let nextSlide;
6733        for (let j = 0; j < snapGrid.length; j += 1) {
6734          if (snapGrid[j] > -newPosition) {
6735            nextSlide = j;
6736            break;
6737          }
6738        }
6739        if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {
6740          newPosition = snapGrid[nextSlide];
6741        } else {
6742          newPosition = snapGrid[nextSlide - 1];
6743        }
6744        newPosition = -newPosition;
6745      }
6746      if (needsLoopFix) {
6747        once('transitionEnd', () => {
6748          swiper.loopFix();
6749        });
6750      }
6751      // Fix duration
6752      if (swiper.velocity !== 0) {
6753        if (rtl) {
6754          momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);
6755        } else {
6756          momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);
6757        }
6758        if (params.freeMode.sticky) {
6759          // If freeMode.sticky is active and the user ends a swipe with a slow-velocity
6760          // event, then durations can be 20+ seconds to slide one (or zero!) slides.
6761          // It's easy to see this when simulating touch with mouse events. To fix this,
6762          // limit single-slide swipes to the default slide duration. This also has the
6763          // nice side effect of matching slide speed if the user stopped moving before
6764          // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.
6765          // For faster swipes, also apply limits (albeit higher ones).
6766          const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);
6767          const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];
6768          if (moveDistance < currentSlideSize) {
6769            momentumDuration = params.speed;
6770          } else if (moveDistance < 2 * currentSlideSize) {
6771            momentumDuration = params.speed * 1.5;
6772          } else {
6773            momentumDuration = params.speed * 2.5;
6774          }
6775        }
6776      } else if (params.freeMode.sticky) {
6777        swiper.slideToClosest();
6778        return;
6779      }
6780      if (params.freeMode.momentumBounce && doBounce) {
6781        swiper.updateProgress(afterBouncePosition);
6782        swiper.setTransition(momentumDuration);
6783        swiper.setTranslate(newPosition);
6784        swiper.transitionStart(true, swiper.swipeDirection);
6785        swiper.animating = true;
6786        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(wrapperEl, () => {
6787          if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;
6788          emit('momentumBounce');
6789          swiper.setTransition(params.speed);
6790          setTimeout(() => {
6791            swiper.setTranslate(afterBouncePosition);
6792            (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(wrapperEl, () => {
6793              if (!swiper || swiper.destroyed) return;
6794              swiper.transitionEnd();
6795            });
6796          }, 0);
6797        });
6798      } else if (swiper.velocity) {
6799        emit('_freeModeNoMomentumRelease');
6800        swiper.updateProgress(newPosition);
6801        swiper.setTransition(momentumDuration);
6802        swiper.setTranslate(newPosition);
6803        swiper.transitionStart(true, swiper.swipeDirection);
6804        if (!swiper.animating) {
6805          swiper.animating = true;
6806          (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(wrapperEl, () => {
6807            if (!swiper || swiper.destroyed) return;
6808            swiper.transitionEnd();
6809          });
6810        }
6811      } else {
6812        swiper.updateProgress(newPosition);
6813      }
6814      swiper.updateActiveIndex();
6815      swiper.updateSlidesClasses();
6816    } else if (params.freeMode.sticky) {
6817      swiper.slideToClosest();
6818      return;
6819    } else if (params.freeMode) {
6820      emit('_freeModeNoMomentumRelease');
6821    }
6822    if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {
6823      swiper.updateProgress();
6824      swiper.updateActiveIndex();
6825      swiper.updateSlidesClasses();
6826    }
6827  }
6828  Object.assign(swiper, {
6829    freeMode: {
6830      onTouchStart,
6831      onTouchMove,
6832      onTouchEnd
6833    }
6834  });
6835}
6836
6837/***/ }),
6838
vendor: 4,229 bytes, lines 6839-6960
6839/***/ "../../node_modules/swiper/modules/grid/grid.js":
6840/*!******************************************************!*\
6841  !*** ../../node_modules/swiper/modules/grid/grid.js ***!
6842  \******************************************************/
6843/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6844
6845__webpack_require__.r(__webpack_exports__);
6846/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6847/* harmony export */   "default": function() { return /* binding */ Grid; }
6848/* harmony export */ });
6849function Grid({
6850  swiper,
6851  extendParams
6852}) {
6853  extendParams({
6854    grid: {
6855      rows: 1,
6856      fill: 'column'
6857    }
6858  });
6859  let slidesNumberEvenToRows;
6860  let slidesPerRow;
6861  let numFullColumns;
6862  const getSpaceBetween = () => {
6863    let spaceBetween = swiper.params.spaceBetween;
6864    if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {
6865      spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;
6866    } else if (typeof spaceBetween === 'string') {
6867      spaceBetween = parseFloat(spaceBetween);
6868    }
6869    return spaceBetween;
6870  };
6871  const initSlides = slidesLength => {
6872    const {
6873      slidesPerView
6874    } = swiper.params;
6875    const {
6876      rows,
6877      fill
6878    } = swiper.params.grid;
6879    numFullColumns = Math.floor(slidesLength / rows);
6880    if (Math.floor(slidesLength / rows) === slidesLength / rows) {
6881      slidesNumberEvenToRows = slidesLength;
6882    } else {
6883      slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;
6884    }
6885    if (slidesPerView !== 'auto' && fill === 'row') {
6886      slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);
6887    }
6888    slidesPerRow = slidesNumberEvenToRows / rows;
6889  };
6890  const updateSlide = (i, slide, slidesLength, getDirectionLabel) => {
6891    const {
6892      slidesPerGroup
6893    } = swiper.params;
6894    const spaceBetween = getSpaceBetween();
6895    const {
6896      rows,
6897      fill
6898    } = swiper.params.grid;
6899    // Set slides order
6900    let newSlideOrderIndex;
6901    let column;
6902    let row;
6903    if (fill === 'row' && slidesPerGroup > 1) {
6904      const groupIndex = Math.floor(i / (slidesPerGroup * rows));
6905      const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;
6906      const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);
6907      row = Math.floor(slideIndexInGroup / columnsInGroup);
6908      column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;
6909      newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows;
6910      slide.style.order = newSlideOrderIndex;
6911    } else if (fill === 'column') {
6912      column = Math.floor(i / rows);
6913      row = i - column * rows;
6914      if (column > numFullColumns || column === numFullColumns && row === rows - 1) {
6915        row += 1;
6916        if (row >= rows) {
6917          row = 0;
6918          column += 1;
6919        }
6920      }
6921    } else {
6922      row = Math.floor(i / slidesPerRow);
6923      column = i - row * slidesPerRow;
6924    }
6925    slide.row = row;
6926    slide.column = column;
6927    slide.style[getDirectionLabel('margin-top')] = row !== 0 ? spaceBetween && `${spaceBetween}px` : '';
6928  };
6929  const updateWrapperSize = (slideSize, snapGrid, getDirectionLabel) => {
6930    const {
6931      centeredSlides,
6932      roundLengths
6933    } = swiper.params;
6934    const spaceBetween = getSpaceBetween();
6935    const {
6936      rows
6937    } = swiper.params.grid;
6938    swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;
6939    swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;
6940    swiper.wrapperEl.style[getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;
6941    if (centeredSlides) {
6942      const newSlidesGrid = [];
6943      for (let i = 0; i < snapGrid.length; i += 1) {
6944        let slidesGridItem = snapGrid[i];
6945        if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);
6946        if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);
6947      }
6948      snapGrid.splice(0, snapGrid.length);
6949      snapGrid.push(...newSlidesGrid);
6950    }
6951  };
6952  swiper.grid = {
6953    initSlides,
6954    updateSlide,
6955    updateWrapperSize
6956  };
6957}
6958
6959/***/ }),
6960
vendor: 4,430 bytes, lines 6961-7064
6961/***/ "../../node_modules/swiper/modules/hash-navigation/hash-navigation.js":
6962/*!****************************************************************************!*\
6963  !*** ../../node_modules/swiper/modules/hash-navigation/hash-navigation.js ***!
6964  \****************************************************************************/
6965/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6966
6967__webpack_require__.r(__webpack_exports__);
6968/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6969/* harmony export */   "default": function() { return /* binding */ HashNavigation; }
6970/* harmony export */ });
6971/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
6972/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
6973
6974
6975function HashNavigation({
6976  swiper,
6977  extendParams,
6978  emit,
6979  on
6980}) {
6981  let initialized = false;
6982  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
6983  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
6984  extendParams({
6985    hashNavigation: {
6986      enabled: false,
6987      replaceState: false,
6988      watchState: false,
6989      getSlideIndex(_s, hash) {
6990        if (swiper.virtual && swiper.params.virtual.enabled) {
6991          const slideWithHash = swiper.slides.filter(slideEl => slideEl.getAttribute('data-hash') === hash)[0];
6992          if (!slideWithHash) return 0;
6993          const index = parseInt(slideWithHash.getAttribute('data-swiper-slide-index'), 10);
6994          return index;
6995        }
6996        return swiper.getSlideIndex((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash="${hash}"], swiper-slide[data-hash="${hash}"]`)[0]);
6997      }
6998    }
6999  });
7000  const onHashChange = () => {
7001    emit('hashChange');
7002    const newHash = document.location.hash.replace('#', '');
7003    const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`) : swiper.slides[swiper.activeIndex];
7004    const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') : '';
7005    if (newHash !== activeSlideHash) {
7006      const newIndex = swiper.params.hashNavigation.getSlideIndex(swiper, newHash);
7007      if (typeof newIndex === 'undefined' || Number.isNaN(newIndex)) return;
7008      swiper.slideTo(newIndex);
7009    }
7010  };
7011  const setHash = () => {
7012    if (!initialized || !swiper.params.hashNavigation.enabled) return;
7013    const activeSlideEl = swiper.virtual && swiper.params.virtual.enabled ? swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`) : swiper.slides[swiper.activeIndex];
7014    const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') || activeSlideEl.getAttribute('data-history') : '';
7015    if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) {
7016      window.history.replaceState(null, null, `#${activeSlideHash}` || '');
7017      emit('hashSet');
7018    } else {
7019      document.location.hash = activeSlideHash || '';
7020      emit('hashSet');
7021    }
7022  };
7023  const init = () => {
7024    if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;
7025    initialized = true;
7026    const hash = document.location.hash.replace('#', '');
7027    if (hash) {
7028      const speed = 0;
7029      const index = swiper.params.hashNavigation.getSlideIndex(swiper, hash);
7030      swiper.slideTo(index || 0, speed, swiper.params.runCallbacksOnInit, true);
7031    }
7032    if (swiper.params.hashNavigation.watchState) {
7033      window.addEventListener('hashchange', onHashChange);
7034    }
7035  };
7036  const destroy = () => {
7037    if (swiper.params.hashNavigation.watchState) {
7038      window.removeEventListener('hashchange', onHashChange);
7039    }
7040  };
7041  on('init', () => {
7042    if (swiper.params.hashNavigation.enabled) {
7043      init();
7044    }
7045  });
7046  on('destroy', () => {
7047    if (swiper.params.hashNavigation.enabled) {
7048      destroy();
7049    }
7050  });
7051  on('transitionEnd _freeModeNoMomentumRelease', () => {
7052    if (initialized) {
7053      setHash();
7054    }
7055  });
7056  on('slideChange', () => {
7057    if (initialized && swiper.params.cssMode) {
7058      setHash();
7059    }
7060  });
7061}
7062
7063/***/ }),
7064
vendor: 4,955 bytes, lines 7065-7216
7065/***/ "../../node_modules/swiper/modules/history/history.js":
7066/*!************************************************************!*\
7067  !*** ../../node_modules/swiper/modules/history/history.js ***!
7068  \************************************************************/
7069/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
7070
7071__webpack_require__.r(__webpack_exports__);
7072/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7073/* harmony export */   "default": function() { return /* binding */ History; }
7074/* harmony export */ });
7075/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
7076
7077function History({
7078  swiper,
7079  extendParams,
7080  on
7081}) {
7082  extendParams({
7083    history: {
7084      enabled: false,
7085      root: '',
7086      replaceState: false,
7087      key: 'slides',
7088      keepQuery: false
7089    }
7090  });
7091  let initialized = false;
7092  let paths = {};
7093  const slugify = text => {
7094    return text.toString().replace(/\s+/g, '-').replace(/[^\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');
7095  };
7096  const getPathValues = urlOverride => {
7097    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
7098    let location;
7099    if (urlOverride) {
7100      location = new URL(urlOverride);
7101    } else {
7102      location = window.location;
7103    }
7104    const pathArray = location.pathname.slice(1).split('/').filter(part => part !== '');
7105    const total = pathArray.length;
7106    const key = pathArray[total - 2];
7107    const value = pathArray[total - 1];
7108    return {
7109      key,
7110      value
7111    };
7112  };
7113  const setHistory = (key, index) => {
7114    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
7115    if (!initialized || !swiper.params.history.enabled) return;
7116    let location;
7117    if (swiper.params.url) {
7118      location = new URL(swiper.params.url);
7119    } else {
7120      location = window.location;
7121    }
7122    const slide = swiper.slides[index];
7123    let value = slugify(slide.getAttribute('data-history'));
7124    if (swiper.params.history.root.length > 0) {
7125      let root = swiper.params.history.root;
7126      if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1);
7127      value = `${root}/${key ? `${key}/` : ''}${value}`;
7128    } else if (!location.pathname.includes(key)) {
7129      value = `${key ? `${key}/` : ''}${value}`;
7130    }
7131    if (swiper.params.history.keepQuery) {
7132      value += location.search;
7133    }
7134    const currentState = window.history.state;
7135    if (currentState && currentState.value === value) {
7136      return;
7137    }
7138    if (swiper.params.history.replaceState) {
7139      window.history.replaceState({
7140        value
7141      }, null, value);
7142    } else {
7143      window.history.pushState({
7144        value
7145      }, null, value);
7146    }
7147  };
7148  const scrollToSlide = (speed, value, runCallbacks) => {
7149    if (value) {
7150      for (let i = 0, length = swiper.slides.length; i < length; i += 1) {
7151        const slide = swiper.slides[i];
7152        const slideHistory = slugify(slide.getAttribute('data-history'));
7153        if (slideHistory === value) {
7154          const index = swiper.getSlideIndex(slide);
7155          swiper.slideTo(index, speed, runCallbacks);
7156        }
7157      }
7158    } else {
7159      swiper.slideTo(0, speed, runCallbacks);
7160    }
7161  };
7162  const setHistoryPopState = () => {
7163    paths = getPathValues(swiper.params.url);
7164    scrollToSlide(swiper.params.speed, paths.value, false);
7165  };
7166  const init = () => {
7167    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
7168    if (!swiper.params.history) return;
7169    if (!window.history || !window.history.pushState) {
7170      swiper.params.history.enabled = false;
7171      swiper.params.hashNavigation.enabled = true;
7172      return;
7173    }
7174    initialized = true;
7175    paths = getPathValues(swiper.params.url);
7176    if (!paths.key && !paths.value) {
7177      if (!swiper.params.history.replaceState) {
7178        window.addEventListener('popstate', setHistoryPopState);
7179      }
7180      return;
7181    }
7182    scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);
7183    if (!swiper.params.history.replaceState) {
7184      window.addEventListener('popstate', setHistoryPopState);
7185    }
7186  };
7187  const destroy = () => {
7188    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
7189    if (!swiper.params.history.replaceState) {
7190      window.removeEventListener('popstate', setHistoryPopState);
7191    }
7192  };
7193  on('init', () => {
7194    if (swiper.params.history.enabled) {
7195      init();
7196    }
7197  });
7198  on('destroy', () => {
7199    if (swiper.params.history.enabled) {
7200      destroy();
7201    }
7202  });
7203  on('transitionEnd _freeModeNoMomentumRelease', () => {
7204    if (initialized) {
7205      setHistory(swiper.params.history.key, swiper.activeIndex);
7206    }
7207  });
7208  on('slideChange', () => {
7209    if (initialized && swiper.params.cssMode) {
7210      setHistory(swiper.params.history.key, swiper.activeIndex);
7211    }
7212  });
7213}
7214
7215/***/ }),
7216
vendor: 5,285 bytes, lines 7217-7344
7217/***/ "../../node_modules/swiper/modules/keyboard/keyboard.js":
7218/*!**************************************************************!*\
7219  !*** ../../node_modules/swiper/modules/keyboard/keyboard.js ***!
7220  \**************************************************************/
7221/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
7222
7223__webpack_require__.r(__webpack_exports__);
7224/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7225/* harmony export */   "default": function() { return /* binding */ Keyboard; }
7226/* harmony export */ });
7227/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
7228/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
7229/* eslint-disable consistent-return */
7230
7231
7232function Keyboard({
7233  swiper,
7234  extendParams,
7235  on,
7236  emit
7237}) {
7238  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
7239  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
7240  swiper.keyboard = {
7241    enabled: false
7242  };
7243  extendParams({
7244    keyboard: {
7245      enabled: false,
7246      onlyInViewport: true,
7247      pageUpDown: true
7248    }
7249  });
7250  function handle(event) {
7251    if (!swiper.enabled) return;
7252    const {
7253      rtlTranslate: rtl
7254    } = swiper;
7255    let e = event;
7256    if (e.originalEvent) e = e.originalEvent; // jquery fix
7257    const kc = e.keyCode || e.charCode;
7258    const pageUpDown = swiper.params.keyboard.pageUpDown;
7259    const isPageUp = pageUpDown && kc === 33;
7260    const isPageDown = pageUpDown && kc === 34;
7261    const isArrowLeft = kc === 37;
7262    const isArrowRight = kc === 39;
7263    const isArrowUp = kc === 38;
7264    const isArrowDown = kc === 40;
7265    // Directions locks
7266    if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {
7267      return false;
7268    }
7269    if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {
7270      return false;
7271    }
7272    if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {
7273      return undefined;
7274    }
7275    if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {
7276      return undefined;
7277    }
7278    if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {
7279      let inView = false;
7280      // Check that swiper should be inside of visible area of window
7281      if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(swiper.el, `.${swiper.params.slideClass}, swiper-slide`).length > 0 && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(swiper.el, `.${swiper.params.slideActiveClass}`).length === 0) {
7282        return undefined;
7283      }
7284      const el = swiper.el;
7285      const swiperWidth = el.clientWidth;
7286      const swiperHeight = el.clientHeight;
7287      const windowWidth = window.innerWidth;
7288      const windowHeight = window.innerHeight;
7289      const swiperOffset = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementOffset)(el);
7290      if (rtl) swiperOffset.left -= el.scrollLeft;
7291      const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];
7292      for (let i = 0; i < swiperCoord.length; i += 1) {
7293        const point = swiperCoord[i];
7294        if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {
7295          if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line
7296          inView = true;
7297        }
7298      }
7299      if (!inView) return undefined;
7300    }
7301    if (swiper.isHorizontal()) {
7302      if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {
7303        if (e.preventDefault) e.preventDefault();else e.returnValue = false;
7304      }
7305      if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();
7306      if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();
7307    } else {
7308      if (isPageUp || isPageDown || isArrowUp || isArrowDown) {
7309        if (e.preventDefault) e.preventDefault();else e.returnValue = false;
7310      }
7311      if (isPageDown || isArrowDown) swiper.slideNext();
7312      if (isPageUp || isArrowUp) swiper.slidePrev();
7313    }
7314    emit('keyPress', kc);
7315    return undefined;
7316  }
7317  function enable() {
7318    if (swiper.keyboard.enabled) return;
7319    document.addEventListener('keydown', handle);
7320    swiper.keyboard.enabled = true;
7321  }
7322  function disable() {
7323    if (!swiper.keyboard.enabled) return;
7324    document.removeEventListener('keydown', handle);
7325    swiper.keyboard.enabled = false;
7326  }
7327  on('init', () => {
7328    if (swiper.params.keyboard.enabled) {
7329      enable();
7330    }
7331  });
7332  on('destroy', () => {
7333    if (swiper.keyboard.enabled) {
7334      disable();
7335    }
7336  });
7337  Object.assign(swiper.keyboard, {
7338    enable,
7339    disable
7340  });
7341}
7342
7343/***/ }),
7344
vendor: 2,219 bytes, lines 7345-7378
7345/***/ "../../node_modules/swiper/modules/manipulation/manipulation.js":
7346/*!**********************************************************************!*\
7347  !*** ../../node_modules/swiper/modules/manipulation/manipulation.js ***!
7348  \**********************************************************************/
7349/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
7350
7351__webpack_require__.r(__webpack_exports__);
7352/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7353/* harmony export */   "default": function() { return /* binding */ Manipulation; }
7354/* harmony export */ });
7355/* harmony import */ var _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./methods/appendSlide.js */ "../../node_modules/swiper/modules/manipulation/methods/appendSlide.js");
7356/* harmony import */ var _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./methods/prependSlide.js */ "../../node_modules/swiper/modules/manipulation/methods/prependSlide.js");
7357/* harmony import */ var _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./methods/addSlide.js */ "../../node_modules/swiper/modules/manipulation/methods/addSlide.js");
7358/* harmony import */ var _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./methods/removeSlide.js */ "../../node_modules/swiper/modules/manipulation/methods/removeSlide.js");
7359/* harmony import */ var _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./methods/removeAllSlides.js */ "../../node_modules/swiper/modules/manipulation/methods/removeAllSlides.js");
7360
7361
7362
7363
7364
7365function Manipulation({
7366  swiper
7367}) {
7368  Object.assign(swiper, {
7369    appendSlide: _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__["default"].bind(swiper),
7370    prependSlide: _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__["default"].bind(swiper),
7371    addSlide: _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__["default"].bind(swiper),
7372    removeSlide: _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__["default"].bind(swiper),
7373    removeAllSlides: _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__["default"].bind(swiper)
7374  });
7375}
7376
7377/***/ }),
7378
vendor: 2,107 bytes, lines 7379-7444
7379/***/ "../../node_modules/swiper/modules/manipulation/methods/addSlide.js":
7380/*!**************************************************************************!*\
7381  !*** ../../node_modules/swiper/modules/manipulation/methods/addSlide.js ***!
7382  \**************************************************************************/
7383/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
7384
7385__webpack_require__.r(__webpack_exports__);
7386/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7387/* harmony export */   "default": function() { return /* binding */ addSlide; }
7388/* harmony export */ });
7389function addSlide(index, slides) {
7390  const swiper = this;
7391  const {
7392    params,
7393    activeIndex,
7394    slidesEl
7395  } = swiper;
7396  let activeIndexBuffer = activeIndex;
7397  if (params.loop) {
7398    activeIndexBuffer -= swiper.loopedSlides;
7399    swiper.loopDestroy();
7400    swiper.recalcSlides();
7401  }
7402  const baseLength = swiper.slides.length;
7403  if (index <= 0) {
7404    swiper.prependSlide(slides);
7405    return;
7406  }
7407  if (index >= baseLength) {
7408    swiper.appendSlide(slides);
7409    return;
7410  }
7411  let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;
7412  const slidesBuffer = [];
7413  for (let i = baseLength - 1; i >= index; i -= 1) {
7414    const currentSlide = swiper.slides[i];
7415    currentSlide.remove();
7416    slidesBuffer.unshift(currentSlide);
7417  }
7418  if (typeof slides === 'object' && 'length' in slides) {
7419    for (let i = 0; i < slides.length; i += 1) {
7420      if (slides[i]) slidesEl.append(slides[i]);
7421    }
7422    newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;
7423  } else {
7424    slidesEl.append(slides);
7425  }
7426  for (let i = 0; i < slidesBuffer.length; i += 1) {
7427    slidesEl.append(slidesBuffer[i]);
7428  }
7429  swiper.recalcSlides();
7430  if (params.loop) {
7431    swiper.loopCreate();
7432  }
7433  if (!params.observer || swiper.isElement) {
7434    swiper.update();
7435  }
7436  if (params.loop) {
7437    swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
7438  } else {
7439    swiper.slideTo(newActiveIndex, 0, false);
7440  }
7441}
7442
7443/***/ }),
7444
vendor: 1,453 bytes, lines 7445-7491
7445/***/ "../../node_modules/swiper/modules/manipulation/methods/appendSlide.js":
7446/*!*****************************************************************************!*\
7447  !*** ../../node_modules/swiper/modules/manipulation/methods/appendSlide.js ***!
7448  \*****************************************************************************/
7449/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
7450
7451__webpack_require__.r(__webpack_exports__);
7452/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7453/* harmony export */   "default": function() { return /* binding */ appendSlide; }
7454/* harmony export */ });
7455function appendSlide(slides) {
7456  const swiper = this;
7457  const {
7458    params,
7459    slidesEl
7460  } = swiper;
7461  if (params.loop) {
7462    swiper.loopDestroy();
7463  }
7464  const appendElement = slideEl => {
7465    if (typeof slideEl === 'string') {
7466      const tempDOM = document.createElement('div');
7467      tempDOM.innerHTML = slideEl;
7468      slidesEl.append(tempDOM.children[0]);
7469      tempDOM.innerHTML = '';
7470    } else {
7471      slidesEl.append(slideEl);
7472    }
7473  };
7474  if (typeof slides === 'object' && 'length' in slides) {
7475    for (let i = 0; i < slides.length; i += 1) {
7476      if (slides[i]) appendElement(slides[i]);
7477    }
7478  } else {
7479    appendElement(slides);
7480  }
7481  swiper.recalcSlides();
7482  if (params.loop) {
7483    swiper.loopCreate();
7484  }
7485  if (!params.observer || swiper.isElement) {
7486    swiper.update();
7487  }
7488}
7489
7490/***/ }),
7491
vendor: 1,615 bytes, lines 7492-7542
7492/***/ "../../node_modules/swiper/modules/manipulation/methods/prependSlide.js":
7493/*!******************************************************************************!*\
7494  !*** ../../node_modules/swiper/modules/manipulation/methods/prependSlide.js ***!
7495  \******************************************************************************/
7496/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
7497
7498__webpack_require__.r(__webpack_exports__);
7499/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7500/* harmony export */   "default": function() { return /* binding */ prependSlide; }
7501/* harmony export */ });
7502function prependSlide(slides) {
7503  const swiper = this;
7504  const {
7505    params,
7506    activeIndex,
7507    slidesEl
7508  } = swiper;
7509  if (params.loop) {
7510    swiper.loopDestroy();
7511  }
7512  let newActiveIndex = activeIndex + 1;
7513  const prependElement = slideEl => {
7514    if (typeof slideEl === 'string') {
7515      const tempDOM = document.createElement('div');
7516      tempDOM.innerHTML = slideEl;
7517      slidesEl.prepend(tempDOM.children[0]);
7518      tempDOM.innerHTML = '';
7519    } else {
7520      slidesEl.prepend(slideEl);
7521    }
7522  };
7523  if (typeof slides === 'object' && 'length' in slides) {
7524    for (let i = 0; i < slides.length; i += 1) {
7525      if (slides[i]) prependElement(slides[i]);
7526    }
7527    newActiveIndex = activeIndex + slides.length;
7528  } else {
7529    prependElement(slides);
7530  }
7531  swiper.recalcSlides();
7532  if (params.loop) {
7533    swiper.loopCreate();
7534  }
7535  if (!params.observer || swiper.isElement) {
7536    swiper.update();
7537  }
7538  swiper.slideTo(newActiveIndex, 0, false);
7539}
7540
7541/***/ }),
7542
vendor: 879 bytes, lines 7543-7563
7543/***/ "../../node_modules/swiper/modules/manipulation/methods/removeAllSlides.js":
7544/*!*********************************************************************************!*\
7545  !*** ../../node_modules/swiper/modules/manipulation/methods/removeAllSlides.js ***!
7546  \*********************************************************************************/
7547/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
7548
7549__webpack_require__.r(__webpack_exports__);
7550/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7551/* harmony export */   "default": function() { return /* binding */ removeAllSlides; }
7552/* harmony export */ });
7553function removeAllSlides() {
7554  const swiper = this;
7555  const slidesIndexes = [];
7556  for (let i = 0; i < swiper.slides.length; i += 1) {
7557    slidesIndexes.push(i);
7558  }
7559  swiper.removeSlide(slidesIndexes);
7560}
7561
7562/***/ }),
7563
vendor: 1,869 bytes, lines 7564-7615
7564/***/ "../../node_modules/swiper/modules/manipulation/methods/removeSlide.js":
7565/*!*****************************************************************************!*\
7566  !*** ../../node_modules/swiper/modules/manipulation/methods/removeSlide.js ***!
7567  \*****************************************************************************/
7568/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
7569
7570__webpack_require__.r(__webpack_exports__);
7571/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7572/* harmony export */   "default": function() { return /* binding */ removeSlide; }
7573/* harmony export */ });
7574function removeSlide(slidesIndexes) {
7575  const swiper = this;
7576  const {
7577    params,
7578    activeIndex
7579  } = swiper;
7580  let activeIndexBuffer = activeIndex;
7581  if (params.loop) {
7582    activeIndexBuffer -= swiper.loopedSlides;
7583    swiper.loopDestroy();
7584  }
7585  let newActiveIndex = activeIndexBuffer;
7586  let indexToRemove;
7587  if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {
7588    for (let i = 0; i < slidesIndexes.length; i += 1) {
7589      indexToRemove = slidesIndexes[i];
7590      if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();
7591      if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
7592    }
7593    newActiveIndex = Math.max(newActiveIndex, 0);
7594  } else {
7595    indexToRemove = slidesIndexes;
7596    if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();
7597    if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
7598    newActiveIndex = Math.max(newActiveIndex, 0);
7599  }
7600  swiper.recalcSlides();
7601  if (params.loop) {
7602    swiper.loopCreate();
7603  }
7604  if (!params.observer || swiper.isElement) {
7605    swiper.update();
7606  }
7607  if (params.loop) {
7608    swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
7609  } else {
7610    swiper.slideTo(newActiveIndex, 0, false);
7611  }
7612}
7613
7614/***/ }),
7615
vendor: 15,843 bytes, lines 7616-8017
7616/***/ "../../node_modules/swiper/modules/mousewheel/mousewheel.js":
7617/*!******************************************************************!*\
7618  !*** ../../node_modules/swiper/modules/mousewheel/mousewheel.js ***!
7619  \******************************************************************/
7620/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
7621
7622__webpack_require__.r(__webpack_exports__);
7623/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7624/* harmony export */   "default": function() { return /* binding */ Mousewheel; }
7625/* harmony export */ });
7626/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
7627/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
7628/* eslint-disable consistent-return */
7629
7630
7631function Mousewheel({
7632  swiper,
7633  extendParams,
7634  on,
7635  emit
7636}) {
7637  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
7638  extendParams({
7639    mousewheel: {
7640      enabled: false,
7641      releaseOnEdges: false,
7642      invert: false,
7643      forceToAxis: false,
7644      sensitivity: 1,
7645      eventsTarget: 'container',
7646      thresholdDelta: null,
7647      thresholdTime: null,
7648      noMousewheelClass: 'swiper-no-mousewheel'
7649    }
7650  });
7651  swiper.mousewheel = {
7652    enabled: false
7653  };
7654  let timeout;
7655  let lastScrollTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)();
7656  let lastEventBeforeSnap;
7657  const recentWheelEvents = [];
7658  function normalize(e) {
7659    // Reasonable defaults
7660    const PIXEL_STEP = 10;
7661    const LINE_HEIGHT = 40;
7662    const PAGE_HEIGHT = 800;
7663    let sX = 0;
7664    let sY = 0; // spinX, spinY
7665    let pX = 0;
7666    let pY = 0; // pixelX, pixelY
7667
7668    // Legacy
7669    if ('detail' in e) {
7670      sY = e.detail;
7671    }
7672    if ('wheelDelta' in e) {
7673      sY = -e.wheelDelta / 120;
7674    }
7675    if ('wheelDeltaY' in e) {
7676      sY = -e.wheelDeltaY / 120;
7677    }
7678    if ('wheelDeltaX' in e) {
7679      sX = -e.wheelDeltaX / 120;
7680    }
7681
7682    // side scrolling on FF with DOMMouseScroll
7683    if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {
7684      sX = sY;
7685      sY = 0;
7686    }
7687    pX = sX * PIXEL_STEP;
7688    pY = sY * PIXEL_STEP;
7689    if ('deltaY' in e) {
7690      pY = e.deltaY;
7691    }
7692    if ('deltaX' in e) {
7693      pX = e.deltaX;
7694    }
7695    if (e.shiftKey && !pX) {
7696      // if user scrolls with shift he wants horizontal scroll
7697      pX = pY;
7698      pY = 0;
7699    }
7700    if ((pX || pY) && e.deltaMode) {
7701      if (e.deltaMode === 1) {
7702        // delta in LINE units
7703        pX *= LINE_HEIGHT;
7704        pY *= LINE_HEIGHT;
7705      } else {
7706        // delta in PAGE units
7707        pX *= PAGE_HEIGHT;
7708        pY *= PAGE_HEIGHT;
7709      }
7710    }
7711
7712    // Fall-back if spin cannot be determined
7713    if (pX && !sX) {
7714      sX = pX < 1 ? -1 : 1;
7715    }
7716    if (pY && !sY) {
7717      sY = pY < 1 ? -1 : 1;
7718    }
7719    return {
7720      spinX: sX,
7721      spinY: sY,
7722      pixelX: pX,
7723      pixelY: pY
7724    };
7725  }
7726  function handleMouseEnter() {
7727    if (!swiper.enabled) return;
7728    swiper.mouseEntered = true;
7729  }
7730  function handleMouseLeave() {
7731    if (!swiper.enabled) return;
7732    swiper.mouseEntered = false;
7733  }
7734  function animateSlider(newEvent) {
7735    if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) {
7736      // Prevent if delta of wheel scroll delta is below configured threshold
7737      return false;
7738    }
7739    if (swiper.params.mousewheel.thresholdTime && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)() - lastScrollTime < swiper.params.mousewheel.thresholdTime) {
7740      // Prevent if time between scrolls is below configured threshold
7741      return false;
7742    }
7743
7744    // If the movement is NOT big enough and
7745    // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):
7746    //   Don't go any further (avoid insignificant scroll movement).
7747    if (newEvent.delta >= 6 && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)() - lastScrollTime < 60) {
7748      // Return false as a default
7749      return true;
7750    }
7751    // If user is scrolling towards the end:
7752    //   If the slider hasn't hit the latest slide or
7753    //   if the slider is a loop and
7754    //   if the slider isn't moving right now:
7755    //     Go to next slide and
7756    //     emit a scroll event.
7757    // Else (the user is scrolling towards the beginning) and
7758    // if the slider hasn't hit the first slide or
7759    // if the slider is a loop and
7760    // if the slider isn't moving right now:
7761    //   Go to prev slide and
7762    //   emit a scroll event.
7763    if (newEvent.direction < 0) {
7764      if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {
7765        swiper.slideNext();
7766        emit('scroll', newEvent.raw);
7767      }
7768    } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {
7769      swiper.slidePrev();
7770      emit('scroll', newEvent.raw);
7771    }
7772    // If you got here is because an animation has been triggered so store the current time
7773    lastScrollTime = new window.Date().getTime();
7774    // Return false as a default
7775    return false;
7776  }
7777  function releaseScroll(newEvent) {
7778    const params = swiper.params.mousewheel;
7779    if (newEvent.direction < 0) {
7780      if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {
7781        // Return true to animate scroll on edges
7782        return true;
7783      }
7784    } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {
7785      // Return true to animate scroll on edges
7786      return true;
7787    }
7788    return false;
7789  }
7790  function handle(event) {
7791    let e = event;
7792    let disableParentSwiper = true;
7793    if (!swiper.enabled) return;
7794
7795    // Ignore event if the target or its parents have the swiper-no-mousewheel class
7796    if (event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`)) return;
7797    const params = swiper.params.mousewheel;
7798    if (swiper.params.cssMode) {
7799      e.preventDefault();
7800    }
7801    let targetEl = swiper.el;
7802    if (swiper.params.mousewheel.eventsTarget !== 'container') {
7803      targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);
7804    }
7805    const targetElContainsTarget = targetEl && targetEl.contains(e.target);
7806    if (!swiper.mouseEntered && !targetElContainsTarget && !params.releaseOnEdges) return true;
7807    if (e.originalEvent) e = e.originalEvent; // jquery fix
7808    let delta = 0;
7809    const rtlFactor = swiper.rtlTranslate ? -1 : 1;
7810    const data = normalize(e);
7811    if (params.forceToAxis) {
7812      if (swiper.isHorizontal()) {
7813        if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;
7814      } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;
7815    } else {
7816      delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;
7817    }
7818    if (delta === 0) return true;
7819    if (params.invert) delta = -delta;
7820
7821    // Get the scroll positions
7822    let positions = swiper.getTranslate() + delta * params.sensitivity;
7823    if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();
7824    if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate();
7825
7826    // When loop is true:
7827    //     the disableParentSwiper will be true.
7828    // When loop is false:
7829    //     if the scroll positions is not on edge,
7830    //     then the disableParentSwiper will be true.
7831    //     if the scroll on edge positions,
7832    //     then the disableParentSwiper will be false.
7833    disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());
7834    if (disableParentSwiper && swiper.params.nested) e.stopPropagation();
7835    if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {
7836      // Register the new event in a variable which stores the relevant data
7837      const newEvent = {
7838        time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)(),
7839        delta: Math.abs(delta),
7840        direction: Math.sign(delta),
7841        raw: event
7842      };
7843
7844      // Keep the most recent events
7845      if (recentWheelEvents.length >= 2) {
7846        recentWheelEvents.shift(); // only store the last N events
7847      }
7848
7849      const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;
7850      recentWheelEvents.push(newEvent);
7851
7852      // If there is at least one previous recorded event:
7853      //   If direction has changed or
7854      //   if the scroll is quicker than the previous one:
7855      //     Animate the slider.
7856      // Else (this is the first time the wheel is moved):
7857      //     Animate the slider.
7858      if (prevEvent) {
7859        if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {
7860          animateSlider(newEvent);
7861        }
7862      } else {
7863        animateSlider(newEvent);
7864      }
7865
7866      // If it's time to release the scroll:
7867      //   Return now so you don't hit the preventDefault.
7868      if (releaseScroll(newEvent)) {
7869        return true;
7870      }
7871    } else {
7872      // Freemode or scrollContainer:
7873
7874      // If we recently snapped after a momentum scroll, then ignore wheel events
7875      // to give time for the deceleration to finish. Stop ignoring after 500 msecs
7876      // or if it's a new scroll (larger delta or inverse sign as last event before
7877      // an end-of-momentum snap).
7878      const newEvent = {
7879        time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)(),
7880        delta: Math.abs(delta),
7881        direction: Math.sign(delta)
7882      };
7883      const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction;
7884      if (!ignoreWheelEvents) {
7885        lastEventBeforeSnap = undefined;
7886        let position = swiper.getTranslate() + delta * params.sensitivity;
7887        const wasBeginning = swiper.isBeginning;
7888        const wasEnd = swiper.isEnd;
7889        if (position >= swiper.minTranslate()) position = swiper.minTranslate();
7890        if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();
7891        swiper.setTransition(0);
7892        swiper.setTranslate(position);
7893        swiper.updateProgress();
7894        swiper.updateActiveIndex();
7895        swiper.updateSlidesClasses();
7896        if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {
7897          swiper.updateSlidesClasses();
7898        }
7899        if (swiper.params.loop) {
7900          swiper.loopFix({
7901            direction: newEvent.direction < 0 ? 'next' : 'prev',
7902            byMousewheel: true
7903          });
7904        }
7905        if (swiper.params.freeMode.sticky) {
7906          // When wheel scrolling starts with sticky (aka snap) enabled, then detect
7907          // the end of a momentum scroll by storing recent (N=15?) wheel events.
7908          // 1. do all N events have decreasing or same (absolute value) delta?
7909          // 2. did all N events arrive in the last M (M=500?) msecs?
7910          // 3. does the earliest event have an (absolute value) delta that's
7911          //    at least P (P=1?) larger than the most recent event's delta?
7912          // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?
7913          // If 1-4 are "yes" then we're near the end of a momentum scroll deceleration.
7914          // Snap immediately and ignore remaining wheel events in this scroll.
7915          // See comment above for "remaining wheel events in this scroll" determination.
7916          // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.
7917          clearTimeout(timeout);
7918          timeout = undefined;
7919          if (recentWheelEvents.length >= 15) {
7920            recentWheelEvents.shift(); // only store the last N events
7921          }
7922
7923          const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;
7924          const firstEvent = recentWheelEvents[0];
7925          recentWheelEvents.push(newEvent);
7926          if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) {
7927            // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.
7928            recentWheelEvents.splice(0);
7929          } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) {
7930            // We're at the end of the deceleration of a momentum scroll, so there's no need
7931            // to wait for more events. Snap ASAP on the next tick.
7932            // Also, because there's some remaining momentum we'll bias the snap in the
7933            // direction of the ongoing scroll because it's better UX for the scroll to snap
7934            // in the same direction as the scroll instead of reversing to snap.  Therefore,
7935            // if it's already scrolled more than 20% in the current direction, keep going.
7936            const snapToThreshold = delta > 0 ? 0.8 : 0.2;
7937            lastEventBeforeSnap = newEvent;
7938            recentWheelEvents.splice(0);
7939            timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {
7940              swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
7941            }, 0); // no delay; move on next tick
7942          }
7943
7944          if (!timeout) {
7945            // if we get here, then we haven't detected the end of a momentum scroll, so
7946            // we'll consider a scroll "complete" when there haven't been any wheel events
7947            // for 500ms.
7948            timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {
7949              const snapToThreshold = 0.5;
7950              lastEventBeforeSnap = newEvent;
7951              recentWheelEvents.splice(0);
7952              swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
7953            }, 500);
7954          }
7955        }
7956
7957        // Emit event
7958        if (!ignoreWheelEvents) emit('scroll', e);
7959
7960        // Stop autoplay
7961        if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop();
7962        // Return page scroll on edge positions
7963        if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;
7964      }
7965    }
7966    if (e.preventDefault) e.preventDefault();else e.returnValue = false;
7967    return false;
7968  }
7969  function events(method) {
7970    let targetEl = swiper.el;
7971    if (swiper.params.mousewheel.eventsTarget !== 'container') {
7972      targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);
7973    }
7974    targetEl[method]('mouseenter', handleMouseEnter);
7975    targetEl[method]('mouseleave', handleMouseLeave);
7976    targetEl[method]('wheel', handle);
7977  }
7978  function enable() {
7979    if (swiper.params.cssMode) {
7980      swiper.wrapperEl.removeEventListener('wheel', handle);
7981      return true;
7982    }
7983    if (swiper.mousewheel.enabled) return false;
7984    events('addEventListener');
7985    swiper.mousewheel.enabled = true;
7986    return true;
7987  }
7988  function disable() {
7989    if (swiper.params.cssMode) {
7990      swiper.wrapperEl.addEventListener(event, handle);
7991      return true;
7992    }
7993    if (!swiper.mousewheel.enabled) return false;
7994    events('removeEventListener');
7995    swiper.mousewheel.enabled = false;
7996    return true;
7997  }
7998  on('init', () => {
7999    if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {
8000      disable();
8001    }
8002    if (swiper.params.mousewheel.enabled) enable();
8003  });
8004  on('destroy', () => {
8005    if (swiper.params.cssMode) {
8006      enable();
8007    }
8008    if (swiper.mousewheel.enabled) disable();
8009  });
8010  Object.assign(swiper.mousewheel, {
8011    enable,
8012    disable
8013  });
8014}
8015
8016/***/ }),
8017
vendor: 6,685 bytes, lines 8018-8217
8018/***/ "../../node_modules/swiper/modules/navigation/navigation.js":
8019/*!******************************************************************!*\
8020  !*** ../../node_modules/swiper/modules/navigation/navigation.js ***!
8021  \******************************************************************/
8022/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
8023
8024__webpack_require__.r(__webpack_exports__);
8025/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8026/* harmony export */   "default": function() { return /* binding */ Navigation; }
8027/* harmony export */ });
8028/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "../../node_modules/swiper/shared/create-element-if-not-defined.js");
8029
8030function Navigation({
8031  swiper,
8032  extendParams,
8033  on,
8034  emit
8035}) {
8036  extendParams({
8037    navigation: {
8038      nextEl: null,
8039      prevEl: null,
8040      hideOnClick: false,
8041      disabledClass: 'swiper-button-disabled',
8042      hiddenClass: 'swiper-button-hidden',
8043      lockClass: 'swiper-button-lock',
8044      navigationDisabledClass: 'swiper-navigation-disabled'
8045    }
8046  });
8047  swiper.navigation = {
8048    nextEl: null,
8049    prevEl: null
8050  };
8051  const makeElementsArray = el => {
8052    if (!Array.isArray(el)) el = [el].filter(e => !!e);
8053    return el;
8054  };
8055  function getEl(el) {
8056    let res;
8057    if (el && typeof el === 'string' && swiper.isElement) {
8058      res = swiper.el.shadowRoot.querySelector(el);
8059      if (res) return res;
8060    }
8061    if (el) {
8062      if (typeof el === 'string') res = [...document.querySelectorAll(el)];
8063      if (swiper.params.uniqueNavElements && typeof el === 'string' && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) {
8064        res = swiper.el.querySelector(el);
8065      }
8066    }
8067    if (el && !res) return el;
8068    // if (Array.isArray(res) && res.length === 1) res = res[0];
8069    return res;
8070  }
8071  function toggleEl(el, disabled) {
8072    const params = swiper.params.navigation;
8073    el = makeElementsArray(el);
8074    el.forEach(subEl => {
8075      if (subEl) {
8076        subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' '));
8077        if (subEl.tagName === 'BUTTON') subEl.disabled = disabled;
8078        if (swiper.params.watchOverflow && swiper.enabled) {
8079          subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);
8080        }
8081      }
8082    });
8083  }
8084  function update() {
8085    // Update Navigation Buttons
8086    const {
8087      nextEl,
8088      prevEl
8089    } = swiper.navigation;
8090    if (swiper.params.loop) {
8091      toggleEl(prevEl, false);
8092      toggleEl(nextEl, false);
8093      return;
8094    }
8095    toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind);
8096    toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind);
8097  }
8098  function onPrevClick(e) {
8099    e.preventDefault();
8100    if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;
8101    swiper.slidePrev();
8102    emit('navigationPrev');
8103  }
8104  function onNextClick(e) {
8105    e.preventDefault();
8106    if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;
8107    swiper.slideNext();
8108    emit('navigationNext');
8109  }
8110  function init() {
8111    const params = swiper.params.navigation;
8112    swiper.params.navigation = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper, swiper.originalParams.navigation, swiper.params.navigation, {
8113      nextEl: 'swiper-button-next',
8114      prevEl: 'swiper-button-prev'
8115    });
8116    if (!(params.nextEl || params.prevEl)) return;
8117    let nextEl = getEl(params.nextEl);
8118    let prevEl = getEl(params.prevEl);
8119    Object.assign(swiper.navigation, {
8120      nextEl,
8121      prevEl
8122    });
8123    nextEl = makeElementsArray(nextEl);
8124    prevEl = makeElementsArray(prevEl);
8125    const initButton = (el, dir) => {
8126      if (el) {
8127        el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);
8128      }
8129      if (!swiper.enabled && el) {
8130        el.classList.add(...params.lockClass.split(' '));
8131      }
8132    };
8133    nextEl.forEach(el => initButton(el, 'next'));
8134    prevEl.forEach(el => initButton(el, 'prev'));
8135  }
8136  function destroy() {
8137    let {
8138      nextEl,
8139      prevEl
8140    } = swiper.navigation;
8141    nextEl = makeElementsArray(nextEl);
8142    prevEl = makeElementsArray(prevEl);
8143    const destroyButton = (el, dir) => {
8144      el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick);
8145      el.classList.remove(...swiper.params.navigation.disabledClass.split(' '));
8146    };
8147    nextEl.forEach(el => destroyButton(el, 'next'));
8148    prevEl.forEach(el => destroyButton(el, 'prev'));
8149  }
8150  on('init', () => {
8151    if (swiper.params.navigation.enabled === false) {
8152      // eslint-disable-next-line
8153      disable();
8154    } else {
8155      init();
8156      update();
8157    }
8158  });
8159  on('toEdge fromEdge lock unlock', () => {
8160    update();
8161  });
8162  on('destroy', () => {
8163    destroy();
8164  });
8165  on('enable disable', () => {
8166    let {
8167      nextEl,
8168      prevEl
8169    } = swiper.navigation;
8170    nextEl = makeElementsArray(nextEl);
8171    prevEl = makeElementsArray(prevEl);
8172    [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.navigation.lockClass));
8173  });
8174  on('click', (_s, e) => {
8175    let {
8176      nextEl,
8177      prevEl
8178    } = swiper.navigation;
8179    nextEl = makeElementsArray(nextEl);
8180    prevEl = makeElementsArray(prevEl);
8181    const targetEl = e.target;
8182    if (swiper.params.navigation.hideOnClick && !prevEl.includes(targetEl) && !nextEl.includes(targetEl)) {
8183      if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;
8184      let isHidden;
8185      if (nextEl.length) {
8186        isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);
8187      } else if (prevEl.length) {
8188        isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);
8189      }
8190      if (isHidden === true) {
8191        emit('navigationShow');
8192      } else {
8193        emit('navigationHide');
8194      }
8195      [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass));
8196    }
8197  });
8198  const enable = () => {
8199    swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));
8200    init();
8201    update();
8202  };
8203  const disable = () => {
8204    swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));
8205    destroy();
8206  };
8207  Object.assign(swiper.navigation, {
8208    enable,
8209    disable,
8210    update,
8211    init,
8212    destroy
8213  });
8214}
8215
8216/***/ }),
8217
vendor: 18,703 bytes, lines 8218-8687
8218/***/ "../../node_modules/swiper/modules/pagination/pagination.js":
8219/*!******************************************************************!*\
8220  !*** ../../node_modules/swiper/modules/pagination/pagination.js ***!
8221  \******************************************************************/
8222/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
8223
8224__webpack_require__.r(__webpack_exports__);
8225/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8226/* harmony export */   "default": function() { return /* binding */ Pagination; }
8227/* harmony export */ });
8228/* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ "../../node_modules/swiper/shared/classes-to-selector.js");
8229/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "../../node_modules/swiper/shared/create-element-if-not-defined.js");
8230/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
8231
8232
8233
8234function Pagination({
8235  swiper,
8236  extendParams,
8237  on,
8238  emit
8239}) {
8240  const pfx = 'swiper-pagination';
8241  extendParams({
8242    pagination: {
8243      el: null,
8244      bulletElement: 'span',
8245      clickable: false,
8246      hideOnClick: false,
8247      renderBullet: null,
8248      renderProgressbar: null,
8249      renderFraction: null,
8250      renderCustom: null,
8251      progressbarOpposite: false,
8252      type: 'bullets',
8253      // 'bullets' or 'progressbar' or 'fraction' or 'custom'
8254      dynamicBullets: false,
8255      dynamicMainBullets: 1,
8256      formatFractionCurrent: number => number,
8257      formatFractionTotal: number => number,
8258      bulletClass: `${pfx}-bullet`,
8259      bulletActiveClass: `${pfx}-bullet-active`,
8260      modifierClass: `${pfx}-`,
8261      currentClass: `${pfx}-current`,
8262      totalClass: `${pfx}-total`,
8263      hiddenClass: `${pfx}-hidden`,
8264      progressbarFillClass: `${pfx}-progressbar-fill`,
8265      progressbarOppositeClass: `${pfx}-progressbar-opposite`,
8266      clickableClass: `${pfx}-clickable`,
8267      lockClass: `${pfx}-lock`,
8268      horizontalClass: `${pfx}-horizontal`,
8269      verticalClass: `${pfx}-vertical`,
8270      paginationDisabledClass: `${pfx}-disabled`
8271    }
8272  });
8273  swiper.pagination = {
8274    el: null,
8275    bullets: []
8276  };
8277  let bulletSize;
8278  let dynamicBulletIndex = 0;
8279  const makeElementsArray = el => {
8280    if (!Array.isArray(el)) el = [el].filter(e => !!e);
8281    return el;
8282  };
8283  function isPaginationDisabled() {
8284    return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0;
8285  }
8286  function setSideBullets(bulletEl, position) {
8287    const {
8288      bulletActiveClass
8289    } = swiper.params.pagination;
8290    if (!bulletEl) return;
8291    bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];
8292    if (bulletEl) {
8293      bulletEl.classList.add(`${bulletActiveClass}-${position}`);
8294      bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];
8295      if (bulletEl) {
8296        bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`);
8297      }
8298    }
8299  }
8300  function onBulletClick(e) {
8301    const bulletEl = e.target.closest((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass));
8302    if (!bulletEl) {
8303      return;
8304    }
8305    e.preventDefault();
8306    const index = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.elementIndex)(bulletEl) * swiper.params.slidesPerGroup;
8307    if (swiper.params.loop) {
8308      if (swiper.realIndex === index) return;
8309      const newSlideIndex = swiper.getSlideIndexByData(index);
8310      const currentSlideIndex = swiper.getSlideIndexByData(swiper.realIndex);
8311      if (newSlideIndex > swiper.slides.length - swiper.loopedSlides) {
8312        swiper.loopFix({
8313          direction: newSlideIndex > currentSlideIndex ? 'next' : 'prev',
8314          activeSlideIndex: newSlideIndex,
8315          slideTo: false
8316        });
8317      }
8318      swiper.slideToLoop(index);
8319    } else {
8320      swiper.slideTo(index);
8321    }
8322  }
8323  function update() {
8324    // Render || Update Pagination bullets/items
8325    const rtl = swiper.rtl;
8326    const params = swiper.params.pagination;
8327    if (isPaginationDisabled()) return;
8328    let el = swiper.pagination.el;
8329    el = makeElementsArray(el);
8330    // Current/Total
8331    let current;
8332    let previousIndex;
8333    const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
8334    const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
8335    if (swiper.params.loop) {
8336      previousIndex = swiper.previousRealIndex || 0;
8337      current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex;
8338    } else if (typeof swiper.snapIndex !== 'undefined') {
8339      current = swiper.snapIndex;
8340      previousIndex = swiper.previousSnapIndex;
8341    } else {
8342      previousIndex = swiper.previousIndex || 0;
8343      current = swiper.activeIndex || 0;
8344    }
8345    // Types
8346    if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {
8347      const bullets = swiper.pagination.bullets;
8348      let firstIndex;
8349      let lastIndex;
8350      let midIndex;
8351      if (params.dynamicBullets) {
8352        bulletSize = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.elementOuterSize)(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true);
8353        el.forEach(subEl => {
8354          subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`;
8355        });
8356        if (params.dynamicMainBullets > 1 && previousIndex !== undefined) {
8357          dynamicBulletIndex += current - (previousIndex || 0);
8358          if (dynamicBulletIndex > params.dynamicMainBullets - 1) {
8359            dynamicBulletIndex = params.dynamicMainBullets - 1;
8360          } else if (dynamicBulletIndex < 0) {
8361            dynamicBulletIndex = 0;
8362          }
8363        }
8364        firstIndex = Math.max(current - dynamicBulletIndex, 0);
8365        lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);
8366        midIndex = (lastIndex + firstIndex) / 2;
8367      }
8368      bullets.forEach(bulletEl => {
8369        const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat();
8370        bulletEl.classList.remove(...classesToRemove);
8371      });
8372      if (el.length > 1) {
8373        bullets.forEach(bullet => {
8374          const bulletIndex = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.elementIndex)(bullet);
8375          if (bulletIndex === current) {
8376            bullet.classList.add(...params.bulletActiveClass.split(' '));
8377          } else if (swiper.isElement) {
8378            bullet.setAttribute('part', 'bullet');
8379          }
8380          if (params.dynamicBullets) {
8381            if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {
8382              bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' '));
8383            }
8384            if (bulletIndex === firstIndex) {
8385              setSideBullets(bullet, 'prev');
8386            }
8387            if (bulletIndex === lastIndex) {
8388              setSideBullets(bullet, 'next');
8389            }
8390          }
8391        });
8392      } else {
8393        const bullet = bullets[current];
8394        if (bullet) {
8395          bullet.classList.add(...params.bulletActiveClass.split(' '));
8396        }
8397        if (swiper.isElement) {
8398          bullets.forEach((bulletEl, bulletIndex) => {
8399            bulletEl.setAttribute('part', bulletIndex === current ? 'bullet-active' : 'bullet');
8400          });
8401        }
8402        if (params.dynamicBullets) {
8403          const firstDisplayedBullet = bullets[firstIndex];
8404          const lastDisplayedBullet = bullets[lastIndex];
8405          for (let i = firstIndex; i <= lastIndex; i += 1) {
8406            if (bullets[i]) {
8407              bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' '));
8408            }
8409          }
8410          setSideBullets(firstDisplayedBullet, 'prev');
8411          setSideBullets(lastDisplayedBullet, 'next');
8412        }
8413      }
8414      if (params.dynamicBullets) {
8415        const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);
8416        const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;
8417        const offsetProp = rtl ? 'right' : 'left';
8418        bullets.forEach(bullet => {
8419          bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`;
8420        });
8421      }
8422    }
8423    el.forEach((subEl, subElIndex) => {
8424      if (params.type === 'fraction') {
8425        subEl.querySelectorAll((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.currentClass)).forEach(fractionEl => {
8426          fractionEl.textContent = params.formatFractionCurrent(current + 1);
8427        });
8428        subEl.querySelectorAll((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.totalClass)).forEach(totalEl => {
8429          totalEl.textContent = params.formatFractionTotal(total);
8430        });
8431      }
8432      if (params.type === 'progressbar') {
8433        let progressbarDirection;
8434        if (params.progressbarOpposite) {
8435          progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';
8436        } else {
8437          progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';
8438        }
8439        const scale = (current + 1) / total;
8440        let scaleX = 1;
8441        let scaleY = 1;
8442        if (progressbarDirection === 'horizontal') {
8443          scaleX = scale;
8444        } else {
8445          scaleY = scale;
8446        }
8447        subEl.querySelectorAll((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.progressbarFillClass)).forEach(progressEl => {
8448          progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;
8449          progressEl.style.transitionDuration = `${swiper.params.speed}ms`;
8450        });
8451      }
8452      if (params.type === 'custom' && params.renderCustom) {
8453        subEl.innerHTML = params.renderCustom(swiper, current + 1, total);
8454        if (subElIndex === 0) emit('paginationRender', subEl);
8455      } else {
8456        if (subElIndex === 0) emit('paginationRender', subEl);
8457        emit('paginationUpdate', subEl);
8458      }
8459      if (swiper.params.watchOverflow && swiper.enabled) {
8460        subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);
8461      }
8462    });
8463  }
8464  function render() {
8465    // Render Container
8466    const params = swiper.params.pagination;
8467    if (isPaginationDisabled()) return;
8468    const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
8469    let el = swiper.pagination.el;
8470    el = makeElementsArray(el);
8471    let paginationHTML = '';
8472    if (params.type === 'bullets') {
8473      let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
8474      if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) {
8475        numberOfBullets = slidesLength;
8476      }
8477      for (let i = 0; i < numberOfBullets; i += 1) {
8478        if (params.renderBullet) {
8479          paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);
8480        } else {
8481          // prettier-ignore
8482          paginationHTML += `<${params.bulletElement} ${swiper.isElement ? 'part="bullet"' : ''} class="${params.bulletClass}"></${params.bulletElement}>`;
8483        }
8484      }
8485    }
8486    if (params.type === 'fraction') {
8487      if (params.renderFraction) {
8488        paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);
8489      } else {
8490        paginationHTML = `<span class="${params.currentClass}"></span>` + ' / ' + `<span class="${params.totalClass}"></span>`;
8491      }
8492    }
8493    if (params.type === 'progressbar') {
8494      if (params.renderProgressbar) {
8495        paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);
8496      } else {
8497        paginationHTML = `<span class="${params.progressbarFillClass}"></span>`;
8498      }
8499    }
8500    swiper.pagination.bullets = [];
8501    el.forEach(subEl => {
8502      if (params.type !== 'custom') {
8503        subEl.innerHTML = paginationHTML || '';
8504      }
8505      if (params.type === 'bullets') {
8506        swiper.pagination.bullets.push(...subEl.querySelectorAll((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.bulletClass)));
8507      }
8508    });
8509    if (params.type !== 'custom') {
8510      emit('paginationRender', el[0]);
8511    }
8512  }
8513  function init() {
8514    swiper.params.pagination = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper, swiper.originalParams.pagination, swiper.params.pagination, {
8515      el: 'swiper-pagination'
8516    });
8517    const params = swiper.params.pagination;
8518    if (!params.el) return;
8519    let el;
8520    if (typeof params.el === 'string' && swiper.isElement) {
8521      el = swiper.el.shadowRoot.querySelector(params.el);
8522    }
8523    if (!el && typeof params.el === 'string') {
8524      el = [...document.querySelectorAll(params.el)];
8525    }
8526    if (!el) {
8527      el = params.el;
8528    }
8529    if (!el || el.length === 0) return;
8530    if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) {
8531      el = [...swiper.el.querySelectorAll(params.el)];
8532      // check if it belongs to another nested Swiper
8533      if (el.length > 1) {
8534        el = el.filter(subEl => {
8535          if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.elementParents)(subEl, '.swiper')[0] !== swiper.el) return false;
8536          return true;
8537        })[0];
8538      }
8539    }
8540    if (Array.isArray(el) && el.length === 1) el = el[0];
8541    Object.assign(swiper.pagination, {
8542      el
8543    });
8544    el = makeElementsArray(el);
8545    el.forEach(subEl => {
8546      if (params.type === 'bullets' && params.clickable) {
8547        subEl.classList.add(params.clickableClass);
8548      }
8549      subEl.classList.add(params.modifierClass + params.type);
8550      subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
8551      if (params.type === 'bullets' && params.dynamicBullets) {
8552        subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);
8553        dynamicBulletIndex = 0;
8554        if (params.dynamicMainBullets < 1) {
8555          params.dynamicMainBullets = 1;
8556        }
8557      }
8558      if (params.type === 'progressbar' && params.progressbarOpposite) {
8559        subEl.classList.add(params.progressbarOppositeClass);
8560      }
8561      if (params.clickable) {
8562        subEl.addEventListener('click', onBulletClick);
8563      }
8564      if (!swiper.enabled) {
8565        subEl.classList.add(params.lockClass);
8566      }
8567    });
8568  }
8569  function destroy() {
8570    const params = swiper.params.pagination;
8571    if (isPaginationDisabled()) return;
8572    let el = swiper.pagination.el;
8573    if (el) {
8574      el = makeElementsArray(el);
8575      el.forEach(subEl => {
8576        subEl.classList.remove(params.hiddenClass);
8577        subEl.classList.remove(params.modifierClass + params.type);
8578        subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
8579        if (params.clickable) {
8580          subEl.removeEventListener('click', onBulletClick);
8581        }
8582      });
8583    }
8584    if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' ')));
8585  }
8586  on('changeDirection', () => {
8587    if (!swiper.pagination || !swiper.pagination.el) return;
8588    const params = swiper.params.pagination;
8589    let {
8590      el
8591    } = swiper.pagination;
8592    el = makeElementsArray(el);
8593    el.forEach(subEl => {
8594      subEl.classList.remove(params.horizontalClass, params.verticalClass);
8595      subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
8596    });
8597  });
8598  on('init', () => {
8599    if (swiper.params.pagination.enabled === false) {
8600      // eslint-disable-next-line
8601      disable();
8602    } else {
8603      init();
8604      render();
8605      update();
8606    }
8607  });
8608  on('activeIndexChange', () => {
8609    if (typeof swiper.snapIndex === 'undefined') {
8610      update();
8611    }
8612  });
8613  on('snapIndexChange', () => {
8614    update();
8615  });
8616  on('snapGridLengthChange', () => {
8617    render();
8618    update();
8619  });
8620  on('destroy', () => {
8621    destroy();
8622  });
8623  on('enable disable', () => {
8624    let {
8625      el
8626    } = swiper.pagination;
8627    if (el) {
8628      el = makeElementsArray(el);
8629      el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass));
8630    }
8631  });
8632  on('lock unlock', () => {
8633    update();
8634  });
8635  on('click', (_s, e) => {
8636    const targetEl = e.target;
8637    let {
8638      el
8639    } = swiper.pagination;
8640    if (!Array.isArray(el)) el = [el].filter(element => !!element);
8641    if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) {
8642      if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;
8643      const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass);
8644      if (isHidden === true) {
8645        emit('paginationShow');
8646      } else {
8647        emit('paginationHide');
8648      }
8649      el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass));
8650    }
8651  });
8652  const enable = () => {
8653    swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);
8654    let {
8655      el
8656    } = swiper.pagination;
8657    if (el) {
8658      el = makeElementsArray(el);
8659      el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass));
8660    }
8661    init();
8662    render();
8663    update();
8664  };
8665  const disable = () => {
8666    swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);
8667    let {
8668      el
8669    } = swiper.pagination;
8670    if (el) {
8671      el = makeElementsArray(el);
8672      el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass));
8673    }
8674    destroy();
8675  };
8676  Object.assign(swiper.pagination, {
8677    enable,
8678    disable,
8679    render,
8680    update,
8681    init,
8682    destroy
8683  });
8684}
8685
8686/***/ }),
8687
vendor: 4,529 bytes, lines 8688-8807
8688/***/ "../../node_modules/swiper/modules/parallax/parallax.js":
8689/*!**************************************************************!*\
8690  !*** ../../node_modules/swiper/modules/parallax/parallax.js ***!
8691  \**************************************************************/
8692/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
8693
8694__webpack_require__.r(__webpack_exports__);
8695/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8696/* harmony export */   "default": function() { return /* binding */ Parallax; }
8697/* harmony export */ });
8698/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
8699
8700function Parallax({
8701  swiper,
8702  extendParams,
8703  on
8704}) {
8705  extendParams({
8706    parallax: {
8707      enabled: false
8708    }
8709  });
8710  const setTransform = (el, progress) => {
8711    const {
8712      rtl
8713    } = swiper;
8714    const rtlFactor = rtl ? -1 : 1;
8715    const p = el.getAttribute('data-swiper-parallax') || '0';
8716    let x = el.getAttribute('data-swiper-parallax-x');
8717    let y = el.getAttribute('data-swiper-parallax-y');
8718    const scale = el.getAttribute('data-swiper-parallax-scale');
8719    const opacity = el.getAttribute('data-swiper-parallax-opacity');
8720    const rotate = el.getAttribute('data-swiper-parallax-rotate');
8721    if (x || y) {
8722      x = x || '0';
8723      y = y || '0';
8724    } else if (swiper.isHorizontal()) {
8725      x = p;
8726      y = '0';
8727    } else {
8728      y = p;
8729      x = '0';
8730    }
8731    if (x.indexOf('%') >= 0) {
8732      x = `${parseInt(x, 10) * progress * rtlFactor}%`;
8733    } else {
8734      x = `${x * progress * rtlFactor}px`;
8735    }
8736    if (y.indexOf('%') >= 0) {
8737      y = `${parseInt(y, 10) * progress}%`;
8738    } else {
8739      y = `${y * progress}px`;
8740    }
8741    if (typeof opacity !== 'undefined' && opacity !== null) {
8742      const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));
8743      el.style.opacity = currentOpacity;
8744    }
8745    let transform = `translate3d(${x}, ${y}, 0px)`;
8746    if (typeof scale !== 'undefined' && scale !== null) {
8747      const currentScale = scale - (scale - 1) * (1 - Math.abs(progress));
8748      transform += ` scale(${currentScale})`;
8749    }
8750    if (rotate && typeof rotate !== 'undefined' && rotate !== null) {
8751      const currentRotate = rotate * progress * -1;
8752      transform += ` rotate(${currentRotate}deg)`;
8753    }
8754    el.style.transform = transform;
8755  };
8756  const setTranslate = () => {
8757    const {
8758      el,
8759      slides,
8760      progress,
8761      snapGrid
8762    } = swiper;
8763    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(el, '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').forEach(subEl => {
8764      setTransform(subEl, progress);
8765    });
8766    slides.forEach((slideEl, slideIndex) => {
8767      let slideProgress = slideEl.progress;
8768      if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {
8769        slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);
8770      }
8771      slideProgress = Math.min(Math.max(slideProgress, -1), 1);
8772      slideEl.querySelectorAll('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale], [data-swiper-parallax-rotate]').forEach(subEl => {
8773        setTransform(subEl, slideProgress);
8774      });
8775    });
8776  };
8777  const setTransition = (duration = swiper.params.speed) => {
8778    const {
8779      el
8780    } = swiper;
8781    el.querySelectorAll('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').forEach(parallaxEl => {
8782      let parallaxDuration = parseInt(parallaxEl.getAttribute('data-swiper-parallax-duration'), 10) || duration;
8783      if (duration === 0) parallaxDuration = 0;
8784      parallaxEl.style.transitionDuration = `${parallaxDuration}ms`;
8785    });
8786  };
8787  on('beforeInit', () => {
8788    if (!swiper.params.parallax.enabled) return;
8789    swiper.params.watchSlidesProgress = true;
8790    swiper.originalParams.watchSlidesProgress = true;
8791  });
8792  on('init', () => {
8793    if (!swiper.params.parallax.enabled) return;
8794    setTranslate();
8795  });
8796  on('setTranslate', () => {
8797    if (!swiper.params.parallax.enabled) return;
8798    setTranslate();
8799  });
8800  on('setTransition', (_swiper, duration) => {
8801    if (!swiper.params.parallax.enabled) return;
8802    setTransition(duration);
8803  });
8804}
8805
8806/***/ }),
8807
vendor: 11,380 bytes, lines 8808-9171
8808/***/ "../../node_modules/swiper/modules/scrollbar/scrollbar.js":
8809/*!****************************************************************!*\
8810  !*** ../../node_modules/swiper/modules/scrollbar/scrollbar.js ***!
8811  \****************************************************************/
8812/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
8813
8814__webpack_require__.r(__webpack_exports__);
8815/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8816/* harmony export */   "default": function() { return /* binding */ Scrollbar; }
8817/* harmony export */ });
8818/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
8819/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
8820/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "../../node_modules/swiper/shared/create-element-if-not-defined.js");
8821
8822
8823
8824function Scrollbar({
8825  swiper,
8826  extendParams,
8827  on,
8828  emit
8829}) {
8830  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
8831  let isTouched = false;
8832  let timeout = null;
8833  let dragTimeout = null;
8834  let dragStartPos;
8835  let dragSize;
8836  let trackSize;
8837  let divider;
8838  extendParams({
8839    scrollbar: {
8840      el: null,
8841      dragSize: 'auto',
8842      hide: false,
8843      draggable: false,
8844      snapOnRelease: true,
8845      lockClass: 'swiper-scrollbar-lock',
8846      dragClass: 'swiper-scrollbar-drag',
8847      scrollbarDisabledClass: 'swiper-scrollbar-disabled',
8848      horizontalClass: `swiper-scrollbar-horizontal`,
8849      verticalClass: `swiper-scrollbar-vertical`
8850    }
8851  });
8852  swiper.scrollbar = {
8853    el: null,
8854    dragEl: null
8855  };
8856  function setTranslate() {
8857    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
8858    const {
8859      scrollbar,
8860      rtlTranslate: rtl
8861    } = swiper;
8862    const {
8863      dragEl,
8864      el
8865    } = scrollbar;
8866    const params = swiper.params.scrollbar;
8867    const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress;
8868    let newSize = dragSize;
8869    let newPos = (trackSize - dragSize) * progress;
8870    if (rtl) {
8871      newPos = -newPos;
8872      if (newPos > 0) {
8873        newSize = dragSize - newPos;
8874        newPos = 0;
8875      } else if (-newPos + dragSize > trackSize) {
8876        newSize = trackSize + newPos;
8877      }
8878    } else if (newPos < 0) {
8879      newSize = dragSize + newPos;
8880      newPos = 0;
8881    } else if (newPos + dragSize > trackSize) {
8882      newSize = trackSize - newPos;
8883    }
8884    if (swiper.isHorizontal()) {
8885      dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`;
8886      dragEl.style.width = `${newSize}px`;
8887    } else {
8888      dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`;
8889      dragEl.style.height = `${newSize}px`;
8890    }
8891    if (params.hide) {
8892      clearTimeout(timeout);
8893      el.style.opacity = 1;
8894      timeout = setTimeout(() => {
8895        el.style.opacity = 0;
8896        el.style.transitionDuration = '400ms';
8897      }, 1000);
8898    }
8899  }
8900  function setTransition(duration) {
8901    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
8902    swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`;
8903  }
8904  function updateSize() {
8905    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
8906    const {
8907      scrollbar
8908    } = swiper;
8909    const {
8910      dragEl,
8911      el
8912    } = scrollbar;
8913    dragEl.style.width = '';
8914    dragEl.style.height = '';
8915    trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight;
8916    divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));
8917    if (swiper.params.scrollbar.dragSize === 'auto') {
8918      dragSize = trackSize * divider;
8919    } else {
8920      dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);
8921    }
8922    if (swiper.isHorizontal()) {
8923      dragEl.style.width = `${dragSize}px`;
8924    } else {
8925      dragEl.style.height = `${dragSize}px`;
8926    }
8927    if (divider >= 1) {
8928      el.style.display = 'none';
8929    } else {
8930      el.style.display = '';
8931    }
8932    if (swiper.params.scrollbar.hide) {
8933      el.style.opacity = 0;
8934    }
8935    if (swiper.params.watchOverflow && swiper.enabled) {
8936      scrollbar.el.classList[swiper.isLocked ? 'add' : 'remove'](swiper.params.scrollbar.lockClass);
8937    }
8938  }
8939  function getPointerPosition(e) {
8940    return swiper.isHorizontal() ? e.clientX : e.clientY;
8941  }
8942  function setDragPosition(e) {
8943    const {
8944      scrollbar,
8945      rtlTranslate: rtl
8946    } = swiper;
8947    const {
8948      el
8949    } = scrollbar;
8950    let positionRatio;
8951    positionRatio = (getPointerPosition(e) - (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementOffset)(el)[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);
8952    positionRatio = Math.max(Math.min(positionRatio, 1), 0);
8953    if (rtl) {
8954      positionRatio = 1 - positionRatio;
8955    }
8956    const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;
8957    swiper.updateProgress(position);
8958    swiper.setTranslate(position);
8959    swiper.updateActiveIndex();
8960    swiper.updateSlidesClasses();
8961  }
8962  function onDragStart(e) {
8963    const params = swiper.params.scrollbar;
8964    const {
8965      scrollbar,
8966      wrapperEl
8967    } = swiper;
8968    const {
8969      el,
8970      dragEl
8971    } = scrollbar;
8972    isTouched = true;
8973    dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;
8974    e.preventDefault();
8975    e.stopPropagation();
8976    wrapperEl.style.transitionDuration = '100ms';
8977    dragEl.style.transitionDuration = '100ms';
8978    setDragPosition(e);
8979    clearTimeout(dragTimeout);
8980    el.style.transitionDuration = '0ms';
8981    if (params.hide) {
8982      el.style.opacity = 1;
8983    }
8984    if (swiper.params.cssMode) {
8985      swiper.wrapperEl.style['scroll-snap-type'] = 'none';
8986    }
8987    emit('scrollbarDragStart', e);
8988  }
8989  function onDragMove(e) {
8990    const {
8991      scrollbar,
8992      wrapperEl
8993    } = swiper;
8994    const {
8995      el,
8996      dragEl
8997    } = scrollbar;
8998    if (!isTouched) return;
8999    if (e.preventDefault) e.preventDefault();else e.returnValue = false;
9000    setDragPosition(e);
9001    wrapperEl.style.transitionDuration = '0ms';
9002    el.style.transitionDuration = '0ms';
9003    dragEl.style.transitionDuration = '0ms';
9004    emit('scrollbarDragMove', e);
9005  }
9006  function onDragEnd(e) {
9007    const params = swiper.params.scrollbar;
9008    const {
9009      scrollbar,
9010      wrapperEl
9011    } = swiper;
9012    const {
9013      el
9014    } = scrollbar;
9015    if (!isTouched) return;
9016    isTouched = false;
9017    if (swiper.params.cssMode) {
9018      swiper.wrapperEl.style['scroll-snap-type'] = '';
9019      wrapperEl.style.transitionDuration = '';
9020    }
9021    if (params.hide) {
9022      clearTimeout(dragTimeout);
9023      dragTimeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {
9024        el.style.opacity = 0;
9025        el.style.transitionDuration = '400ms';
9026      }, 1000);
9027    }
9028    emit('scrollbarDragEnd', e);
9029    if (params.snapOnRelease) {
9030      swiper.slideToClosest();
9031    }
9032  }
9033  function events(method) {
9034    const {
9035      scrollbar,
9036      params
9037    } = swiper;
9038    const el = scrollbar.el;
9039    if (!el) return;
9040    const target = el;
9041    const activeListener = params.passiveListeners ? {
9042      passive: false,
9043      capture: false
9044    } : false;
9045    const passiveListener = params.passiveListeners ? {
9046      passive: true,
9047      capture: false
9048    } : false;
9049    if (!target) return;
9050    const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';
9051    target[eventMethod]('pointerdown', onDragStart, activeListener);
9052    document[eventMethod]('pointermove', onDragMove, activeListener);
9053    document[eventMethod]('pointerup', onDragEnd, passiveListener);
9054  }
9055  function enableDraggable() {
9056    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
9057    events('on');
9058  }
9059  function disableDraggable() {
9060    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
9061    events('off');
9062  }
9063  function init() {
9064    const {
9065      scrollbar,
9066      el: swiperEl
9067    } = swiper;
9068    swiper.params.scrollbar = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__["default"])(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {
9069      el: 'swiper-scrollbar'
9070    });
9071    const params = swiper.params.scrollbar;
9072    if (!params.el) return;
9073    let el;
9074    if (typeof params.el === 'string' && swiper.isElement) {
9075      el = swiper.el.shadowRoot.querySelector(params.el);
9076    }
9077    if (!el && typeof params.el === 'string') {
9078      el = document.querySelectorAll(params.el);
9079    } else if (!el) {
9080      el = params.el;
9081    }
9082    if (swiper.params.uniqueNavElements && typeof params.el === 'string' && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) {
9083      el = swiperEl.querySelector(params.el);
9084    }
9085    if (el.length > 0) el = el[0];
9086    el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
9087    let dragEl;
9088    if (el) {
9089      dragEl = el.querySelector(`.${swiper.params.scrollbar.dragClass}`);
9090      if (!dragEl) {
9091        dragEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', swiper.params.scrollbar.dragClass);
9092        el.append(dragEl);
9093      }
9094    }
9095    Object.assign(scrollbar, {
9096      el,
9097      dragEl
9098    });
9099    if (params.draggable) {
9100      enableDraggable();
9101    }
9102    if (el) {
9103      el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.scrollbar.lockClass);
9104    }
9105  }
9106  function destroy() {
9107    const params = swiper.params.scrollbar;
9108    const el = swiper.scrollbar.el;
9109    if (el) {
9110      el.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
9111    }
9112    disableDraggable();
9113  }
9114  on('init', () => {
9115    if (swiper.params.scrollbar.enabled === false) {
9116      // eslint-disable-next-line
9117      disable();
9118    } else {
9119      init();
9120      updateSize();
9121      setTranslate();
9122    }
9123  });
9124  on('update resize observerUpdate lock unlock', () => {
9125    updateSize();
9126  });
9127  on('setTranslate', () => {
9128    setTranslate();
9129  });
9130  on('setTransition', (_s, duration) => {
9131    setTransition(duration);
9132  });
9133  on('enable disable', () => {
9134    const {
9135      el
9136    } = swiper.scrollbar;
9137    if (el) {
9138      el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.scrollbar.lockClass);
9139    }
9140  });
9141  on('destroy', () => {
9142    destroy();
9143  });
9144  const enable = () => {
9145    swiper.el.classList.remove(swiper.params.scrollbar.scrollbarDisabledClass);
9146    if (swiper.scrollbar.el) {
9147      swiper.scrollbar.el.classList.remove(swiper.params.scrollbar.scrollbarDisabledClass);
9148    }
9149    init();
9150    updateSize();
9151    setTranslate();
9152  };
9153  const disable = () => {
9154    swiper.el.classList.add(swiper.params.scrollbar.scrollbarDisabledClass);
9155    if (swiper.scrollbar.el) {
9156      swiper.scrollbar.el.classList.add(swiper.params.scrollbar.scrollbarDisabledClass);
9157    }
9158    destroy();
9159  };
9160  Object.assign(swiper.scrollbar, {
9161    enable,
9162    disable,
9163    updateSize,
9164    setTranslate,
9165    init,
9166    destroy
9167  });
9168}
9169
9170/***/ }),
9171
vendor: 8,099 bytes, lines 9172-9376
9172/***/ "../../node_modules/swiper/modules/thumbs/thumbs.js":
9173/*!**********************************************************!*\
9174  !*** ../../node_modules/swiper/modules/thumbs/thumbs.js ***!
9175  \**********************************************************/
9176/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9177
9178__webpack_require__.r(__webpack_exports__);
9179/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9180/* harmony export */   "default": function() { return /* binding */ Thumb; }
9181/* harmony export */ });
9182/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
9183/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
9184
9185
9186function Thumb({
9187  swiper,
9188  extendParams,
9189  on
9190}) {
9191  extendParams({
9192    thumbs: {
9193      swiper: null,
9194      multipleActiveThumbs: true,
9195      autoScrollOffset: 0,
9196      slideThumbActiveClass: 'swiper-slide-thumb-active',
9197      thumbsContainerClass: 'swiper-thumbs'
9198    }
9199  });
9200  let initialized = false;
9201  let swiperCreated = false;
9202  swiper.thumbs = {
9203    swiper: null
9204  };
9205  function onThumbClick() {
9206    const thumbsSwiper = swiper.thumbs.swiper;
9207    if (!thumbsSwiper || thumbsSwiper.destroyed) return;
9208    const clickedIndex = thumbsSwiper.clickedIndex;
9209    const clickedSlide = thumbsSwiper.clickedSlide;
9210    if (clickedSlide && clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass)) return;
9211    if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;
9212    let slideToIndex;
9213    if (thumbsSwiper.params.loop) {
9214      slideToIndex = parseInt(thumbsSwiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);
9215    } else {
9216      slideToIndex = clickedIndex;
9217    }
9218    if (swiper.params.loop) {
9219      swiper.slideToLoop(slideToIndex);
9220    } else {
9221      swiper.slideTo(slideToIndex);
9222    }
9223  }
9224  function init() {
9225    const {
9226      thumbs: thumbsParams
9227    } = swiper.params;
9228    if (initialized) return false;
9229    initialized = true;
9230    const SwiperClass = swiper.constructor;
9231    if (thumbsParams.swiper instanceof SwiperClass) {
9232      swiper.thumbs.swiper = thumbsParams.swiper;
9233      Object.assign(swiper.thumbs.swiper.originalParams, {
9234        watchSlidesProgress: true,
9235        slideToClickedSlide: false
9236      });
9237      Object.assign(swiper.thumbs.swiper.params, {
9238        watchSlidesProgress: true,
9239        slideToClickedSlide: false
9240      });
9241      swiper.thumbs.swiper.update();
9242    } else if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.isObject)(thumbsParams.swiper)) {
9243      const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);
9244      Object.assign(thumbsSwiperParams, {
9245        watchSlidesProgress: true,
9246        slideToClickedSlide: false
9247      });
9248      swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);
9249      swiperCreated = true;
9250    }
9251    swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass);
9252    swiper.thumbs.swiper.on('tap', onThumbClick);
9253    return true;
9254  }
9255  function update(initial) {
9256    const thumbsSwiper = swiper.thumbs.swiper;
9257    if (!thumbsSwiper || thumbsSwiper.destroyed) return;
9258    const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;
9259
9260    // Activate thumbs
9261    let thumbsToActivate = 1;
9262    const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;
9263    if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {
9264      thumbsToActivate = swiper.params.slidesPerView;
9265    }
9266    if (!swiper.params.thumbs.multipleActiveThumbs) {
9267      thumbsToActivate = 1;
9268    }
9269    thumbsToActivate = Math.floor(thumbsToActivate);
9270    thumbsSwiper.slides.forEach(slideEl => slideEl.classList.remove(thumbActiveClass));
9271    if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {
9272      for (let i = 0; i < thumbsToActivate; i += 1) {
9273        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(thumbsSwiper.slidesEl, `[data-swiper-slide-index="${swiper.realIndex + i}"]`).forEach(slideEl => {
9274          slideEl.classList.add(thumbActiveClass);
9275        });
9276      }
9277    } else {
9278      for (let i = 0; i < thumbsToActivate; i += 1) {
9279        if (thumbsSwiper.slides[swiper.realIndex + i]) {
9280          thumbsSwiper.slides[swiper.realIndex + i].classList.add(thumbActiveClass);
9281        }
9282      }
9283    }
9284    const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;
9285    const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;
9286    if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {
9287      const currentThumbsIndex = thumbsSwiper.activeIndex;
9288      let newThumbsIndex;
9289      let direction;
9290      if (thumbsSwiper.params.loop) {
9291        const newThumbsSlide = thumbsSwiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') === `${swiper.realIndex}`)[0];
9292        newThumbsIndex = thumbsSwiper.slides.indexOf(newThumbsSlide);
9293        direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';
9294      } else {
9295        newThumbsIndex = swiper.realIndex;
9296        direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';
9297      }
9298      if (useOffset) {
9299        newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;
9300      }
9301      if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {
9302        if (thumbsSwiper.params.centeredSlides) {
9303          if (newThumbsIndex > currentThumbsIndex) {
9304            newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;
9305          } else {
9306            newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;
9307          }
9308        } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) {
9309          // newThumbsIndex = newThumbsIndex - slidesPerView + 1;
9310        }
9311        thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);
9312      }
9313    }
9314  }
9315  on('beforeInit', () => {
9316    const {
9317      thumbs
9318    } = swiper.params;
9319    if (!thumbs || !thumbs.swiper) return;
9320    if (typeof thumbs.swiper === 'string' || thumbs.swiper instanceof HTMLElement) {
9321      const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
9322      const getThumbsElementAndInit = () => {
9323        const thumbsElement = typeof thumbs.swiper === 'string' ? document.querySelector(thumbs.swiper) : thumbs.swiper;
9324        if (thumbsElement && thumbsElement.swiper) {
9325          thumbs.swiper = thumbsElement.swiper;
9326          init();
9327          update(true);
9328        } else if (thumbsElement) {
9329          const onThumbsSwiper = e => {
9330            thumbs.swiper = e.detail[0];
9331            thumbsElement.removeEventListener('init', onThumbsSwiper);
9332            init();
9333            update(true);
9334            thumbs.swiper.update();
9335            swiper.update();
9336          };
9337          thumbsElement.addEventListener('init', onThumbsSwiper);
9338        }
9339        return thumbsElement;
9340      };
9341      const watchForThumbsToAppear = () => {
9342        if (swiper.destroyed) return;
9343        const thumbsElement = getThumbsElementAndInit();
9344        if (!thumbsElement) {
9345          requestAnimationFrame(watchForThumbsToAppear);
9346        }
9347      };
9348      requestAnimationFrame(watchForThumbsToAppear);
9349    } else {
9350      init();
9351      update(true);
9352    }
9353  });
9354  on('slideChange update resize observerUpdate', () => {
9355    update();
9356  });
9357  on('setTransition', (_s, duration) => {
9358    const thumbsSwiper = swiper.thumbs.swiper;
9359    if (!thumbsSwiper || thumbsSwiper.destroyed) return;
9360    thumbsSwiper.setTransition(duration);
9361  });
9362  on('beforeDestroy', () => {
9363    const thumbsSwiper = swiper.thumbs.swiper;
9364    if (!thumbsSwiper || thumbsSwiper.destroyed) return;
9365    if (swiperCreated) {
9366      thumbsSwiper.destroy();
9367    }
9368  });
9369  Object.assign(swiper.thumbs, {
9370    init,
9371    update
9372  });
9373}
9374
9375/***/ }),
9376
vendor: 11,600 bytes, lines 9377-9716
9377/***/ "../../node_modules/swiper/modules/virtual/virtual.js":
9378/*!************************************************************!*\
9379  !*** ../../node_modules/swiper/modules/virtual/virtual.js ***!
9380  \************************************************************/
9381/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9382
9383__webpack_require__.r(__webpack_exports__);
9384/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9385/* harmony export */   "default": function() { return /* binding */ Virtual; }
9386/* harmony export */ });
9387/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
9388/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
9389
9390
9391function Virtual({
9392  swiper,
9393  extendParams,
9394  on,
9395  emit
9396}) {
9397  extendParams({
9398    virtual: {
9399      enabled: false,
9400      slides: [],
9401      cache: true,
9402      renderSlide: null,
9403      renderExternal: null,
9404      renderExternalUpdate: true,
9405      addSlidesBefore: 0,
9406      addSlidesAfter: 0
9407    }
9408  });
9409  let cssModeTimeout;
9410  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
9411  swiper.virtual = {
9412    cache: {},
9413    from: undefined,
9414    to: undefined,
9415    slides: [],
9416    offset: 0,
9417    slidesGrid: []
9418  };
9419  const tempDOM = document.createElement('div');
9420  function renderSlide(slide, index) {
9421    const params = swiper.params.virtual;
9422    if (params.cache && swiper.virtual.cache[index]) {
9423      return swiper.virtual.cache[index];
9424    }
9425    // eslint-disable-next-line
9426    let slideEl;
9427    if (params.renderSlide) {
9428      slideEl = params.renderSlide.call(swiper, slide, index);
9429      if (typeof slideEl === 'string') {
9430        tempDOM.innerHTML = slideEl;
9431        slideEl = tempDOM.children[0];
9432      }
9433    } else if (swiper.isElement) {
9434      slideEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('swiper-slide');
9435    } else {
9436      slideEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', swiper.params.slideClass);
9437    }
9438    slideEl.setAttribute('data-swiper-slide-index', index);
9439    if (!params.renderSlide) {
9440      slideEl.innerHTML = slide;
9441    }
9442    if (params.cache) swiper.virtual.cache[index] = slideEl;
9443    return slideEl;
9444  }
9445  function update(force) {
9446    const {
9447      slidesPerView,
9448      slidesPerGroup,
9449      centeredSlides,
9450      loop: isLoop
9451    } = swiper.params;
9452    const {
9453      addSlidesBefore,
9454      addSlidesAfter
9455    } = swiper.params.virtual;
9456    const {
9457      from: previousFrom,
9458      to: previousTo,
9459      slides,
9460      slidesGrid: previousSlidesGrid,
9461      offset: previousOffset
9462    } = swiper.virtual;
9463    if (!swiper.params.cssMode) {
9464      swiper.updateActiveIndex();
9465    }
9466    const activeIndex = swiper.activeIndex || 0;
9467    let offsetProp;
9468    if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';
9469    let slidesAfter;
9470    let slidesBefore;
9471    if (centeredSlides) {
9472      slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;
9473      slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;
9474    } else {
9475      slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;
9476      slidesBefore = (isLoop ? slidesPerView : slidesPerGroup) + addSlidesBefore;
9477    }
9478    let from = activeIndex - slidesBefore;
9479    let to = activeIndex + slidesAfter;
9480    if (!isLoop) {
9481      from = Math.max(from, 0);
9482      to = Math.min(to, slides.length - 1);
9483    }
9484    let offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);
9485    if (isLoop && activeIndex >= slidesBefore) {
9486      from -= slidesBefore;
9487      if (!centeredSlides) offset += swiper.slidesGrid[0];
9488    } else if (isLoop && activeIndex < slidesBefore) {
9489      from = -slidesBefore;
9490      if (centeredSlides) offset += swiper.slidesGrid[0];
9491    }
9492    Object.assign(swiper.virtual, {
9493      from,
9494      to,
9495      offset,
9496      slidesGrid: swiper.slidesGrid,
9497      slidesBefore,
9498      slidesAfter
9499    });
9500    function onRendered() {
9501      swiper.updateSlides();
9502      swiper.updateProgress();
9503      swiper.updateSlidesClasses();
9504      emit('virtualUpdate');
9505    }
9506    if (previousFrom === from && previousTo === to && !force) {
9507      if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {
9508        swiper.slides.forEach(slideEl => {
9509          slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;
9510        });
9511      }
9512      swiper.updateProgress();
9513      emit('virtualUpdate');
9514      return;
9515    }
9516    if (swiper.params.virtual.renderExternal) {
9517      swiper.params.virtual.renderExternal.call(swiper, {
9518        offset,
9519        from,
9520        to,
9521        slides: function getSlides() {
9522          const slidesToRender = [];
9523          for (let i = from; i <= to; i += 1) {
9524            slidesToRender.push(slides[i]);
9525          }
9526          return slidesToRender;
9527        }()
9528      });
9529      if (swiper.params.virtual.renderExternalUpdate) {
9530        onRendered();
9531      } else {
9532        emit('virtualUpdate');
9533      }
9534      return;
9535    }
9536    const prependIndexes = [];
9537    const appendIndexes = [];
9538    const getSlideIndex = index => {
9539      let slideIndex = index;
9540      if (index < 0) {
9541        slideIndex = slides.length + index;
9542      } else if (slideIndex >= slides.length) {
9543        // eslint-disable-next-line
9544        slideIndex = slideIndex - slides.length;
9545      }
9546      return slideIndex;
9547    };
9548    if (force) {
9549      swiper.slidesEl.querySelectorAll(`.${swiper.params.slideClass}, swiper-slide`).forEach(slideEl => {
9550        slideEl.remove();
9551      });
9552    } else {
9553      for (let i = previousFrom; i <= previousTo; i += 1) {
9554        if (i < from || i > to) {
9555          const slideIndex = getSlideIndex(i);
9556          swiper.slidesEl.querySelectorAll(`.${swiper.params.slideClass}[data-swiper-slide-index="${slideIndex}"], swiper-slide[data-swiper-slide-index="${slideIndex}"]`).forEach(slideEl => {
9557            slideEl.remove();
9558          });
9559        }
9560      }
9561    }
9562    const loopFrom = isLoop ? -slides.length : 0;
9563    const loopTo = isLoop ? slides.length * 2 : slides.length;
9564    for (let i = loopFrom; i < loopTo; i += 1) {
9565      if (i >= from && i <= to) {
9566        const slideIndex = getSlideIndex(i);
9567        if (typeof previousTo === 'undefined' || force) {
9568          appendIndexes.push(slideIndex);
9569        } else {
9570          if (i > previousTo) appendIndexes.push(slideIndex);
9571          if (i < previousFrom) prependIndexes.push(slideIndex);
9572        }
9573      }
9574    }
9575    appendIndexes.forEach(index => {
9576      swiper.slidesEl.append(renderSlide(slides[index], index));
9577    });
9578    if (isLoop) {
9579      for (let i = prependIndexes.length - 1; i >= 0; i -= 1) {
9580        const index = prependIndexes[i];
9581        swiper.slidesEl.prepend(renderSlide(slides[index], index));
9582      }
9583    } else {
9584      prependIndexes.sort((a, b) => b - a);
9585      prependIndexes.forEach(index => {
9586        swiper.slidesEl.prepend(renderSlide(slides[index], index));
9587      });
9588    }
9589    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(swiper.slidesEl, '.swiper-slide, swiper-slide').forEach(slideEl => {
9590      slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;
9591    });
9592    onRendered();
9593  }
9594  function appendSlide(slides) {
9595    if (typeof slides === 'object' && 'length' in slides) {
9596      for (let i = 0; i < slides.length; i += 1) {
9597        if (slides[i]) swiper.virtual.slides.push(slides[i]);
9598      }
9599    } else {
9600      swiper.virtual.slides.push(slides);
9601    }
9602    update(true);
9603  }
9604  function prependSlide(slides) {
9605    const activeIndex = swiper.activeIndex;
9606    let newActiveIndex = activeIndex + 1;
9607    let numberOfNewSlides = 1;
9608    if (Array.isArray(slides)) {
9609      for (let i = 0; i < slides.length; i += 1) {
9610        if (slides[i]) swiper.virtual.slides.unshift(slides[i]);
9611      }
9612      newActiveIndex = activeIndex + slides.length;
9613      numberOfNewSlides = slides.length;
9614    } else {
9615      swiper.virtual.slides.unshift(slides);
9616    }
9617    if (swiper.params.virtual.cache) {
9618      const cache = swiper.virtual.cache;
9619      const newCache = {};
9620      Object.keys(cache).forEach(cachedIndex => {
9621        const cachedEl = cache[cachedIndex];
9622        const cachedElIndex = cachedEl.getAttribute('data-swiper-slide-index');
9623        if (cachedElIndex) {
9624          cachedEl.setAttribute('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides);
9625        }
9626        newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cachedEl;
9627      });
9628      swiper.virtual.cache = newCache;
9629    }
9630    update(true);
9631    swiper.slideTo(newActiveIndex, 0);
9632  }
9633  function removeSlide(slidesIndexes) {
9634    if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;
9635    let activeIndex = swiper.activeIndex;
9636    if (Array.isArray(slidesIndexes)) {
9637      for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {
9638        swiper.virtual.slides.splice(slidesIndexes[i], 1);
9639        if (swiper.params.virtual.cache) {
9640          delete swiper.virtual.cache[slidesIndexes[i]];
9641        }
9642        if (slidesIndexes[i] < activeIndex) activeIndex -= 1;
9643        activeIndex = Math.max(activeIndex, 0);
9644      }
9645    } else {
9646      swiper.virtual.slides.splice(slidesIndexes, 1);
9647      if (swiper.params.virtual.cache) {
9648        delete swiper.virtual.cache[slidesIndexes];
9649      }
9650      if (slidesIndexes < activeIndex) activeIndex -= 1;
9651      activeIndex = Math.max(activeIndex, 0);
9652    }
9653    update(true);
9654    swiper.slideTo(activeIndex, 0);
9655  }
9656  function removeAllSlides() {
9657    swiper.virtual.slides = [];
9658    if (swiper.params.virtual.cache) {
9659      swiper.virtual.cache = {};
9660    }
9661    update(true);
9662    swiper.slideTo(0, 0);
9663  }
9664  on('beforeInit', () => {
9665    if (!swiper.params.virtual.enabled) return;
9666    let domSlidesAssigned;
9667    if (typeof swiper.passedParams.virtual.slides === 'undefined') {
9668      const slides = [...swiper.slidesEl.children].filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`));
9669      if (slides && slides.length) {
9670        swiper.virtual.slides = [...slides];
9671        domSlidesAssigned = true;
9672        slides.forEach((slideEl, slideIndex) => {
9673          slideEl.setAttribute('data-swiper-slide-index', slideIndex);
9674          swiper.virtual.cache[slideIndex] = slideEl;
9675          slideEl.remove();
9676        });
9677      }
9678    }
9679    if (!domSlidesAssigned) {
9680      swiper.virtual.slides = swiper.params.virtual.slides;
9681    }
9682    swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);
9683    swiper.params.watchSlidesProgress = true;
9684    swiper.originalParams.watchSlidesProgress = true;
9685    if (!swiper.params.initialSlide) {
9686      update();
9687    }
9688  });
9689  on('setTranslate', () => {
9690    if (!swiper.params.virtual.enabled) return;
9691    if (swiper.params.cssMode && !swiper._immediateVirtual) {
9692      clearTimeout(cssModeTimeout);
9693      cssModeTimeout = setTimeout(() => {
9694        update();
9695      }, 100);
9696    } else {
9697      update();
9698    }
9699  });
9700  on('init update resize', () => {
9701    if (!swiper.params.virtual.enabled) return;
9702    if (swiper.params.cssMode) {
9703      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.setCSSProperty)(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`);
9704    }
9705  });
9706  Object.assign(swiper.virtual, {
9707    appendSlide,
9708    prependSlide,
9709    removeSlide,
9710    removeAllSlides,
9711    update
9712  });
9713}
9714
9715/***/ }),
9716
vendor: 22,595 bytes, lines 9717-10318
9717/***/ "../../node_modules/swiper/modules/zoom/zoom.js":
9718/*!******************************************************!*\
9719  !*** ../../node_modules/swiper/modules/zoom/zoom.js ***!
9720  \******************************************************/
9721/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9722
9723__webpack_require__.r(__webpack_exports__);
9724/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9725/* harmony export */   "default": function() { return /* binding */ Zoom; }
9726/* harmony export */ });
9727/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
9728/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "../../node_modules/swiper/shared/utils.js");
9729
9730
9731function Zoom({
9732  swiper,
9733  extendParams,
9734  on,
9735  emit
9736}) {
9737  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
9738  extendParams({
9739    zoom: {
9740      enabled: false,
9741      maxRatio: 3,
9742      minRatio: 1,
9743      toggle: true,
9744      containerClass: 'swiper-zoom-container',
9745      zoomedSlideClass: 'swiper-slide-zoomed'
9746    }
9747  });
9748  swiper.zoom = {
9749    enabled: false
9750  };
9751  let currentScale = 1;
9752  let isScaling = false;
9753  let fakeGestureTouched;
9754  let fakeGestureMoved;
9755  const evCache = [];
9756  const gesture = {
9757    originX: 0,
9758    originY: 0,
9759    slideEl: undefined,
9760    slideWidth: undefined,
9761    slideHeight: undefined,
9762    imageEl: undefined,
9763    imageWrapEl: undefined,
9764    maxRatio: 3
9765  };
9766  const image = {
9767    isTouched: undefined,
9768    isMoved: undefined,
9769    currentX: undefined,
9770    currentY: undefined,
9771    minX: undefined,
9772    minY: undefined,
9773    maxX: undefined,
9774    maxY: undefined,
9775    width: undefined,
9776    height: undefined,
9777    startX: undefined,
9778    startY: undefined,
9779    touchesStart: {},
9780    touchesCurrent: {}
9781  };
9782  const velocity = {
9783    x: undefined,
9784    y: undefined,
9785    prevPositionX: undefined,
9786    prevPositionY: undefined,
9787    prevTime: undefined
9788  };
9789  let scale = 1;
9790  Object.defineProperty(swiper.zoom, 'scale', {
9791    get() {
9792      return scale;
9793    },
9794    set(value) {
9795      if (scale !== value) {
9796        const imageEl = gesture.imageEl;
9797        const slideEl = gesture.slideEl;
9798        emit('zoomChange', value, imageEl, slideEl);
9799      }
9800      scale = value;
9801    }
9802  });
9803  function getDistanceBetweenTouches() {
9804    if (evCache.length < 2) return 1;
9805    const x1 = evCache[0].pageX;
9806    const y1 = evCache[0].pageY;
9807    const x2 = evCache[1].pageX;
9808    const y2 = evCache[1].pageY;
9809    const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);
9810    return distance;
9811  }
9812  function getScaleOrigin() {
9813    if (evCache.length < 2) return {
9814      x: null,
9815      y: null
9816    };
9817    const box = gesture.imageEl.getBoundingClientRect();
9818    return [(evCache[0].pageX + (evCache[1].pageX - evCache[0].pageX) / 2 - box.x) / currentScale, (evCache[0].pageY + (evCache[1].pageY - evCache[0].pageY) / 2 - box.y) / currentScale];
9819  }
9820  function getSlideSelector() {
9821    return swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;
9822  }
9823  function eventWithinSlide(e) {
9824    const slideSelector = getSlideSelector();
9825    if (e.target.matches(slideSelector)) return true;
9826    if (swiper.slides.filter(slideEl => slideEl.contains(e.target)).length > 0) return true;
9827    return false;
9828  }
9829  function eventWithinZoomContainer(e) {
9830    const selector = `.${swiper.params.zoom.containerClass}`;
9831    if (e.target.matches(selector)) return true;
9832    if ([...swiper.el.querySelectorAll(selector)].filter(containerEl => containerEl.contains(e.target)).length > 0) return true;
9833    return false;
9834  }
9835
9836  // Events
9837  function onGestureStart(e) {
9838    if (e.pointerType === 'mouse') {
9839      evCache.splice(0, evCache.length);
9840    }
9841    if (!eventWithinSlide(e)) return;
9842    const params = swiper.params.zoom;
9843    fakeGestureTouched = false;
9844    fakeGestureMoved = false;
9845    evCache.push(e);
9846    if (evCache.length < 2) {
9847      return;
9848    }
9849    fakeGestureTouched = true;
9850    gesture.scaleStart = getDistanceBetweenTouches();
9851    if (!gesture.slideEl) {
9852      gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
9853      if (!gesture.slideEl) gesture.slideEl = swiper.slides[swiper.activeIndex];
9854      let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);
9855      if (imageEl) {
9856        imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];
9857      }
9858      gesture.imageEl = imageEl;
9859      if (imageEl) {
9860        gesture.imageWrapEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(gesture.imageEl, `.${params.containerClass}`)[0];
9861      } else {
9862        gesture.imageWrapEl = undefined;
9863      }
9864      if (!gesture.imageWrapEl) {
9865        gesture.imageEl = undefined;
9866        return;
9867      }
9868      gesture.maxRatio = gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio;
9869    }
9870    if (gesture.imageEl) {
9871      const [originX, originY] = getScaleOrigin();
9872      gesture.originX = originX;
9873      gesture.originY = originY;
9874      gesture.imageEl.style.transitionDuration = '0ms';
9875    }
9876    isScaling = true;
9877  }
9878  function onGestureChange(e) {
9879    if (!eventWithinSlide(e)) return;
9880    const params = swiper.params.zoom;
9881    const zoom = swiper.zoom;
9882    const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);
9883    if (pointerIndex >= 0) evCache[pointerIndex] = e;
9884    if (evCache.length < 2) {
9885      return;
9886    }
9887    fakeGestureMoved = true;
9888    gesture.scaleMove = getDistanceBetweenTouches();
9889    if (!gesture.imageEl) {
9890      return;
9891    }
9892    zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale;
9893    if (zoom.scale > gesture.maxRatio) {
9894      zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;
9895    }
9896    if (zoom.scale < params.minRatio) {
9897      zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;
9898    }
9899    gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;
9900  }
9901  function onGestureEnd(e) {
9902    if (!eventWithinSlide(e)) return;
9903    if (e.pointerType === 'mouse' && e.type === 'pointerout') return;
9904    const params = swiper.params.zoom;
9905    const zoom = swiper.zoom;
9906    const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);
9907    if (pointerIndex >= 0) evCache.splice(pointerIndex, 1);
9908    if (!fakeGestureTouched || !fakeGestureMoved) {
9909      return;
9910    }
9911    fakeGestureTouched = false;
9912    fakeGestureMoved = false;
9913    if (!gesture.imageEl) return;
9914    zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);
9915    gesture.imageEl.style.transitionDuration = `${swiper.params.speed}ms`;
9916    gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;
9917    currentScale = zoom.scale;
9918    isScaling = false;
9919    if (zoom.scale > 1 && gesture.slideEl) {
9920      gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);
9921    } else if (zoom.scale <= 1 && gesture.slideEl) {
9922      gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);
9923    }
9924    if (zoom.scale === 1) {
9925      gesture.originX = 0;
9926      gesture.originY = 0;
9927      gesture.slideEl = undefined;
9928    }
9929  }
9930  function onTouchStart(e) {
9931    const device = swiper.device;
9932    if (!gesture.imageEl) return;
9933    if (image.isTouched) return;
9934    if (device.android && e.cancelable) e.preventDefault();
9935    image.isTouched = true;
9936    const event = evCache.length > 0 ? evCache[0] : e;
9937    image.touchesStart.x = event.pageX;
9938    image.touchesStart.y = event.pageY;
9939  }
9940  function onTouchMove(e) {
9941    if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) return;
9942    const zoom = swiper.zoom;
9943    if (!gesture.imageEl) return;
9944    if (!image.isTouched || !gesture.slideEl) return;
9945    if (!image.isMoved) {
9946      image.width = gesture.imageEl.offsetWidth;
9947      image.height = gesture.imageEl.offsetHeight;
9948      image.startX = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.getTranslate)(gesture.imageWrapEl, 'x') || 0;
9949      image.startY = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.getTranslate)(gesture.imageWrapEl, 'y') || 0;
9950      gesture.slideWidth = gesture.slideEl.offsetWidth;
9951      gesture.slideHeight = gesture.slideEl.offsetHeight;
9952      gesture.imageWrapEl.style.transitionDuration = '0ms';
9953    }
9954    // Define if we need image drag
9955    const scaledWidth = image.width * zoom.scale;
9956    const scaledHeight = image.height * zoom.scale;
9957    if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;
9958    image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
9959    image.maxX = -image.minX;
9960    image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
9961    image.maxY = -image.minY;
9962    image.touchesCurrent.x = evCache.length > 0 ? evCache[0].pageX : e.pageX;
9963    image.touchesCurrent.y = evCache.length > 0 ? evCache[0].pageY : e.pageY;
9964    const touchesDiff = Math.max(Math.abs(image.touchesCurrent.x - image.touchesStart.x), Math.abs(image.touchesCurrent.y - image.touchesStart.y));
9965    if (touchesDiff > 5) {
9966      swiper.allowClick = false;
9967    }
9968    if (!image.isMoved && !isScaling) {
9969      if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {
9970        image.isTouched = false;
9971        return;
9972      }
9973      if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {
9974        image.isTouched = false;
9975        return;
9976      }
9977    }
9978    if (e.cancelable) {
9979      e.preventDefault();
9980    }
9981    e.stopPropagation();
9982    image.isMoved = true;
9983    const scaleRatio = (zoom.scale - currentScale) / (gesture.maxRatio - swiper.params.zoom.minRatio);
9984    const {
9985      originX,
9986      originY
9987    } = gesture;
9988    image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX + scaleRatio * (image.width - originX * 2);
9989    image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY + scaleRatio * (image.height - originY * 2);
9990    if (image.currentX < image.minX) {
9991      image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;
9992    }
9993    if (image.currentX > image.maxX) {
9994      image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;
9995    }
9996    if (image.currentY < image.minY) {
9997      image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;
9998    }
9999    if (image.currentY > image.maxY) {
10000      image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;
10001    }
10002
10003    // Velocity
10004    if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;
10005    if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;
10006    if (!velocity.prevTime) velocity.prevTime = Date.now();
10007    velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;
10008    velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;
10009    if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;
10010    if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;
10011    velocity.prevPositionX = image.touchesCurrent.x;
10012    velocity.prevPositionY = image.touchesCurrent.y;
10013    velocity.prevTime = Date.now();
10014    gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;
10015  }
10016  function onTouchEnd() {
10017    const zoom = swiper.zoom;
10018    if (!gesture.imageEl) return;
10019    if (!image.isTouched || !image.isMoved) {
10020      image.isTouched = false;
10021      image.isMoved = false;
10022      return;
10023    }
10024    image.isTouched = false;
10025    image.isMoved = false;
10026    let momentumDurationX = 300;
10027    let momentumDurationY = 300;
10028    const momentumDistanceX = velocity.x * momentumDurationX;
10029    const newPositionX = image.currentX + momentumDistanceX;
10030    const momentumDistanceY = velocity.y * momentumDurationY;
10031    const newPositionY = image.currentY + momentumDistanceY;
10032
10033    // Fix duration
10034    if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);
10035    if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);
10036    const momentumDuration = Math.max(momentumDurationX, momentumDurationY);
10037    image.currentX = newPositionX;
10038    image.currentY = newPositionY;
10039    // Define if we need image drag
10040    const scaledWidth = image.width * zoom.scale;
10041    const scaledHeight = image.height * zoom.scale;
10042    image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
10043    image.maxX = -image.minX;
10044    image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
10045    image.maxY = -image.minY;
10046    image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);
10047    image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);
10048    gesture.imageWrapEl.style.transitionDuration = `${momentumDuration}ms`;
10049    gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;
10050  }
10051  function onTransitionEnd() {
10052    const zoom = swiper.zoom;
10053    if (gesture.slideEl && swiper.activeIndex !== swiper.slides.indexOf(gesture.slideEl)) {
10054      if (gesture.imageEl) {
10055        gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';
10056      }
10057      if (gesture.imageWrapEl) {
10058        gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)';
10059      }
10060      gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`);
10061      zoom.scale = 1;
10062      currentScale = 1;
10063      gesture.slideEl = undefined;
10064      gesture.imageEl = undefined;
10065      gesture.imageWrapEl = undefined;
10066      gesture.originX = 0;
10067      gesture.originY = 0;
10068    }
10069  }
10070  function zoomIn(e) {
10071    const zoom = swiper.zoom;
10072    const params = swiper.params.zoom;
10073    if (!gesture.slideEl) {
10074      if (e && e.target) {
10075        gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
10076      }
10077      if (!gesture.slideEl) {
10078        if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
10079          gesture.slideEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];
10080        } else {
10081          gesture.slideEl = swiper.slides[swiper.activeIndex];
10082        }
10083      }
10084      let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);
10085      if (imageEl) {
10086        imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];
10087      }
10088      gesture.imageEl = imageEl;
10089      if (imageEl) {
10090        gesture.imageWrapEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(gesture.imageEl, `.${params.containerClass}`)[0];
10091      } else {
10092        gesture.imageWrapEl = undefined;
10093      }
10094    }
10095    if (!gesture.imageEl || !gesture.imageWrapEl) return;
10096    if (swiper.params.cssMode) {
10097      swiper.wrapperEl.style.overflow = 'hidden';
10098      swiper.wrapperEl.style.touchAction = 'none';
10099    }
10100    gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);
10101    let touchX;
10102    let touchY;
10103    let offsetX;
10104    let offsetY;
10105    let diffX;
10106    let diffY;
10107    let translateX;
10108    let translateY;
10109    let imageWidth;
10110    let imageHeight;
10111    let scaledWidth;
10112    let scaledHeight;
10113    let translateMinX;
10114    let translateMinY;
10115    let translateMaxX;
10116    let translateMaxY;
10117    let slideWidth;
10118    let slideHeight;
10119    if (typeof image.touchesStart.x === 'undefined' && e) {
10120      touchX = e.pageX;
10121      touchY = e.pageY;
10122    } else {
10123      touchX = image.touchesStart.x;
10124      touchY = image.touchesStart.y;
10125    }
10126    const forceZoomRatio = typeof e === 'number' ? e : null;
10127    if (currentScale === 1 && forceZoomRatio) {
10128      touchX = undefined;
10129      touchY = undefined;
10130    }
10131    zoom.scale = forceZoomRatio || gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio;
10132    currentScale = forceZoomRatio || gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio;
10133    if (e && !(currentScale === 1 && forceZoomRatio)) {
10134      slideWidth = gesture.slideEl.offsetWidth;
10135      slideHeight = gesture.slideEl.offsetHeight;
10136      offsetX = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementOffset)(gesture.slideEl).left + window.scrollX;
10137      offsetY = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementOffset)(gesture.slideEl).top + window.scrollY;
10138      diffX = offsetX + slideWidth / 2 - touchX;
10139      diffY = offsetY + slideHeight / 2 - touchY;
10140      imageWidth = gesture.imageEl.offsetWidth;
10141      imageHeight = gesture.imageEl.offsetHeight;
10142      scaledWidth = imageWidth * zoom.scale;
10143      scaledHeight = imageHeight * zoom.scale;
10144      translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);
10145      translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);
10146      translateMaxX = -translateMinX;
10147      translateMaxY = -translateMinY;
10148      translateX = diffX * zoom.scale;
10149      translateY = diffY * zoom.scale;
10150      if (translateX < translateMinX) {
10151        translateX = translateMinX;
10152      }
10153      if (translateX > translateMaxX) {
10154        translateX = translateMaxX;
10155      }
10156      if (translateY < translateMinY) {
10157        translateY = translateMinY;
10158      }
10159      if (translateY > translateMaxY) {
10160        translateY = translateMaxY;
10161      }
10162    } else {
10163      translateX = 0;
10164      translateY = 0;
10165    }
10166    if (forceZoomRatio && zoom.scale === 1) {
10167      gesture.originX = 0;
10168      gesture.originY = 0;
10169    }
10170    gesture.imageWrapEl.style.transitionDuration = '300ms';
10171    gesture.imageWrapEl.style.transform = `translate3d(${translateX}px, ${translateY}px,0)`;
10172    gesture.imageEl.style.transitionDuration = '300ms';
10173    gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;
10174  }
10175  function zoomOut() {
10176    const zoom = swiper.zoom;
10177    const params = swiper.params.zoom;
10178    if (!gesture.slideEl) {
10179      if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
10180        gesture.slideEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];
10181      } else {
10182        gesture.slideEl = swiper.slides[swiper.activeIndex];
10183      }
10184      let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);
10185      if (imageEl) {
10186        imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];
10187      }
10188      gesture.imageEl = imageEl;
10189      if (imageEl) {
10190        gesture.imageWrapEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(gesture.imageEl, `.${params.containerClass}`)[0];
10191      } else {
10192        gesture.imageWrapEl = undefined;
10193      }
10194    }
10195    if (!gesture.imageEl || !gesture.imageWrapEl) return;
10196    if (swiper.params.cssMode) {
10197      swiper.wrapperEl.style.overflow = '';
10198      swiper.wrapperEl.style.touchAction = '';
10199    }
10200    zoom.scale = 1;
10201    currentScale = 1;
10202    gesture.imageWrapEl.style.transitionDuration = '300ms';
10203    gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)';
10204    gesture.imageEl.style.transitionDuration = '300ms';
10205    gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';
10206    gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);
10207    gesture.slideEl = undefined;
10208    gesture.originX = 0;
10209    gesture.originY = 0;
10210  }
10211
10212  // Toggle Zoom
10213  function zoomToggle(e) {
10214    const zoom = swiper.zoom;
10215    if (zoom.scale && zoom.scale !== 1) {
10216      // Zoom Out
10217      zoomOut();
10218    } else {
10219      // Zoom In
10220      zoomIn(e);
10221    }
10222  }
10223  function getListeners() {
10224    const passiveListener = swiper.params.passiveListeners ? {
10225      passive: true,
10226      capture: false
10227    } : false;
10228    const activeListenerWithCapture = swiper.params.passiveListeners ? {
10229      passive: false,
10230      capture: true
10231    } : true;
10232    return {
10233      passiveListener,
10234      activeListenerWithCapture
10235    };
10236  }
10237
10238  // Attach/Detach Events
10239  function enable() {
10240    const zoom = swiper.zoom;
10241    if (zoom.enabled) return;
10242    zoom.enabled = true;
10243    const {
10244      passiveListener,
10245      activeListenerWithCapture
10246    } = getListeners();
10247
10248    // Scale image
10249    swiper.wrapperEl.addEventListener('pointerdown', onGestureStart, passiveListener);
10250    swiper.wrapperEl.addEventListener('pointermove', onGestureChange, activeListenerWithCapture);
10251    ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {
10252      swiper.wrapperEl.addEventListener(eventName, onGestureEnd, passiveListener);
10253    });
10254
10255    // Move image
10256    swiper.wrapperEl.addEventListener('pointermove', onTouchMove, activeListenerWithCapture);
10257  }
10258  function disable() {
10259    const zoom = swiper.zoom;
10260    if (!zoom.enabled) return;
10261    zoom.enabled = false;
10262    const {
10263      passiveListener,
10264      activeListenerWithCapture
10265    } = getListeners();
10266
10267    // Scale image
10268    swiper.wrapperEl.removeEventListener('pointerdown', onGestureStart, passiveListener);
10269    swiper.wrapperEl.removeEventListener('pointermove', onGestureChange, activeListenerWithCapture);
10270    ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {
10271      swiper.wrapperEl.removeEventListener(eventName, onGestureEnd, passiveListener);
10272    });
10273
10274    // Move image
10275    swiper.wrapperEl.removeEventListener('pointermove', onTouchMove, activeListenerWithCapture);
10276  }
10277  on('init', () => {
10278    if (swiper.params.zoom.enabled) {
10279      enable();
10280    }
10281  });
10282  on('destroy', () => {
10283    disable();
10284  });
10285  on('touchStart', (_s, e) => {
10286    if (!swiper.zoom.enabled) return;
10287    onTouchStart(e);
10288  });
10289  on('touchEnd', (_s, e) => {
10290    if (!swiper.zoom.enabled) return;
10291    onTouchEnd(e);
10292  });
10293  on('doubleTap', (_s, e) => {
10294    if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {
10295      zoomToggle(e);
10296    }
10297  });
10298  on('transitionEnd', () => {
10299    if (swiper.zoom.enabled && swiper.params.zoom.enabled) {
10300      onTransitionEnd();
10301    }
10302  });
10303  on('slideChange', () => {
10304    if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {
10305      onTransitionEnd();
10306    }
10307  });
10308  Object.assign(swiper.zoom, {
10309    enable,
10310    disable,
10311    in: zoomIn,
10312    out: zoomOut,
10313    toggle: zoomToggle
10314  });
10315}
10316
10317/***/ }),
10318
vendor: 758 bytes, lines 10319-10335
10319/***/ "../../node_modules/swiper/shared/classes-to-selector.js":
10320/*!***************************************************************!*\
10321  !*** ../../node_modules/swiper/shared/classes-to-selector.js ***!
10322  \***************************************************************/
10323/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10324
10325__webpack_require__.r(__webpack_exports__);
10326/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10327/* harmony export */   "default": function() { return /* binding */ classesToSelector; }
10328/* harmony export */ });
10329function classesToSelector(classes = '') {
10330  return `.${classes.trim().replace(/([\.:!+\/])/g, '\\$1') // eslint-disable-line
10331  .replace(/ /g, '.')}`;
10332}
10333
10334/***/ }),
10335
vendor: 1,466 bytes, lines 10336-10367
10336/***/ "../../node_modules/swiper/shared/create-element-if-not-defined.js":
10337/*!*************************************************************************!*\
10338  !*** ../../node_modules/swiper/shared/create-element-if-not-defined.js ***!
10339  \*************************************************************************/
10340/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10341
10342__webpack_require__.r(__webpack_exports__);
10343/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10344/* harmony export */   "default": function() { return /* binding */ createElementIfNotDefined; }
10345/* harmony export */ });
10346/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "../../node_modules/swiper/shared/utils.js");
10347
10348function createElementIfNotDefined(swiper, originalParams, params, checkProps) {
10349  if (swiper.params.createElements) {
10350    Object.keys(checkProps).forEach(key => {
10351      if (!params[key] && params.auto === true) {
10352        let element = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(swiper.el, `.${checkProps[key]}`)[0];
10353        if (!element) {
10354          element = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', checkProps[key]);
10355          element.className = checkProps[key];
10356          swiper.el.append(element);
10357        }
10358        params[key] = element;
10359        originalParams[key] = element;
10360      }
10361    });
10362  }
10363  return params;
10364}
10365
10366/***/ }),
10367
vendor: 1,220 bytes, lines 10368-10392
10368/***/ "../../node_modules/swiper/shared/create-shadow.js":
10369/*!*********************************************************!*\
10370  !*** ../../node_modules/swiper/shared/create-shadow.js ***!
10371  \*********************************************************/
10372/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10373
10374__webpack_require__.r(__webpack_exports__);
10375/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10376/* harmony export */   "default": function() { return /* binding */ createShadow; }
10377/* harmony export */ });
10378/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "../../node_modules/swiper/shared/utils.js");
10379
10380function createShadow(params, slideEl, side) {
10381  const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}`;
10382  const shadowContainer = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getSlideTransformEl)(slideEl);
10383  let shadowEl = shadowContainer.querySelector(`.${shadowClass}`);
10384  if (!shadowEl) {
10385    shadowEl = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', `swiper-slide-shadow${side ? `-${side}` : ''}`);
10386    shadowContainer.append(shadowEl);
10387  }
10388  return shadowEl;
10389}
10390
10391/***/ }),
10392
vendor: 2,361 bytes, lines 10393-10461
10393/***/ "../../node_modules/swiper/shared/effect-init.js":
10394/*!*******************************************************!*\
10395  !*** ../../node_modules/swiper/shared/effect-init.js ***!
10396  \*******************************************************/
10397/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10398
10399__webpack_require__.r(__webpack_exports__);
10400/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10401/* harmony export */   "default": function() { return /* binding */ effectInit; }
10402/* harmony export */ });
10403function effectInit(params) {
10404  const {
10405    effect,
10406    swiper,
10407    on,
10408    setTranslate,
10409    setTransition,
10410    overwriteParams,
10411    perspective,
10412    recreateShadows,
10413    getEffectParams
10414  } = params;
10415  on('beforeInit', () => {
10416    if (swiper.params.effect !== effect) return;
10417    swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);
10418    if (perspective && perspective()) {
10419      swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);
10420    }
10421    const overwriteParamsResult = overwriteParams ? overwriteParams() : {};
10422    Object.assign(swiper.params, overwriteParamsResult);
10423    Object.assign(swiper.originalParams, overwriteParamsResult);
10424  });
10425  on('setTranslate', () => {
10426    if (swiper.params.effect !== effect) return;
10427    setTranslate();
10428  });
10429  on('setTransition', (_s, duration) => {
10430    if (swiper.params.effect !== effect) return;
10431    setTransition(duration);
10432  });
10433  on('transitionEnd', () => {
10434    if (swiper.params.effect !== effect) return;
10435    if (recreateShadows) {
10436      if (!getEffectParams || !getEffectParams().slideShadows) return;
10437      // remove shadows
10438      swiper.slides.forEach(slideEl => {
10439        slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => shadowEl.remove());
10440      });
10441      // create new one
10442      recreateShadows();
10443    }
10444  });
10445  let requireUpdateOnVirtual;
10446  on('virtualUpdate', () => {
10447    if (swiper.params.effect !== effect) return;
10448    if (!swiper.slides.length) {
10449      requireUpdateOnVirtual = true;
10450    }
10451    requestAnimationFrame(() => {
10452      if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {
10453        setTranslate();
10454        requireUpdateOnVirtual = false;
10455      }
10456    });
10457  });
10458}
10459
10460/***/ }),
10461
vendor: 1,048 bytes, lines 10462-10484
10462/***/ "../../node_modules/swiper/shared/effect-target.js":
10463/*!*********************************************************!*\
10464  !*** ../../node_modules/swiper/shared/effect-target.js ***!
10465  \*********************************************************/
10466/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10467
10468__webpack_require__.r(__webpack_exports__);
10469/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10470/* harmony export */   "default": function() { return /* binding */ effectTarget; }
10471/* harmony export */ });
10472/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "../../node_modules/swiper/shared/utils.js");
10473
10474function effectTarget(effectParams, slideEl) {
10475  const transformEl = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getSlideTransformEl)(slideEl);
10476  if (transformEl !== slideEl) {
10477    transformEl.style.backfaceVisibility = 'hidden';
10478    transformEl.style['-webkit-backface-visibility'] = 'hidden';
10479  }
10480  return transformEl;
10481}
10482
10483/***/ }),
10484
vendor: 2,124 bytes, lines 10485-10542
10485/***/ "../../node_modules/swiper/shared/effect-virtual-transition-end.js":
10486/*!*************************************************************************!*\
10487  !*** ../../node_modules/swiper/shared/effect-virtual-transition-end.js ***!
10488  \*************************************************************************/
10489/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10490
10491__webpack_require__.r(__webpack_exports__);
10492/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10493/* harmony export */   "default": function() { return /* binding */ effectVirtualTransitionEnd; }
10494/* harmony export */ });
10495/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "../../node_modules/swiper/shared/utils.js");
10496
10497function effectVirtualTransitionEnd({
10498  swiper,
10499  duration,
10500  transformElements,
10501  allSlides
10502}) {
10503  const {
10504    activeIndex
10505  } = swiper;
10506  const getSlide = el => {
10507    if (!el.parentElement) {
10508      // assume shadow root
10509      const slide = swiper.slides.filter(slideEl => slideEl.shadowEl && slideEl.shadowEl === el.parentNode)[0];
10510      return slide;
10511    }
10512    return el.parentElement;
10513  };
10514  if (swiper.params.virtualTranslate && duration !== 0) {
10515    let eventTriggered = false;
10516    let transitionEndTarget;
10517    if (allSlides) {
10518      transitionEndTarget = transformElements;
10519    } else {
10520      transitionEndTarget = transformElements.filter(transformEl => {
10521        const el = transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl) : transformEl;
10522        return swiper.getSlideIndex(el) === activeIndex;
10523      });
10524    }
10525    transitionEndTarget.forEach(el => {
10526      (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(el, () => {
10527        if (eventTriggered) return;
10528        if (!swiper || swiper.destroyed) return;
10529        eventTriggered = true;
10530        swiper.animating = false;
10531        const evt = new window.CustomEvent('transitionend', {
10532          bubbles: true,
10533          cancelable: true
10534        });
10535        swiper.wrapperEl.dispatchEvent(evt);
10536      });
10537    });
10538  }
10539}
10540
10541/***/ }),
10542
vendor: 1,619 bytes, lines 10543-10585
10543/***/ "../../node_modules/swiper/shared/get-browser.js":
10544/*!*******************************************************!*\
10545  !*** ../../node_modules/swiper/shared/get-browser.js ***!
10546  \*******************************************************/
10547/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10548
10549__webpack_require__.r(__webpack_exports__);
10550/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10551/* harmony export */   getBrowser: function() { return /* binding */ getBrowser; }
10552/* harmony export */ });
10553/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
10554
10555let browser;
10556function calcBrowser() {
10557  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10558  let needPerspectiveFix = false;
10559  function isSafari() {
10560    const ua = window.navigator.userAgent.toLowerCase();
10561    return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;
10562  }
10563  if (isSafari()) {
10564    const ua = String(window.navigator.userAgent);
10565    if (ua.includes('Version/')) {
10566      const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num));
10567      needPerspectiveFix = major < 16 || major === 16 && minor < 2;
10568    }
10569  }
10570  return {
10571    isSafari: needPerspectiveFix || isSafari(),
10572    needPerspectiveFix,
10573    isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)
10574  };
10575}
10576function getBrowser() {
10577  if (!browser) {
10578    browser = calcBrowser();
10579  }
10580  return browser;
10581}
10582
10583
10584/***/ }),
10585
vendor: 2,432 bytes, lines 10586-10651
10586/***/ "../../node_modules/swiper/shared/get-device.js":
10587/*!******************************************************!*\
10588  !*** ../../node_modules/swiper/shared/get-device.js ***!
10589  \******************************************************/
10590/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10591
10592__webpack_require__.r(__webpack_exports__);
10593/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10594/* harmony export */   getDevice: function() { return /* binding */ getDevice; }
10595/* harmony export */ });
10596/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
10597/* harmony import */ var _get_support_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-support.js */ "../../node_modules/swiper/shared/get-support.js");
10598
10599
10600let deviceCached;
10601function calcDevice({
10602  userAgent
10603} = {}) {
10604  const support = (0,_get_support_js__WEBPACK_IMPORTED_MODULE_1__.getSupport)();
10605  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10606  const platform = window.navigator.platform;
10607  const ua = userAgent || window.navigator.userAgent;
10608  const device = {
10609    ios: false,
10610    android: false
10611  };
10612  const screenWidth = window.screen.width;
10613  const screenHeight = window.screen.height;
10614  const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line
10615  let ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
10616  const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/);
10617  const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
10618  const windows = platform === 'Win32';
10619  let macos = platform === 'MacIntel';
10620
10621  // iPadOs 13 fix
10622  const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];
10623  if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {
10624    ipad = ua.match(/(Version)\/([\d.]+)/);
10625    if (!ipad) ipad = [0, 1, '13_0_0'];
10626    macos = false;
10627  }
10628
10629  // Android
10630  if (android && !windows) {
10631    device.os = 'android';
10632    device.android = true;
10633  }
10634  if (ipad || iphone || ipod) {
10635    device.os = 'ios';
10636    device.ios = true;
10637  }
10638
10639  // Export object
10640  return device;
10641}
10642function getDevice(overrides = {}) {
10643  if (!deviceCached) {
10644    deviceCached = calcDevice(overrides);
10645  }
10646  return deviceCached;
10647}
10648
10649
10650/***/ }),
10651
vendor: 1,269 bytes, lines 10652-10682
10652/***/ "../../node_modules/swiper/shared/get-support.js":
10653/*!*******************************************************!*\
10654  !*** ../../node_modules/swiper/shared/get-support.js ***!
10655  \*******************************************************/
10656/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10657
10658__webpack_require__.r(__webpack_exports__);
10659/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10660/* harmony export */   getSupport: function() { return /* binding */ getSupport; }
10661/* harmony export */ });
10662/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
10663
10664let support;
10665function calcSupport() {
10666  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10667  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
10668  return {
10669    smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style,
10670    touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)
10671  };
10672}
10673function getSupport() {
10674  if (!support) {
10675    support = calcSupport();
10676  }
10677  return support;
10678}
10679
10680
10681/***/ }),
10682
vendor: 2,780 bytes, lines 10683-10745
10683/***/ "../../node_modules/swiper/shared/process-lazy-preloader.js":
10684/*!******************************************************************!*\
10685  !*** ../../node_modules/swiper/shared/process-lazy-preloader.js ***!
10686  \******************************************************************/
10687/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10688
10689__webpack_require__.r(__webpack_exports__);
10690/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10691/* harmony export */   preload: function() { return /* binding */ preload; },
10692/* harmony export */   processLazyPreloader: function() { return /* binding */ processLazyPreloader; }
10693/* harmony export */ });
10694const processLazyPreloader = (swiper, imageEl) => {
10695  if (!swiper || swiper.destroyed || !swiper.params) return;
10696  const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;
10697  const slideEl = imageEl.closest(slideSelector());
10698  if (slideEl) {
10699    const lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);
10700    if (lazyEl) lazyEl.remove();
10701  }
10702};
10703const unlazy = (swiper, index) => {
10704  if (!swiper.slides[index]) return;
10705  const imageEl = swiper.slides[index].querySelector('[loading="lazy"]');
10706  if (imageEl) imageEl.removeAttribute('loading');
10707};
10708const preload = swiper => {
10709  if (!swiper || swiper.destroyed || !swiper.params) return;
10710  let amount = swiper.params.lazyPreloadPrevNext;
10711  const len = swiper.slides.length;
10712  if (!len || !amount || amount < 0) return;
10713  amount = Math.min(amount, len);
10714  const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView);
10715  const activeIndex = swiper.activeIndex;
10716  if (swiper.params.grid && swiper.params.grid.rows > 1) {
10717    const activeColumn = activeIndex;
10718    const preloadColumns = [activeColumn - amount];
10719    preloadColumns.push(...Array.from({
10720      length: amount
10721    }).map((_, i) => {
10722      return activeColumn + slidesPerView + i;
10723    }));
10724    swiper.slides.forEach((slideEl, i) => {
10725      if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i);
10726    });
10727    return;
10728  }
10729  const slideIndexLastInView = activeIndex + slidesPerView - 1;
10730  if (swiper.params.rewind || swiper.params.loop) {
10731    for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) {
10732      const realIndex = (i % len + len) % len;
10733      if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex);
10734    }
10735  } else {
10736    for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) {
10737      if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) {
10738        unlazy(swiper, i);
10739      }
10740    }
10741  }
10742};
10743
10744/***/ }),
10745
vendor: 11,662 bytes, lines 10746-11045
10746/***/ "../../node_modules/swiper/shared/utils.js":
10747/*!*************************************************!*\
10748  !*** ../../node_modules/swiper/shared/utils.js ***!
10749  \*************************************************/
10750/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10751
10752__webpack_require__.r(__webpack_exports__);
10753/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10754/* harmony export */   animateCSSModeScroll: function() { return /* binding */ animateCSSModeScroll; },
10755/* harmony export */   createElement: function() { return /* binding */ createElement; },
10756/* harmony export */   deleteProps: function() { return /* binding */ deleteProps; },
10757/* harmony export */   elementChildren: function() { return /* binding */ elementChildren; },
10758/* harmony export */   elementIndex: function() { return /* binding */ elementIndex; },
10759/* harmony export */   elementNextAll: function() { return /* binding */ elementNextAll; },
10760/* harmony export */   elementOffset: function() { return /* binding */ elementOffset; },
10761/* harmony export */   elementOuterSize: function() { return /* binding */ elementOuterSize; },
10762/* harmony export */   elementParents: function() { return /* binding */ elementParents; },
10763/* harmony export */   elementPrevAll: function() { return /* binding */ elementPrevAll; },
10764/* harmony export */   elementStyle: function() { return /* binding */ elementStyle; },
10765/* harmony export */   elementTransitionEnd: function() { return /* binding */ elementTransitionEnd; },
10766/* harmony export */   extend: function() { return /* binding */ extend; },
10767/* harmony export */   findElementsInElements: function() { return /* binding */ findElementsInElements; },
10768/* harmony export */   getComputedStyle: function() { return /* binding */ getComputedStyle; },
10769/* harmony export */   getSlideTransformEl: function() { return /* binding */ getSlideTransformEl; },
10770/* harmony export */   getTranslate: function() { return /* binding */ getTranslate; },
10771/* harmony export */   isObject: function() { return /* binding */ isObject; },
10772/* harmony export */   nextTick: function() { return /* binding */ nextTick; },
10773/* harmony export */   now: function() { return /* binding */ now; },
10774/* harmony export */   setCSSProperty: function() { return /* binding */ setCSSProperty; }
10775/* harmony export */ });
10776/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "../../node_modules/ssr-window/ssr-window.esm.js");
10777
10778function deleteProps(obj) {
10779  const object = obj;
10780  Object.keys(object).forEach(key => {
10781    try {
10782      object[key] = null;
10783    } catch (e) {
10784      // no getter for object
10785    }
10786    try {
10787      delete object[key];
10788    } catch (e) {
10789      // something got wrong
10790    }
10791  });
10792}
10793function nextTick(callback, delay = 0) {
10794  return setTimeout(callback, delay);
10795}
10796function now() {
10797  return Date.now();
10798}
10799function getComputedStyle(el) {
10800  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10801  let style;
10802  if (window.getComputedStyle) {
10803    style = window.getComputedStyle(el, null);
10804  }
10805  if (!style && el.currentStyle) {
10806    style = el.currentStyle;
10807  }
10808  if (!style) {
10809    style = el.style;
10810  }
10811  return style;
10812}
10813function getTranslate(el, axis = 'x') {
10814  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10815  let matrix;
10816  let curTransform;
10817  let transformMatrix;
10818  const curStyle = getComputedStyle(el, null);
10819  if (window.WebKitCSSMatrix) {
10820    curTransform = curStyle.transform || curStyle.webkitTransform;
10821    if (curTransform.split(',').length > 6) {
10822      curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');
10823    }
10824    // Some old versions of Webkit choke when 'none' is passed; pass
10825    // empty string instead in this case
10826    transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);
10827  } else {
10828    transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');
10829    matrix = transformMatrix.toString().split(',');
10830  }
10831  if (axis === 'x') {
10832    // Latest Chrome and webkits Fix
10833    if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;
10834    // Crazy IE10 Matrix
10835    else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);
10836    // Normal Browsers
10837    else curTransform = parseFloat(matrix[4]);
10838  }
10839  if (axis === 'y') {
10840    // Latest Chrome and webkits Fix
10841    if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;
10842    // Crazy IE10 Matrix
10843    else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);
10844    // Normal Browsers
10845    else curTransform = parseFloat(matrix[5]);
10846  }
10847  return curTransform || 0;
10848}
10849function isObject(o) {
10850  return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';
10851}
10852function isNode(node) {
10853  // eslint-disable-next-line
10854  if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {
10855    return node instanceof HTMLElement;
10856  }
10857  return node && (node.nodeType === 1 || node.nodeType === 11);
10858}
10859function extend(...args) {
10860  const to = Object(args[0]);
10861  const noExtend = ['__proto__', 'constructor', 'prototype'];
10862  for (let i = 1; i < args.length; i += 1) {
10863    const nextSource = args[i];
10864    if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {
10865      const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);
10866      for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {
10867        const nextKey = keysArray[nextIndex];
10868        const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
10869        if (desc !== undefined && desc.enumerable) {
10870          if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {
10871            if (nextSource[nextKey].__swiper__) {
10872              to[nextKey] = nextSource[nextKey];
10873            } else {
10874              extend(to[nextKey], nextSource[nextKey]);
10875            }
10876          } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {
10877            to[nextKey] = {};
10878            if (nextSource[nextKey].__swiper__) {
10879              to[nextKey] = nextSource[nextKey];
10880            } else {
10881              extend(to[nextKey], nextSource[nextKey]);
10882            }
10883          } else {
10884            to[nextKey] = nextSource[nextKey];
10885          }
10886        }
10887      }
10888    }
10889  }
10890  return to;
10891}
10892function setCSSProperty(el, varName, varValue) {
10893  el.style.setProperty(varName, varValue);
10894}
10895function animateCSSModeScroll({
10896  swiper,
10897  targetPosition,
10898  side
10899}) {
10900  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10901  const startPosition = -swiper.translate;
10902  let startTime = null;
10903  let time;
10904  const duration = swiper.params.speed;
10905  swiper.wrapperEl.style.scrollSnapType = 'none';
10906  window.cancelAnimationFrame(swiper.cssModeFrameID);
10907  const dir = targetPosition > startPosition ? 'next' : 'prev';
10908  const isOutOfBound = (current, target) => {
10909    return dir === 'next' && current >= target || dir === 'prev' && current <= target;
10910  };
10911  const animate = () => {
10912    time = new Date().getTime();
10913    if (startTime === null) {
10914      startTime = time;
10915    }
10916    const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);
10917    const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;
10918    let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);
10919    if (isOutOfBound(currentPosition, targetPosition)) {
10920      currentPosition = targetPosition;
10921    }
10922    swiper.wrapperEl.scrollTo({
10923      [side]: currentPosition
10924    });
10925    if (isOutOfBound(currentPosition, targetPosition)) {
10926      swiper.wrapperEl.style.overflow = 'hidden';
10927      swiper.wrapperEl.style.scrollSnapType = '';
10928      setTimeout(() => {
10929        swiper.wrapperEl.style.overflow = '';
10930        swiper.wrapperEl.scrollTo({
10931          [side]: currentPosition
10932        });
10933      });
10934      window.cancelAnimationFrame(swiper.cssModeFrameID);
10935      return;
10936    }
10937    swiper.cssModeFrameID = window.requestAnimationFrame(animate);
10938  };
10939  animate();
10940}
10941function getSlideTransformEl(slideEl) {
10942  return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowEl && slideEl.shadowEl.querySelector('.swiper-slide-transform') || slideEl;
10943}
10944function findElementsInElements(elements = [], selector = '') {
10945  const found = [];
10946  elements.forEach(el => {
10947    found.push(...el.querySelectorAll(selector));
10948  });
10949  return found;
10950}
10951function elementChildren(element, selector = '') {
10952  return [...element.children].filter(el => el.matches(selector));
10953}
10954function createElement(tag, classes = []) {
10955  const el = document.createElement(tag);
10956  el.classList.add(...(Array.isArray(classes) ? classes : [classes]));
10957  return el;
10958}
10959function elementOffset(el) {
10960  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10961  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
10962  const box = el.getBoundingClientRect();
10963  const body = document.body;
10964  const clientTop = el.clientTop || body.clientTop || 0;
10965  const clientLeft = el.clientLeft || body.clientLeft || 0;
10966  const scrollTop = el === window ? window.scrollY : el.scrollTop;
10967  const scrollLeft = el === window ? window.scrollX : el.scrollLeft;
10968  return {
10969    top: box.top + scrollTop - clientTop,
10970    left: box.left + scrollLeft - clientLeft
10971  };
10972}
10973function elementPrevAll(el, selector) {
10974  const prevEls = [];
10975  while (el.previousElementSibling) {
10976    const prev = el.previousElementSibling; // eslint-disable-line
10977    if (selector) {
10978      if (prev.matches(selector)) prevEls.push(prev);
10979    } else prevEls.push(prev);
10980    el = prev;
10981  }
10982  return prevEls;
10983}
10984function elementNextAll(el, selector) {
10985  const nextEls = [];
10986  while (el.nextElementSibling) {
10987    const next = el.nextElementSibling; // eslint-disable-line
10988    if (selector) {
10989      if (next.matches(selector)) nextEls.push(next);
10990    } else nextEls.push(next);
10991    el = next;
10992  }
10993  return nextEls;
10994}
10995function elementStyle(el, prop) {
10996  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10997  return window.getComputedStyle(el, null).getPropertyValue(prop);
10998}
10999function elementIndex(el) {
11000  let child = el;
11001  let i;
11002  if (child) {
11003    i = 0;
11004    // eslint-disable-next-line
11005    while ((child = child.previousSibling) !== null) {
11006      if (child.nodeType === 1) i += 1;
11007    }
11008    return i;
11009  }
11010  return undefined;
11011}
11012function elementParents(el, selector) {
11013  const parents = []; // eslint-disable-line
11014  let parent = el.parentElement; // eslint-disable-line
11015  while (parent) {
11016    if (selector) {
11017      if (parent.matches(selector)) parents.push(parent);
11018    } else {
11019      parents.push(parent);
11020    }
11021    parent = parent.parentElement;
11022  }
11023  return parents;
11024}
11025function elementTransitionEnd(el, callback) {
11026  function fireCallBack(e) {
11027    if (e.target !== el) return;
11028    callback.call(el, e);
11029    el.removeEventListener('transitionend', fireCallBack);
11030  }
11031  if (callback) {
11032    el.addEventListener('transitionend', fireCallBack);
11033  }
11034}
11035function elementOuterSize(el, size, includeMargins) {
11036  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
11037  if (includeMargins) {
11038    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'));
11039  }
11040  return el.offsetWidth;
11041}
11042
11043
11044/***/ }),
11045
vendor: 9,508 bytes, lines 11046-11141
11046/***/ "../../node_modules/swiper/swiper.esm.js":
11047/*!***********************************************!*\
11048  !*** ../../node_modules/swiper/swiper.esm.js ***!
11049  \***********************************************/
11050/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
11051
11052__webpack_require__.r(__webpack_exports__);
11053/* harmony export */ __webpack_require__.d(__webpack_exports__, {
11054/* harmony export */   A11y: function() { return /* reexport safe */ _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_10__["default"]; },
11055/* harmony export */   Autoplay: function() { return /* reexport safe */ _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_13__["default"]; },
11056/* harmony export */   Controller: function() { return /* reexport safe */ _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_9__["default"]; },
11057/* harmony export */   EffectCards: function() { return /* reexport safe */ _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_23__["default"]; },
11058/* harmony export */   EffectCoverflow: function() { return /* reexport safe */ _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_21__["default"]; },
11059/* harmony export */   EffectCreative: function() { return /* reexport safe */ _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_22__["default"]; },
11060/* harmony export */   EffectCube: function() { return /* reexport safe */ _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_19__["default"]; },
11061/* harmony export */   EffectFade: function() { return /* reexport safe */ _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_18__["default"]; },
11062/* harmony export */   EffectFlip: function() { return /* reexport safe */ _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_20__["default"]; },
11063/* harmony export */   FreeMode: function() { return /* reexport safe */ _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_15__["default"]; },
11064/* harmony export */   Grid: function() { return /* reexport safe */ _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_16__["default"]; },
11065/* harmony export */   HashNavigation: function() { return /* reexport safe */ _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_12__["default"]; },
11066/* harmony export */   History: function() { return /* reexport safe */ _modules_history_history_js__WEBPACK_IMPORTED_MODULE_11__["default"]; },
11067/* harmony export */   Keyboard: function() { return /* reexport safe */ _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__["default"]; },
11068/* harmony export */   Manipulation: function() { return /* reexport safe */ _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_17__["default"]; },
11069/* harmony export */   Mousewheel: function() { return /* reexport safe */ _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__["default"]; },
11070/* harmony export */   Navigation: function() { return /* reexport safe */ _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__["default"]; },
11071/* harmony export */   Pagination: function() { return /* reexport safe */ _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__["default"]; },
11072/* harmony export */   Parallax: function() { return /* reexport safe */ _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__["default"]; },
11073/* harmony export */   Scrollbar: function() { return /* reexport safe */ _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__["default"]; },
11074/* harmony export */   Swiper: function() { return /* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__["default"]; },
11075/* harmony export */   Thumbs: function() { return /* reexport safe */ _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_14__["default"]; },
11076/* harmony export */   Virtual: function() { return /* reexport safe */ _modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__["default"]; },
11077/* harmony export */   Zoom: function() { return /* reexport safe */ _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__["default"]; },
11078/* harmony export */   "default": function() { return /* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__["default"]; }
11079/* harmony export */ });
11080/* harmony import */ var _core_core_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/core.js */ "../../node_modules/swiper/core/core.js");
11081/* harmony import */ var _modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/virtual/virtual.js */ "../../node_modules/swiper/modules/virtual/virtual.js");
11082/* harmony import */ var _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/keyboard/keyboard.js */ "../../node_modules/swiper/modules/keyboard/keyboard.js");
11083/* harmony import */ var _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/mousewheel/mousewheel.js */ "../../node_modules/swiper/modules/mousewheel/mousewheel.js");
11084/* harmony import */ var _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/navigation/navigation.js */ "../../node_modules/swiper/modules/navigation/navigation.js");
11085/* harmony import */ var _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/pagination/pagination.js */ "../../node_modules/swiper/modules/pagination/pagination.js");
11086/* harmony import */ var _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/scrollbar/scrollbar.js */ "../../node_modules/swiper/modules/scrollbar/scrollbar.js");
11087/* harmony import */ var _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/parallax/parallax.js */ "../../node_modules/swiper/modules/parallax/parallax.js");
11088/* harmony import */ var _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/zoom/zoom.js */ "../../node_modules/swiper/modules/zoom/zoom.js");
11089/* harmony import */ var _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/controller/controller.js */ "../../node_modules/swiper/modules/controller/controller.js");
11090/* harmony import */ var _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/a11y/a11y.js */ "../../node_modules/swiper/modules/a11y/a11y.js");
11091/* harmony import */ var _modules_history_history_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/history/history.js */ "../../node_modules/swiper/modules/history/history.js");
11092/* harmony import */ var _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/hash-navigation/hash-navigation.js */ "../../node_modules/swiper/modules/hash-navigation/hash-navigation.js");
11093/* harmony import */ var _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./modules/autoplay/autoplay.js */ "../../node_modules/swiper/modules/autoplay/autoplay.js");
11094/* harmony import */ var _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modules/thumbs/thumbs.js */ "../../node_modules/swiper/modules/thumbs/thumbs.js");
11095/* harmony import */ var _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./modules/free-mode/free-mode.js */ "../../node_modules/swiper/modules/free-mode/free-mode.js");
11096/* harmony import */ var _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./modules/grid/grid.js */ "../../node_modules/swiper/modules/grid/grid.js");
11097/* harmony import */ var _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./modules/manipulation/manipulation.js */ "../../node_modules/swiper/modules/manipulation/manipulation.js");
11098/* harmony import */ var _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./modules/effect-fade/effect-fade.js */ "../../node_modules/swiper/modules/effect-fade/effect-fade.js");
11099/* harmony import */ var _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./modules/effect-cube/effect-cube.js */ "../../node_modules/swiper/modules/effect-cube/effect-cube.js");
11100/* harmony import */ var _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./modules/effect-flip/effect-flip.js */ "../../node_modules/swiper/modules/effect-flip/effect-flip.js");
11101/* harmony import */ var _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./modules/effect-coverflow/effect-coverflow.js */ "../../node_modules/swiper/modules/effect-coverflow/effect-coverflow.js");
11102/* harmony import */ var _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./modules/effect-creative/effect-creative.js */ "../../node_modules/swiper/modules/effect-creative/effect-creative.js");
11103/* harmony import */ var _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./modules/effect-cards/effect-cards.js */ "../../node_modules/swiper/modules/effect-cards/effect-cards.js");
11104/**
11105 * Swiper 9.4.1
11106 * Most modern mobile touch slider and framework with hardware accelerated transitions
11107 * https://swiperjs.com
11108 *
11109 * Copyright 2014-2023 Vladimir Kharlampidi
11110 *
11111 * Released under the MIT License
11112 *
11113 * Released on: June 13, 2023
11114 */
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141/***/ })
11141
11142
11143/******/ 	});
11144/************************************************************************/
11145/******/ 	// The module cache
11146/******/ 	var __webpack_module_cache__ = {};
11147/******/ 	
11148/******/ 	// The require function
11149/******/ 	function __webpack_require__(moduleId) {
11150/******/ 		// Check if module is in cache
11151/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
11152/******/ 		if (cachedModule !== undefined) {
11153/******/ 			return cachedModule.exports;
11154/******/ 		}
11155/******/ 		// Create a new module (and put it into the cache)
11156/******/ 		var module = __webpack_module_cache__[moduleId] = {
11157/******/ 			// no module.id needed
11158/******/ 			// no module.loaded needed
11159/******/ 			exports: {}
11160/******/ 		};
11161/******/ 	
11162/******/ 		// Execute the module function
11163/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
11164/******/ 	
11165/******/ 		// Return the exports of the module
11166/******/ 		return module.exports;
11167/******/ 	}
11168/******/ 	
11169/************************************************************************/
11170/******/ 	/* webpack/runtime/define property getters */
11171/******/ 	!function() {
11172/******/ 		// define getter functions for harmony exports
11173/******/ 		__webpack_require__.d = function(exports, definition) {
11174/******/ 			for(var key in definition) {
11175/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
11176/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
11177/******/ 				}
11178/******/ 			}
11179/******/ 		};
11180/******/ 	}();
11181/******/ 	
11182/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
11183/******/ 	!function() {
11184/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
11185/******/ 	}();
11186/******/ 	
11187/******/ 	/* webpack/runtime/make namespace object */
11188/******/ 	!function() {
11189/******/ 		// define __esModule on exports
11190/******/ 		__webpack_require__.r = function(exports) {
11191/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
11192/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
11193/******/ 			}
11194/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
11195/******/ 		};
11196/******/ 	}();
11197/******/ 	
11198/************************************************************************/
11199var __webpack_exports__ = {};
11200// This entry need to be wrapped in an IIFE because it need to be isolated against other entry modules.
11201!function() {
11202var __webpack_exports__ = {};
11203/*!************************!*\
11204  !*** ./scripts/app.js ***!
11205  \************************/
11206__webpack_require__.r(__webpack_exports__);
11207/* harmony import */ var _source_scripts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./source/scripts */ "./scripts/source/scripts.js");
11208
11209}();
11210// This entry need to be wrapped in an IIFE because it need to be isolated against other entry modules.
11211!function() {
11212/*!*************************!*\
11213  !*** ./styles/app.sass ***!
11214  \*************************/
11215__webpack_require__.r(__webpack_exports__);
11216// extracted by mini-css-extract-plugin
11217
11218}();
11219/******/ })()
11220;
11221//# sourceMappingURL=app.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.