PageSourceSearch

https://www.nat-nin.com/cdn/shop/t/135/assets/swiper-bundle.min.js?v=66012652110323206661784538520

js nat-nin.com collected 2026-10-10 00:35:02 UTC 237,978 bytes, 6,942 lines download raw bytes

1!(function (e, t) {
2  "object" == typeof exports && "undefined" != typeof module
3    ? (module.exports = t())
4    : "function" == typeof define && define.amd
5    ? define(t)
6    : ((e = "undefined" != typeof globalThis ? globalThis : e || self).Swiper =
7        t());
8})(this, function () {
9  "use strict";
10  function e(e) {
11    return (
12      null !== e &&
13      "object" == typeof e &&
14      "constructor" in e &&
15      e.constructor === Object
16    );
17  }
18  function t(s, a) {
19    void 0 === s && (s = {}),
20      void 0 === a && (a = {}),
21      Object.keys(a).forEach((i) => {
22        void 0 === s[i]
23          ? (s[i] = a[i])
24          : e(a[i]) && e(s[i]) && Object.keys(a[i]).length > 0 && t(s[i], a[i]);
25      });
26  }
27  const s = {
28    body: {},
29    addEventListener() {},
30    removeEventListener() {},
31    activeElement: { blur() {}, nodeName: "" },
32    querySelector: () => null,
33    querySelectorAll: () => [],
34    getElementById: () => null,
35    createEvent: () => ({ initEvent() {} }),
36    createElement: () => ({
37      children: [],
38      childNodes: [],
39      style: {},
40      setAttribute() {},
41      getElementsByTagName: () => [],
42    }),
43    createElementNS: () => ({}),
44    importNode: () => null,
45    location: {
46      hash: "",
47      host: "",
48      hostname: "",
49      href: "",
50      origin: "",
51      pathname: "",
52      protocol: "",
53      search: "",
54    },
55  };
56  function a() {
57    const e = "undefined" != typeof document ? document : {};
58    return t(e, s), e;
59  }
60  const i = {
61    document: s,
62    navigator: { userAgent: "" },
63    location: {
64      hash: "",
65      host: "",
66      hostname: "",
67      href: "",
68      origin: "",
69      pathname: "",
70      protocol: "",
71      search: "",
72    },
73    history: { replaceState() {}, pushState() {}, go() {}, back() {} },
74    CustomEvent: function () {
75      return this;
76    },
77    addEventListener() {},
78    removeEventListener() {},
79    getComputedStyle: () => ({ getPropertyValue: () => "" }),
80    Image() {},
81    Date() {},
82    screen: {},
83    setTimeout() {},
84    clearTimeout() {},
85    matchMedia: () => ({}),
86    requestAnimationFrame: (e) =>
87      "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0),
88    cancelAnimationFrame(e) {
89      "undefined" != typeof setTimeout && clearTimeout(e);
90    },
91  };
92  function r() {
93    const e = "undefined" != typeof window ? window : {};
94    return t(e, i), e;
95  }
96  class n extends Array {
97    constructor(e) {
98      "number" == typeof e
99        ? super(e)
100        : (super(...(e || [])),
101          (function (e) {
102            const t = e.__proto__;
103            Object.defineProperty(e, "__proto__", {
104              get: () => t,
105              set(e) {
106                t.__proto__ = e;
107              },
108            });
109          })(this));
110    }
111  }
112  function l(e) {
113    void 0 === e && (e = []);
114    const t = [];
115    return (
116      e.forEach((e) => {
117        Array.isArray(e) ? t.push(...l(e)) : t.push(e);
118      }),
119      t
120    );
121  }
122  function o(e, t) {
123    return Array.prototype.filter.call(e, t);
124  }
125  function d(e, t) {
126    const s = r(),
127      i = a();
128    let l = [];
129    if (!t && e instanceof n) return e;
130    if (!e) return new n(l);
131    if ("string" == typeof e) {
132      const s = e.trim();
133      if (s.indexOf("<") >= 0 && s.indexOf(">") >= 0) {
134        let e = "div";
135        0 === s.indexOf("<li") && (e = "ul"),
136          0 === s.indexOf("<tr") && (e = "tbody"),
137          (0 !== s.indexOf("<td") && 0 !== s.indexOf("<th")) || (e = "tr"),
138          0 === s.indexOf("<tbody") && (e = "table"),
139          0 === s.indexOf("<option") && (e = "select");
140        const t = i.createElement(e);
141        t.innerHTML = s;
142        for (let e = 0; e < t.childNodes.length; e += 1)
143          l.push(t.childNodes[e]);
144      } else
145        l = (function (e, t) {
146          if ("string" != typeof e) return [e];
147          const s = [],
148            a = t.querySelectorAll(e);
149          for (let e = 0; e < a.length; e += 1) s.push(a[e]);
150          return s;
151        })(e.trim(), t || i);
152    } else if (e.nodeType || e === s || e === i) l.push(e);
153    else if (Array.isArray(e)) {
154      if (e instanceof n) return e;
155      l = e;
156    }
157    return new n(
158      (function (e) {
159        const t = [];
160        for (let s = 0; s < e.length; s += 1)
161          -1 === t.indexOf(e[s]) && t.push(e[s]);
162        return t;
163      })(l)
164    );
165  }
166  d.fn = n.prototype;
167  const c = {
168    addClass: function () {
169      for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
170        t[s] = arguments[s];
171      const a = l(t.map((e) => e.split(" ")));
172      return (
173        this.forEach((e) => {
174          e.classList.add(...a);
175        }),
176        this
177      );
178    },
179    removeClass: function () {
180      for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
181        t[s] = arguments[s];
182      const a = l(t.map((e) => e.split(" ")));
183      return (
184        this.forEach((e) => {
185          e.classList.remove(...a);
186        }),
187        this
188      );
189    },
190    hasClass: function () {
191      for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
192        t[s] = arguments[s];
193      const a = l(t.map((e) => e.split(" ")));
194      return (
195        o(this, (e) => a.filter((t) => e.classList.contains(t)).length > 0)
196          .length > 0
197      );
198    },
199    toggleClass: function () {
200      for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
201        t[s] = arguments[s];
202      const a = l(t.map((e) => e.split(" ")));
203      this.forEach((e) => {
204        a.forEach((t) => {
205          e.classList.toggle(t);
206        });
207      });
208    },
209    attr: function (e, t) {
210      if (1 === arguments.length && "string" == typeof e)
211        return this[0] ? this[0].getAttribute(e) : void 0;
212      for (let s = 0; s < this.length; s += 1)
213        if (2 === arguments.length) this[s].setAttribute(e, t);
214        else
215          for (const t in e) (this[s][t] = e[t]), this[s].setAttribute(t, e[t]);
216      return this;
217    },
218    removeAttr: function (e) {
219      for (let t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
220      return this;
221    },
222    transform: function (e) {
223      for (let t = 0; t < this.length; t += 1) this[t].style.transform = e;
224      return this;
225    },
226    transition: function (e) {
227      for (let t = 0; t < this.length; t += 1)
228        this[t].style.transitionDuration = "string" != typeof e ? `${e}ms` : e;
229      return this;
230    },
231    on: function () {
232      for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
233        t[s] = arguments[s];
234      let [a, i, r, n] = t;
235      function l(e) {
236        const t = e.target;
237        if (!t) return;
238        const s = e.target.dom7EventData || [];
239        if ((s.indexOf(e) < 0 && s.unshift(e), d(t).is(i))) r.apply(t, s);
240        else {
241          const e = d(t).parents();
242          for (let t = 0; t < e.length; t += 1)
243            d(e[t]).is(i) && r.apply(e[t], s);
244        }
245      }
246      function o(e) {
247        const t = (e && e.target && e.target.dom7EventData) || [];
248        t.indexOf(e) < 0 && t.unshift(e), r.apply(this, t);
249      }
250      "function" == typeof t[1] && (([a, r, n] = t), (i = void 0)),
251        n || (n = !1);
252      const c = a.split(" ");
253      let p;
254      for (let e = 0; e < this.length; e += 1) {
255        const t = this[e];
256        if (i)
257          for (p = 0; p < c.length; p += 1) {
258            const e = c[p];
259            t.dom7LiveListeners || (t.dom7LiveListeners = {}),
260              t.dom7LiveListeners[e] || (t.dom7LiveListeners[e] = []),
261              t.dom7LiveListeners[e].push({ listener: r, proxyListener: l }),
262              t.addEventListener(e, l, n);
263          }
264        else
265          for (p = 0; p < c.length; p += 1) {
266            const e = c[p];
267            t.dom7Listeners || (t.dom7Listeners = {}),
268              t.dom7Listeners[e] || (t.dom7Listeners[e] = []),
269              t.dom7Listeners[e].push({ listener: r, proxyListener: o }),
270              t.addEventListener(e, o, n);
271          }
272      }
273      return this;
274    },
275    off: function () {
276      for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
277        t[s] = arguments[s];
278      let [a, i, r, n] = t;
279      "function" == typeof t[1] && (([a, r, n] = t), (i = void 0)),
280        n || (n = !1);
281      const l = a.split(" ");
282      for (let e = 0; e < l.length; e += 1) {
283        const t = l[e];
284        for (let e = 0; e < this.length; e += 1) {
285          const s = this[e];
286          let a;
287          if (
288            (!i && s.dom7Listeners
289              ? (a = s.dom7Listeners[t])
290              : i && s.dom7LiveListeners && (a = s.dom7LiveListeners[t]),
291            a && a.length)
292          )
293            for (let e = a.length - 1; e >= 0; e -= 1) {
294              const i = a[e];
295              (r && i.listener === r) ||
296              (r &&
297                i.listener &&
298                i.listener.dom7proxy &&
299                i.listener.dom7proxy === r)
300                ? (s.removeEventListener(t, i.proxyListener, n), a.splice(e, 1))
301                : r ||
302                  (s.removeEventListener(t, i.proxyListener, n),
303                  a.splice(e, 1));
304            }
305        }
306      }
307      return this;
308    },
309    trigger: function () {
310      const e = r();
311      for (var t = arguments.length, s = new Array(t), a = 0; a < t; a++)
312        s[a] = arguments[a];
313      const i = s[0].split(" "),
314        n = s[1];
315      for (let t = 0; t < i.length; t += 1) {
316        const a = i[t];
317        for (let t = 0; t < this.length; t += 1) {
318          const i = this[t];
319          if (e.CustomEvent) {
320            const t = new e.CustomEvent(a, {
321              detail: n,
322              bubbles: !0,
323              cancelable: !0,
324            });
325            (i.dom7EventData = s.filter((e, t) => t > 0)),
326              i.dispatchEvent(t),
327              (i.dom7EventData = []),
328              delete i.dom7EventData;
329          }
330        }
331      }
332      return this;
333    },
334    transitionEnd: function (e) {
335      const t = this;
336      return (
337        e &&
338          t.on("transitionend", function s(a) {
339            a.target === this && (e.call(this, a), t.off("transitionend", s));
340          }),
341        this
342      );
343    },
344    outerWidth: function (e) {
345      if (this.length > 0) {
346        if (e) {
347          const e = this.styles();
348          return (
349            this[0].offsetWidth +
350            parseFloat(e.getPropertyValue("margin-right")) +
351            parseFloat(e.getPropertyValue("margin-left"))
352          );
353        }
354        return this[0].offsetWidth;
355      }
356      return null;
357    },
358    outerHeight: function (e) {
359      if (this.length > 0) {
360        if (e) {
361          const e = this.styles();
362          return (
363            this[0].offsetHeight +
364            parseFloat(e.getPropertyValue("margin-top")) +
365            parseFloat(e.getPropertyValue("margin-bottom"))
366          );
367        }
368        return this[0].offsetHeight;
369      }
370      return null;
371    },
372    styles: function () {
373      const e = r();
374      return this[0] ? e.getComputedStyle(this[0], null) : {};
375    },
376    offset: function () {
377      if (this.length > 0) {
378        const e = r(),
379          t = a(),
380          s = this[0],
381          i = s.getBoundingClientRect(),
382          n = t.body,
383          l = s.clientTop || n.clientTop || 0,
384          o = s.clientLeft || n.clientLeft || 0,
385          d = s === e ? e.scrollY : s.scrollTop,
386          c = s === e ? e.scrollX : s.scrollLeft;
387        return { top: i.top + d - l, left: i.left + c - o };
388      }
389      return null;
390    },
391    css: function (e, t) {
392      const s = r();
393      let a;
394      if (1 === arguments.length) {
395        if ("string" != typeof e) {
396          for (a = 0; a < this.length; a += 1)
397            for (const t in e) this[a].style[t] = e[t];
398          return this;
399        }
400        if (this[0])
401          return s.getComputedStyle(this[0], null).getPropertyValue(e);
402      }
403      if (2 === arguments.length && "string" == typeof e) {
404        for (a = 0; a < this.length; a += 1) this[a].style[e] = t;
405        return this;
406      }
407      return this;
408    },
409    each: function (e) {
410      return e
411        ? (this.forEach((t, s) => {
412            e.apply(t, [t, s]);
413          }),
414          this)
415        : this;
416    },
417    html: function (e) {
418      if (void 0 === e) return this[0] ? this[0].innerHTML : null;
419      for (let t = 0; t < this.length; t += 1) this[t].innerHTML = e;
420      return this;
421    },
422    text: function (e) {
423      if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
424      for (let t = 0; t < this.length; t += 1) this[t].textContent = e;
425      return this;
426    },
427    is: function (e) {
428      const t = r(),
429        s = a(),
430        i = this[0];
431      let l, o;
432      if (!i || void 0 === e) return !1;
433      if ("string" == typeof e) {
434        if (i.matches) return i.matches(e);
435        if (i.webkitMatchesSelector) return i.webkitMatchesSelector(e);
436        if (i.msMatchesSelector) return i.msMatchesSelector(e);
437        for (l = d(e), o = 0; o < l.length; o += 1) if (l[o] === i) return !0;
438        return !1;
439      }
440      if (e === s) return i === s;
441      if (e === t) return i === t;
442      if (e.nodeType || e instanceof n) {
443        for (l = e.nodeType ? [e] : e, o = 0; o < l.length; o += 1)
444          if (l[o] === i) return !0;
445        return !1;
446      }
447      return !1;
448    },
449    index: function () {
450      let e,
451        t = this[0];
452      if (t) {
453        for (e = 0; null !== (t = t.previousSibling); )
454          1 === t.nodeType && (e += 1);
455        return e;
456      }
457    },
458    eq: function (e) {
459      if (void 0 === e) return this;
460      const t = this.length;
461      if (e > t - 1) return d([]);
462      if (e < 0) {
463        const s = t + e;
464        return d(s < 0 ? [] : [this[s]]);
465      }
466      return d([this[e]]);
467    },
468    append: function () {
469      let e;
470      const t = a();
471      for (let s = 0; s < arguments.length; s += 1) {
472        e = s < 0 || arguments.length <= s ? void 0 : arguments[s];
473        for (let s = 0; s < this.length; s += 1)
474          if ("string" == typeof e) {
475            const a = t.createElement("div");
476            for (a.innerHTML = e; a.firstChild; )
477              this[s].appendChild(a.firstChild);
478          } else if (e instanceof n)
479            for (let t = 0; t < e.length; t += 1) this[s].appendChild(e[t]);
480          else this[s].appendChild(e);
481      }
482      return this;
483    },
484    prepend: function (e) {
485      const t = a();
486      let s, i;
487      for (s = 0; s < this.length; s += 1)
488        if ("string" == typeof e) {
489          const a = t.createElement("div");
490          for (a.innerHTML = e, i = a.childNodes.length - 1; i >= 0; i -= 1)
491            this[s].insertBefore(a.childNodes[i], this[s].childNodes[0]);
492        } else if (e instanceof n)
493          for (i = 0; i < e.length; i += 1)
494            this[s].insertBefore(e[i], this[s].childNodes[0]);
495        else this[s].insertBefore(e, this[s].childNodes[0]);
496      return this;
497    },
498    next: function (e) {
499      return this.length > 0
500        ? e
501          ? this[0].nextElementSibling && d(this[0].nextElementSibling).is(e)
502            ? d([this[0].nextElementSibling])
503            : d([])
504          : this[0].nextElementSibling
505          ? d([this[0].nextElementSibling])
506          : d([])
507        : d([]);
508    },
509    nextAll: function (e) {
510      const t = [];
511      let s = this[0];
512      if (!s) return d([]);
513      for (; s.nextElementSibling; ) {
514        const a = s.nextElementSibling;
515        e ? d(a).is(e) && t.push(a) : t.push(a), (s = a);
516      }
517      return d(t);
518    },
519    prev: function (e) {
520      if (this.length > 0) {
521        const t = this[0];
522        return e
523          ? t.previousElementSibling && d(t.previousElementSibling).is(e)
524            ? d([t.previousElementSibling])
525            : d([])
526          : t.previousElementSibling
527          ? d([t.previousElementSibling])
528          : d([]);
529      }
530      return d([]);
531    },
532    prevAll: function (e) {
533      const t = [];
534      let s = this[0];
535      if (!s) return d([]);
536      for (; s.previousElementSibling; ) {
537        const a = s.previousElementSibling;
538        e ? d(a).is(e) && t.push(a) : t.push(a), (s = a);
539      }
540      return d(t);
541    },
542    parent: function (e) {
543      const t = [];
544      for (let s = 0; s < this.length; s += 1)
545        null !== 
545this[s].parentNode &&
546          (e
547            ? d(this[s].parentNode).is(e) && t.push(this[s].parentNode)
548            : t.push(this[s].parentNode));
549      return d(t);
550    },
551    parents: function (e) {
552      const t = [];
553      for (let s = 0; s < this.length; s += 1) {
554        let a = this[s].parentNode;
555        for (; a; ) e ? d(a).is(e) && t.push(a) : t.push(a), (a = a.parentNode);
556      }
557      return d(t);
558    },
559    closest: function (e) {
560      let t = this;
561      return void 0 === e ? d([]) : (t.is(e) || (t = t.parents(e).eq(0)), t);
562    },
563    find: function (e) {
564      const t = [];
565      for (let s = 0; s < this.length; s += 1) {
566        const a = this[s].querySelectorAll(e);
567        for (let e = 0; e < a.length; e += 1) t.push(a[e]);
568      }
569      return d(t);
570    },
571    children: function (e) {
572      const t = [];
573      for (let s = 0; s < this.length; s += 1) {
574        const a = this[s].children;
575        for (let s = 0; s < a.length; s += 1)
576          (e && !d(a[s]).is(e)) || t.push(a[s]);
577      }
578      return d(t);
579    },
580    filter: function (e) {
581      return d(o(this, e));
582    },
583    remove: function () {
584      for (let e = 0; e < this.length; e += 1)
585        this[e].parentNode && this[e].parentNode.removeChild(this[e]);
586      return this;
587    },
588  };
589  function p(e, t) {
590    return void 0 === t && (t = 0), setTimeout(e, t);
591  }
592  function u() {
593    return Date.now();
594  }
595  function h(e, t) {
596    void 0 === t && (t = "x");
597    const s = r();
598    let a, i, n;
599    const l = (function (e) {
600      const t = r();
601      let s;
602      return (
603        t.getComputedStyle && (s = t.getComputedStyle(e, null)),
604        !s && e.currentStyle && (s = e.currentStyle),
605        s || (s = e.style),
606        s
607      );
608    })(e);
609    return (
610      s.WebKitCSSMatrix
611        ? ((i = l.transform || l.webkitTransform),
612          i.split(",").length > 6 &&
613            (i = i
614              .split(", ")
615              .map((e) => e.replace(",", "."))
616              .join(", ")),
617          (n = new s.WebKitCSSMatrix("none" === i ? "" : i)))
618        : ((n =
619            l.MozTransform ||
620            l.OTransform ||
621            l.MsTransform ||
622            l.msTransform ||
623            l.transform ||
624            l
625              .getPropertyValue("transform")
626              .replace("translate(", "matrix(1, 0, 0, 1,")),
627          (a = n.toString().split(","))),
628      "x" === t &&
629        (i = s.WebKitCSSMatrix
630          ? n.m41
631          : 16 === a.length
632          ? parseFloat(a[12])
633          : parseFloat(a[4])),
634      "y" === t &&
635        (i = s.WebKitCSSMatrix
636          ? n.m42
637          : 16 === a.length
638          ? parseFloat(a[13])
639          : parseFloat(a[5])),
640      i || 0
641    );
642  }
643  function m(e) {
644    return (
645      "object" == typeof e &&
646      null !== e &&
647      e.constructor &&
648      "Object" === Object.prototype.toString.call(e).slice(8, -1)
649    );
650  }
651  function f(e) {
652    return "undefined" != typeof window && void 0 !== window.HTMLElement
653      ? e instanceof HTMLElement
654      : e && (1 === e.nodeType || 11 === e.nodeType);
655  }
656  function g() {
657    const e = Object(arguments.length <= 0 ? void 0 : arguments[0]),
658      t = ["__proto__", "constructor", "prototype"];
659    for (let s = 1; s < arguments.length; s += 1) {
660      const a = s < 0 || arguments.length <= s ? void 0 : arguments[s];
661      if (null != a && !f(a)) {
662        const s = Object.keys(Object(a)).filter((e) => t.indexOf(e) < 0);
663        for (let t = 0, i = s.length; t < i; t += 1) {
664          const i = s[t],
665            r = Object.getOwnPropertyDescriptor(a, i);
666          void 0 !== r &&
667            r.enumerable &&
668            (m(e[i]) && m(a[i])
669              ? a[i].__swiper__
670                ? (e[i] = a[i])
671                : g(e[i], a[i])
672              : !m(e[i]) && m(a[i])
673              ? ((e[i] = {}), a[i].__swiper__ ? (e[i] = a[i]) : g(e[i], a[i]))
674              : (e[i] = a[i]));
675        }
676      }
677    }
678    return e;
679  }
680  function v(e, t, s) {
681    e.style.setProperty(t, s);
682  }
683  function w(e) {
684    let { swiper: t, targetPosition: s, side: a } = e;
685    const i = r(),
686      n = -t.translate;
687    let l,
688      o = null;
689    const d = t.params.speed;
690    (t.wrapperEl.style.scrollSnapType = "none"),
691      i.cancelAnimationFrame(t.cssModeFrameID);
692    const c = s > n ? "next" : "prev",
693      p = (e, t) => ("next" === c && e >= t) || ("prev" === c && e <= t),
694      u = () => {
695        (l = new Date().getTime()), null === o && (o = l);
696        const e = Math.max(Math.min((l - o) / d, 1), 0),
697          r = 0.5 - Math.cos(e * Math.PI) / 2;
698        let c = n + r * (s - n);
699        if ((p(c, s) && (c = s), t.wrapperEl.scrollTo({ [a]: c }), p(c, s)))
700          return (
701            (t.wrapperEl.style.overflow = "hidden"),
702            (t.wrapperEl.style.scrollSnapType = ""),
703            setTimeout(() => {
704              (t.wrapperEl.style.overflow = ""),
705                t.wrapperEl.scrollTo({ [a]: c });
706            }),
707            void i.cancelAnimationFrame(t.cssModeFrameID)
708          );
709        t.cssModeFrameID = i.requestAnimationFrame(u);
710      };
711    u();
712  }
713  let b, x, y;
714  function E() {
715    return (
716      b ||
717        (b = (function () {
718          const e = r(),
719            t = a();
720          return {
721            smoothScroll:
722              t.documentElement && "scrollBehavior" in t.documentElement.style,
723            touch: !!(
724              "ontouchstart" in e ||
725              (e.DocumentTouch && t instanceof e.DocumentTouch)
726            ),
727            passiveListener: (function () {
728              let t = !1;
729              try {
730                const s = Object.defineProperty({}, "passive", {
731                  get() {
732                    t = !0;
733                  },
734                });
735                e.addEventListener("testPassiveListener", null, s);
736              } catch (e) {}
737              return t;
738            })(),
739            gestures: "ongesturestart" in e,
740          };
741        })()),
742      b
743    );
744  }
745  function T(e) {
746    return (
747      void 0 === e && (e = {}),
748      x ||
749        (x = (function (e) {
750          let { userAgent: t } = void 0 === e ? {} : e;
751          const s = E(),
752            a = r(),
753            i = a.navigator.platform,
754            n = t || a.navigator.userAgent,
755            l = { ios: !1, android: !1 },
756            o = a.screen.width,
757            d = a.screen.height,
758            c = n.match(/(Android);?[\s\/]+([\d.]+)?/);
759          let p = n.match(/(iPad).*OS\s([\d_]+)/);
760          const u = n.match(/(iPod)(.*OS\s([\d_]+))?/),
761            h = !p && n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
762            m = "Win32" === i;
763          let f = "MacIntel" === i;
764          return (
765            !p &&
766              f &&
767              s.touch &&
768              [
769                "1024x1366",
770                "1366x1024",
771                "834x1194",
772                "1194x834",
773                "834x1112",
774                "1112x834",
775                "768x1024",
776                "1024x768",
777                "820x1180",
778                "1180x820",
779                "810x1080",
780                "1080x810",
781              ].indexOf(`${o}x${d}`) >= 0 &&
782              ((p = n.match(/(Version)\/([\d.]+)/)),
783              p || (p = [0, 1, "13_0_0"]),
784              (f = !1)),
785            c && !m && ((l.os = "android"), (l.android = !0)),
786            (p || h || u) && ((l.os = "ios"), (l.ios = !0)),
787            l
788          );
789        })(e)),
790      x
791    );
792  }
793  function C() {
794    return (
795      y ||
796        (y = (function () {
797          const e = r();
798          return {
799            isSafari: (function () {
800              const t = e.navigator.userAgent.toLowerCase();
801              return (
802                t.indexOf("safari") >= 0 &&
803                t.indexOf("chrome") < 0 &&
804                t.indexOf("android") < 0
805              );
806            })(),
807            isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
808              e.navigator.userAgent
809            ),
810          };
811        })()),
812      y
813    );
814  }
815  Object.keys(c).forEach((e) => {
816    Object.defineProperty(d.fn, e, { value: c[e], writable: !0 });
817  });
818  var $ = {
819      on(e, t, s) {
820        const a = this;
821        if ("function" != typeof t) return a;
822        const i = s ? "unshift" : "push";
823        return (
824          e.split(" ").forEach((e) => {
825            a.eventsListeners[e] || (a.eventsListeners[e] = []),
826              a.eventsListeners[e][i](t);
827          }),
828          a
829        );
830      },
831      once(e, t, s) {
832        const a = this;
833        if ("function" != typeof t) return a;
834        function i() {
835          a.off(e, i), i.__emitterProxy && delete i.__emitterProxy;
836          for (var s = arguments.length, r = new Array(s), n = 0; n < s; n++)
837            r[n] = arguments[n];
838          t.apply(a, r);
839        }
840        return (i.__emitterProxy = t), a.on(e, i, s);
841      },
842      onAny(e, t) {
843        const s = this;
844        if ("function" != typeof e) return s;
845        const a = t ? "unshift" : "push";
846        return (
847          s.eventsAnyListeners.indexOf(e) < 0 && s.eventsAnyListeners[a](e), s
848        );
849      },
850      offAny(e) {
851        const t = this;
852        if (!t.eventsAnyListeners) return t;
853        const s = t.eventsAnyListeners.indexOf(e);
854        return s >= 0 && t.eventsAnyListeners.splice(s, 1), t;
855      },
856      off(e, t) {
857        const s = this;
858        return s.eventsListeners
859          ? (e.split(" ").forEach((e) => {
860              void 0 === t
861                ? (s.eventsListeners[e] = [])
862                : s.eventsListeners[e] &&
863                  s.eventsListeners[e].forEach((a, i) => {
864                    (a === t || (a.__emitterProxy && a.__emitterProxy === t)) &&
865                      s.eventsListeners[e].splice(i, 1);
866                  });
867            }),
868            s)
869          : s;
870      },
871      emit() {
872        const e = this;
873        if (!e.eventsListeners) return e;
874        let t, s, a;
875        for (var i = arguments.length, r = new Array(i), n = 0; n < i; n++)
876          r[n] = arguments[n];
877        return (
878          "string" == typeof r[0] || Array.isArray(r[0])
879            ? ((t = r[0]), (s = r.slice(1, r.length)), (a = e))
880            : ((t = r[0].events), (s = r[0].data), (a = r[0].context || e)),
881          s.unshift(a),
882          (Array.isArray(t) ? t : t.split(" ")).forEach((t) => {
883            e.eventsAnyListeners &&
884              e.eventsAnyListeners.length &&
885              e.eventsAnyListeners.forEach((e) => {
886                e.apply(a, [t, ...s]);
887              }),
888              e.eventsListeners &&
889                e.eventsListeners[t] &&
890                e.eventsListeners[t].forEach((e) => {
891                  e.apply(a, s);
892                });
893          }),
894          e
895        );
896      },
897    },
898    S = {
899      updateSize: function () {
900        const e = this;
901        let t, s;
902        const a = e.$el;
903        (t =
904          void 0 !== e.params.width && null !== e.params.width
905            ? e.params.width
906            : a[0].clientWidth),
907          (s =
908            void 0 !== e.params.height && null !== e.params.height
909              ? e.params.height
910              : a[0].clientHeight),
911          (0 === t && e.isHorizontal()) ||
912            (0 === s && e.isVertical()) ||
913            ((t =
914              t -
915              parseInt(a.css("padding-left") || 0, 10) -
916              parseInt(a.css("padding-right") || 0, 10)),
917            (s =
918              s -
919              parseInt(a.css("padding-top") || 0, 10) -
920              parseInt(a.css("padding-bottom") || 0, 10)),
921            Number.isNaN(t) && (t = 0),
922            Number.isNaN(s) && (s = 0),
923            Object.assign(e, {
924              width: t,
925              height: s,
926              size: e.isHorizontal() ? t : s,
927            }));
928      },
929      updateSlides: function () {
930        const e = this;
931        function t(t) {
932          return e.isHorizontal()
933            ? t
934            : {
935                width: "height",
936                "margin-top": "margin-left",
937                "margin-bottom ": "margin-right",
938                "margin-left": "margin-top",
939                "margin-right": "margin-bottom",
940                "padding-left": "padding-top",
941                "padding-right": "padding-bottom",
942                marginRight: "marginBottom",
943              }[t];
944        }
945        function s(e, s) {
946          return parseFloat(e.getPropertyValue(t(s)) || 0);
947        }
948        const a = e.params,
949          { $wrapperEl: i, size: r, rtlTranslate: n, wrongRTL: l } = e,
950          o = e.virtual && a.virtual.enabled,
951          d = o ? e.virtual.slides.length : e.slides.length,
952          c = i.children(`.${e.params.slideClass}`),
953          p = o ? e.virtual.slides.length : c.length;
954        let u = [];
955        const h = [],
956          m = [];
957        let f = a.slidesOffsetBefore;
958        "function" == typeof f && (f = a.slidesOffsetBefore.call(e));
959        let g = a.slidesOffsetAfter;
960        "function" == typeof g && (g = a.slidesOffsetAfter.call(e));
961        const w = e.snapGrid.length,
962          b = e.slidesGrid.length;
963        let x = a.spaceBetween,
964          y = -f,
965          E = 0,
966          T = 0;
967        if (void 0 === r) return;
968        "string" == typeof x &&
969          x.indexOf("%") >= 0 &&
970          (x = (parseFloat(x.replace("%", "")) / 100) * r),
971          (e.virtualSize = -x),
972          n
973            ? c.css({ marginLeft: "", marginBottom: "", marginTop: "" })
974            : c.css({ marginRight: "", marginBottom: "", marginTop: "" }),
975          a.centeredSlides &&
976            a.cssMode &&
977            (v(e.wrapperEl, "--swiper-centered-offset-before", ""),
978            v(e.wrapperEl, "--swiper-centered-offset-after", ""));
979        const C = a.grid && a.grid.rows > 1 && e.grid;
980        let $;
981        C && e.grid.initSlides(p);
982        const S =
983          "auto" === a.slidesPerView &&
984          a.breakpoints &&
985          Object.keys(a.breakpoints).filter(
986            (e) => void 0 !== a.breakpoints[e].slidesPerView
987          ).length > 0;
988        for (let i = 0; i < p; i += 1) {
989          $ = 0;
990          const n = c.eq(i);
991          if (
992            (C && e.grid.updateSlide(i, n, p, t), "none" !== n.css("display"))
993          ) {
994            if ("auto" === a.slidesPerView) {
995              S && (c[i].style[t("width")] = "");
996              const r = getComputedStyle(n[0]),
997                l = n[0].style.transform,
998                o = n[0].style.webkitTransform;
999              if (
1000                (l && (n[0].style.transform = "none"),
1001                o && (n[0].style.webkitTransform = "none"),
1002                a.roundLengths)
1003              )
1004                $ = e.isHorizontal() ? n.outerWidth(!0) : n.outerHeight(!0);
1005              else {
1006                const e = s(r, "width"),
1007                  t = s(r, "padding-left"),
1008                  a = s(r, "padding-right"),
1009                  i = s(r, "margin-left"),
1010                  l = s(r, "margin-right"),
1011                  o = r.getPropertyValue("box-sizing");
1012                if (o && "border-box" === o) $ = e + i + l;
1013                else {
1014                  const { clientWidth: s, offsetWidth: r } = n[0];
1015                  $ = e + t + a + i + l + (r - s);
1016                }
1017              }
1018              l && (n[0].style.transform = l),
1019                o && (n[0].style.webkitTransform = o),
1020                a.roundLengths && ($ = Math.floor($));
1021            } else
1022              ($ = (r - (a.slidesPerView - 1) * x) / a.slidesPerView),
1023                a.roundLengths && ($ = Math.floor($)),
1024                c[i] && (c[i].style[t("width")] = `${$}px`);
1025            c[i] && (c[i].swiperSlideSize = $),
1026              m.push($),
1027              a.centeredSlides
1028                ? ((y = y + $ / 2 + E / 2 + x),
1029                  0 === E && 0 !== i && (y = y - r / 2 - x),
1030                  0 === i && (y = y - r / 2 - x),
1031                  Math.abs(y) < 0.001 && (y = 0),
1032                  a.roundLengths && (y = Math.floor(y)),
1033                  T % a.slidesPerGroup == 0 && u.push(y),
1034                  h.push(y))
1035                : (a.roundLengths && (y = Math.floor(y)),
1036                  (T - Math.min(e.params.slidesPerGroupSkip, T)) %
1037                    e.params.slidesPerGroup ==
1038                    0 && u.push(y),
1039                  h.push(y),
1040                  (y = y + $ + x)),
1041              (e.virtualSize += $ + x),
1042              (E = $),
1043              (T += 1);
1044          }
1045        }
1046        if (
1047          ((e.virtualSize = Math.max(e.virtualSize, r) + g),
1048          n &&
1049            l &&
1050            ("slide" === a.effect || "coverflow" === a.effect) &&
1051            i.css({ width: `${e.virtualSize + a.spaceBetween}px` }),
1052          a.setWrapperSize &&
1053            i.css({ [t("width")]: `${e.virtualSize + a.spaceBetween}px` }),
1054          C && e.grid.updateWrapperSize($, u, t),
1055          !a.centeredSlides)
1056        ) {
1057          const t = [];
1058          for (let s = 0; s < u.length; s += 1) {
1059            let i = u[s];
1060            a.roundLengths && (i = Math.floor(i)),
1061              u[s] <= e.virtualSize - r && t.push(i);
1062          }
1063          (u = t),
1064            Math.floor(e.virtualSize - r) - Math.floor(u[u.length - 1]) > 1 &&
1065              u.push(e.virtualSize - r);
1066        }
1067        if ((0 === u.length && (u = [0]), 0 !== a.spaceBetween)) {
1068          const s = e.isHorizontal() && n ? "marginLeft" : t("marginRight");
1069          c.filter((e, t) => !a.cssMode || t !== c.length - 1).css({
1070            [s]: `${x}px`,
1071          });
1072        }
1073        if (a.centeredSlides && a.centeredSlidesBounds) {
1074          let e = 0;
1075          m.forEach((t) => {
1076            e += t + (a.spaceBetween ? a.spaceBetween : 0);
1077          }),
1078            (e -= a.spaceBetween);
1079          const t = e - r;
1080          u = u.map((e) => (e < 0 ? -f : e > t ? t + g : e));
1081        }
1082        if (a.centerInsufficientSlides) {
1083          let e = 0;
1084          if (
1085            (m.forEach((t) => {
1086              e += t + (a.spaceBetween ? a.spaceBetween : 0);
1087            }),
1088            (e -= a.spaceBetween),
1089            e < r)
1090          ) {
1091            const t = (r - e) / 2;
1092            u.forEach((e, s) => {
1093              u[s] = e - t;
1094            }),
1095              h.forEach((e, s) => {
1096                h[s] = e + t;
1097              });
1098          }
1099        }
1100        if (
1101          (Object.assign(e, {
1102            slides: c,
1103            snapGrid: u,
1104            slidesGrid: h,
1105            slidesSizesGrid: m,
1106          }),
1107          a.centeredSlides && a.cssMode && !a.centeredSlidesBounds)
1108        ) {
1109          v(e.wrapperEl, "--swiper-centered-offset-before", -u[0] + "px"),
1110            v(
1111              e.wrapperEl,
1112              "--swiper-centered-offset-after",
1113              e.size / 2 - m[m.length - 1] / 2 + "px"
1114            );
1115          const t = -e.snapGrid[0],
1116            s = -e.slidesGrid[0];
1117          (e.snapGrid = e.snapGrid.map((e) => e + t)),
1118            (e.slidesGrid = e.slidesGrid.map((e) => e + s));
1119        }
1120        if (
1121          (p !== d && e.emit("slidesLengthChange"),
1122          u.length !== w &&
1123            (e.params.watchOverflow && e.checkOverflow(),
1124            e.emit("snapGridLengthChange")),
1125          h.length !== b && e.emit("slidesGridLengthChange"),
1126          a.watchSlidesProgress && e.updateSlidesOffset(),
1127          !(o || a.cssMode || ("slide" !== a.effect && "fade" !== a.effect)))
1128        ) {
1129          const t = `${a.containerModifierClass}backface-hidden`,
1130            s = e.$el.hasClass(t);
1131          p <= a.maxBackfaceHiddenSlides
1132            ? s || e.$el.addClass(t)
1133            : s && e.$el.removeClass(t);
1134        }
1135      },
1136      updateAutoHeight: function (e) {
1137        const t = this,
1138          s = [],
1139          a = t.virtual && t.params.virtual.enabled;
1140        let i,
1141          r = 0;
1142        "number" == typeof e
1143          ? t.setTransition(e)
1144          : !0 === e && t.setTransition(t.params.speed);
1145        const n = (e) =>
1146          a
1147            ? t.slides.filter(
1148                (t) =>
1149                  parseInt(t.getAttribute("data-swiper-slide-index"), 10) === e
1150              )[0]
1151            : t.slides.eq(e)[0];
1152        if ("auto" !== t.params.slidesPerView && t.params.slidesPerView > 1)
1153          if (t.params.centeredSlides)
1154            t.visibleSlides.each((e) => {
1155              s.push(e);
1156            });
1157          else
1158            for (i = 0;
1158 i < Math.ceil(t.params.slidesPerView); i += 1) {
1159              const e = t.activeIndex + i;
1160              if (e > t.slides.length && !a) break;
1161              s.push(n(e));
1162            }
1163        else s.push(n(t.activeIndex));
1164        for (i = 0; i < s.length; i += 1)
1165          if (void 0 !== s[i]) {
1166            const e = s[i].offsetHeight;
1167            r = e > r ? e : r;
1168          }
1169        (r || 0 === r) && t.$wrapperEl.css("height", `${r}px`);
1170      },
1171      updateSlidesOffset: function () {
1172        const e = this,
1173          t = e.slides;
1174        for (let s = 0; s < t.length; s += 1)
1175          t[s].swiperSlideOffset = e.isHorizontal()
1176            ? t[s].offsetLeft
1177            : t[s].offsetTop;
1178      },
1179      updateSlidesProgress: function (e) {
1180        void 0 === e && (e = (this && this.translate) || 0);
1181        const t = this,
1182          s = t.params,
1183          { slides: a, rtlTranslate: i, snapGrid: r } = t;
1184        if (0 === a.length) return;
1185        void 0 === a[0].swiperSlideOffset && t.updateSlidesOffset();
1186        let n = -e;
1187        i && (n = e),
1188          a.removeClass(s.slideVisibleClass),
1189          (t.visibleSlidesIndexes = []),
1190          (t.visibleSlides = []);
1191        for (let e = 0; e < a.length; e += 1) {
1192          const l = a[e];
1193          let o = l.swiperSlideOffset;
1194          s.cssMode && s.centeredSlides && (o -= a[0].swiperSlideOffset);
1195          const d =
1196              (n + (s.centeredSlides ? t.minTranslate() : 0) - o) /
1197              (l.swiperSlideSize + s.spaceBetween),
1198            c =
1199              (n - r[0] + (s.centeredSlides ? t.minTranslate() : 0) - o) /
1200              (l.swiperSlideSize + s.spaceBetween),
1201            p = -(n - o),
1202            u = p + t.slidesSizesGrid[e];
1203          ((p >= 0 && p < t.size - 1) ||
1204            (u > 1 && u <= t.size) ||
1205            (p <= 0 && u >= t.size)) &&
1206            (t.visibleSlides.push(l),
1207            t.visibleSlidesIndexes.push(e),
1208            a.eq(e).addClass(s.slideVisibleClass)),
1209            (l.progress = i ? -d : d),
1210            (l.originalProgress = i ? -c : c);
1211        }
1212        t.visibleSlides = d(t.visibleSlides);
1213      },
1214      updateProgress: function (e) {
1215        const t = this;
1216        if (void 0 === e) {
1217          const s = t.rtlTranslate ? -1 : 1;
1218          e = (t && t.translate && t.translate * s) || 0;
1219        }
1220        const s = t.params,
1221          a = t.maxTranslate() - t.minTranslate();
1222        let { progress: i, isBeginning: r, isEnd: n } = t;
1223        const l = r,
1224          o = n;
1225        0 === a
1226          ? ((i = 0), (r = !0), (n = !0))
1227          : ((i = (e - t.minTranslate()) / a), (r = i <= 0), (n = i >= 1)),
1228          Object.assign(t, { progress: i, isBeginning: r, isEnd: n }),
1229          (s.watchSlidesProgress || (s.centeredSlides && s.autoHeight)) &&
1230            t.updateSlidesProgress(e),
1231          r && !l && t.emit("reachBeginning toEdge"),
1232          n && !o && t.emit("reachEnd toEdge"),
1233          ((l && !r) || (o && !n)) && t.emit("fromEdge"),
1234          t.emit("progress", i);
1235      },
1236      updateSlidesClasses: function () {
1237        const e = this,
1238          {
1239            slides: t,
1240            params: s,
1241            $wrapperEl: a,
1242            activeIndex: i,
1243            realIndex: r,
1244          } = e,
1245          n = e.virtual && s.virtual.enabled;
1246        let l;
1247        t.removeClass(
1248          `${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`
1249        ),
1250          (l = n
1251            ? e.$wrapperEl.find(
1252                `.${s.slideClass}[data-swiper-slide-index="${i}"]`
1253              )
1254            : t.eq(i)),
1255          l.addClass(s.slideActiveClass),
1256          s.loop &&
1257            (l.hasClass(s.slideDuplicateClass)
1258              ? a
1259                  .children(
1260                    `.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]`
1261                  )
1262                  .addClass(s.slideDuplicateActiveClass)
1263              : a
1264                  .children(
1265                    `.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]`
1266                  )
1267                  .addClass(s.slideDuplicateActiveClass));
1268        let o = l.nextAll(`.${s.slideClass}`).eq(0).addClass(s.slideNextClass);
1269        s.loop &&
1270          0 === o.length &&
1271          ((o = t.eq(0)), o.addClass(s.slideNextClass));
1272        let d = l.prevAll(`.${s.slideClass}`).eq(0).addClass(s.slidePrevClass);
1273        s.loop &&
1274          0 === d.length &&
1275          ((d = t.eq(-1)), d.addClass(s.slidePrevClass)),
1276          s.loop &&
1277            (o.hasClass(s.slideDuplicateClass)
1278              ? a
1279                  .children(
1280                    `.${s.slideClass}:not(.${
1281                      s.slideDuplicateClass
1282                    })[data-swiper-slide-index="${o.attr(
1283                      "data-swiper-slide-index"
1284                    )}"]`
1285                  )
1286                  .addClass(s.slideDuplicateNextClass)
1287              : a
1288                  .children(
1289                    `.${s.slideClass}.${
1290                      s.slideDuplicateClass
1291                    }[data-swiper-slide-index="${o.attr(
1292                      "data-swiper-slide-index"
1293                    )}"]`
1294                  )
1295                  .addClass(s.slideDuplicateNextClass),
1296            d.hasClass(s.slideDuplicateClass)
1297              ? a
1298                  .children(
1299                    `.${s.slideClass}:not(.${
1300                      s.slideDuplicateClass
1301                    })[data-swiper-slide-index="${d.attr(
1302                      "data-swiper-slide-index"
1303                    )}"]`
1304                  )
1305                  .addClass(s.slideDuplicatePrevClass)
1306              : a
1307                  .children(
1308                    `.${s.slideClass}.${
1309                      s.slideDuplicateClass
1310                    }[data-swiper-slide-index="${d.attr(
1311                      "data-swiper-slide-index"
1312                    )}"]`
1313                  )
1314                  .addClass(s.slideDuplicatePrevClass)),
1315          e.emitSlidesClasses();
1316      },
1317      updateActiveIndex: function (e) {
1318        const t = this,
1319          s = t.rtlTranslate ? t.translate : -t.translate,
1320          {
1321            slidesGrid: a,
1322            snapGrid: i,
1323            params: r,
1324            activeIndex: n,
1325            realIndex: l,
1326            snapIndex: o,
1327          } = t;
1328        let d,
1329          c = e;
1330        if (void 0 === c) {
1331          for (let e = 0; e < a.length; e += 1)
1332            void 0 !== a[e + 1]
1333              ? s >= a[e] && s < a[e + 1] - (a[e + 1] - a[e]) / 2
1334                ? (c = e)
1335                : s >= a[e] && s < a[e + 1] && (c = e + 1)
1336              : s >= a[e] && (c = e);
1337          r.normalizeSlideIndex && (c < 0 || void 0 === c) && (c = 0);
1338        }
1339        if (i.indexOf(s) >= 0) d = i.indexOf(s);
1340        else {
1341          const e = Math.min(r.slidesPerGroupSkip, c);
1342          d = e + Math.floor((c - e) / r.slidesPerGroup);
1343        }
1344        if ((d >= i.length && (d = i.length - 1), c === n))
1345          return void (
1346            d !== o && ((t.snapIndex = d), t.emit("snapIndexChange"))
1347          );
1348        const p = parseInt(
1349          t.slides.eq(c).attr("data-swiper-slide-index") || c,
1350          10
1351        );
1352        Object.assign(t, {
1353          snapIndex: d,
1354          realIndex: p,
1355          previousIndex: n,
1356          activeIndex: c,
1357        }),
1358          t.emit("activeIndexChange"),
1359          t.emit("snapIndexChange"),
1360          l !== p && t.emit("realIndexChange"),
1361          (t.initialized || t.params.runCallbacksOnInit) &&
1362            t.emit("slideChange");
1363      },
1364      updateClickedSlide: function (e) {
1365        const t = this,
1366          s = t.params,
1367          a = d(e).closest(`.${s.slideClass}`)[0];
1368        let i,
1369          r = !1;
1370        if (a)
1371          for (let e = 0; e < t.slides.length; e += 1)
1372            if (t.slides[e] === a) {
1373              (r = !0), (i = e);
1374              break;
1375            }
1376        if (!a || !r)
1377          return (t.clickedSlide = void 0), void (t.clickedIndex = void 0);
1378        (t.clickedSlide = a),
1379          t.virtual && t.params.virtual.enabled
1380            ? (t.clickedIndex = parseInt(
1381                d(a).attr("data-swiper-slide-index"),
1382                10
1383              ))
1384            : (t.clickedIndex = i),
1385          s.slideToClickedSlide &&
1386            void 0 !== t.clickedIndex &&
1387            t.clickedIndex !== t.activeIndex &&
1388            t.slideToClickedSlide();
1389      },
1390    },
1391    M = {
1392      getTranslate: function (e) {
1393        void 0 === e && (e = this.isHorizontal() ? "x" : "y");
1394        const {
1395          params: t,
1396          rtlTranslate: s,
1397          translate: a,
1398          $wrapperEl: i,
1399        } = this;
1400        if (t.virtualTranslate) return s ? -a : a;
1401        if (t.cssMode) return a;
1402        let r = h(i[0], e);
1403        return s && (r = -r), r || 0;
1404      },
1405      setTranslate: function (e, t) {
1406        const s = this,
1407          {
1408            rtlTranslate: a,
1409            params: i,
1410            $wrapperEl: r,
1411            wrapperEl: n,
1412            progress: l,
1413          } = s;
1414        let o,
1415          d = 0,
1416          c = 0;
1417        s.isHorizontal() ? (d = a ? -e : e) : (c = e),
1418          i.roundLengths && ((d = Math.floor(d)), (c = Math.floor(c))),
1419          i.cssMode
1420            ? (n[s.isHorizontal() ? "scrollLeft" : "scrollTop"] =
1421                s.isHorizontal() ? -d : -c)
1422            : i.virtualTranslate ||
1423              r.transform(`translate3d(${d}px, ${c}px, 0px)`),
1424          (s.previousTranslate = s.translate),
1425          (s.translate = s.isHorizontal() ? d : c);
1426        const p = s.maxTranslate() - s.minTranslate();
1427        (o = 0 === p ? 0 : (e - s.minTranslate()) / p),
1428          o !== l && s.updateProgress(e),
1429          s.emit("setTranslate", s.translate, t);
1430      },
1431      minTranslate: function () {
1432        return -this.snapGrid[0];
1433      },
1434      maxTranslate: function () {
1435        return -this.snapGrid[this.snapGrid.length - 1];
1436      },
1437      translateTo: function (e, t, s, a, i) {
1438        void 0 === e && (e = 0),
1439          void 0 === t && (t = this.params.speed),
1440          void 0 === s && (s = !0),
1441          void 0 === a && (a = !0);
1442        const r = this,
1443          { params: n, wrapperEl: l } = r;
1444        if (r.animating && n.preventInteractionOnTransition) return !1;
1445        const o = r.minTranslate(),
1446          d = r.maxTranslate();
1447        let c;
1448        if (
1449          ((c = a && e > o ? o : a && e < d ? d : e),
1450          r.updateProgress(c),
1451          n.cssMode)
1452        ) {
1453          const e = r.isHorizontal();
1454          if (0 === t) l[e ? "scrollLeft" : "scrollTop"] = -c;
1455          else {
1456            if (!r.support.smoothScroll)
1457              return (
1458                w({ swiper: r, targetPosition: -c, side: e ? "left" : "top" }),
1459                !0
1460              );
1461            l.scrollTo({ [e ? "left" : "top"]: -c, behavior: "smooth" });
1462          }
1463          return !0;
1464        }
1465        return (
1466          0 === t
1467            ? (r.setTransition(0),
1468              r.setTranslate(c),
1469              s &&
1470                (r.emit("beforeTransitionStart", t, i),
1471                r.emit("transitionEnd")))
1472            : (r.setTransition(t),
1473              r.setTranslate(c),
1474              s &&
1475                (r.emit("beforeTransitionStart", t, i),
1476                r.emit("transitionStart")),
1477              r.animating ||
1478                ((r.animating = !0),
1479                r.onTranslateToWrapperTransitionEnd ||
1480                  (r.onTranslateToWrapperTransitionEnd = function (e) {
1481                    r &&
1482                      !r.destroyed &&
1483                      e.target === this &&
1484                      (r.$wrapperEl[0].removeEventListener(
1485                        "transitionend",
1486                        r.onTranslateToWrapperTransitionEnd
1487                      ),
1488                      r.$wrapperEl[0].removeEventListener(
1489                        "webkitTransitionEnd",
1490                        r.onTranslateToWrapperTransitionEnd
1491                      ),
1492                      (r.onTranslateToWrapperTransitionEnd = null),
1493                      delete r.onTranslateToWrapperTransitionEnd,
1494                      s && r.emit("transitionEnd"));
1495                  }),
1496                r.$wrapperEl[0].addEventListener(
1497                  "transitionend",
1498                  r.onTranslateToWrapperTransitionEnd
1499                ),
1500                r.$wrapperEl[0].addEventListener(
1501                  "webkitTransitionEnd",
1502                  r.onTranslateToWrapperTransitionEnd
1503                ))),
1504          !0
1505        );
1506      },
1507    };
1508  function P(e) {
1509    let { swiper: t, runCallbacks: s, direction: a, step: i } = e;
1510    const { activeIndex: r, previousIndex: n } = t;
1511    let l = a;
1512    if (
1513      (l || (l = r > n ? "next" : r < n ? "prev" : "reset"),
1514      t.emit(`transition${i}`),
1515      s && r !== n)
1516    ) {
1517      if ("reset" === l) return void t.emit(`slideResetTransition${i}`);
1518      t.emit(`slideChangeTransition${i}`),
1519        "next" === l
1520          ? t.emit(`slideNextTransition${i}`)
1521          : t.emit(`slidePrevTransition${i}`);
1522    }
1523  }
1524  var k = {
1525      slideTo: function (e, t, s, a, i) {
1526        if (
1527          (void 0 === e && (e = 0),
1528          void 0 === t && (t = this.params.speed),
1529          void 0 === s && (s = !0),
1530          "number" != typeof e && "string" != typeof e)
1531        )
1532          throw new Error(
1533            `The 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`
1534          );
1535        if ("string" == typeof e) {
1536          const t = parseInt(e, 10);
1537          if (!isFinite(t))
1538            throw new Error(
1539              `The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`
1540            );
1541          e = t;
1542        }
1543        const r = this;
1544        let n = e;
1545        n < 0 && (n = 0);
1546        const {
1547          params: l,
1548          snapGrid: o,
1549          slidesGrid: d,
1550          previousIndex: c,
1551          activeIndex: p,
1552          rtlTranslate: u,
1553          wrapperEl: h,
1554          enabled: m,
1555        } = r;
1556        if (
1557          (r.animating && l.preventInteractionOnTransition) ||
1558          (!m && !a && !i)
1559        )
1560          return !1;
1561        const f = Math.min(r.params.slidesPerGroupSkip, n);
1562        let g = f + Math.floor((n - f) / r.params.slidesPerGroup);
1563        g >= o.length && (g = o.length - 1),
1564          (p || l.initialSlide || 0) === (c || 0) &&
1565            s &&
1566            r.emit("beforeSlideChangeStart");
1567        const v = -o[g];
1568        if ((r.updateProgress(v), l.normalizeSlideIndex))
1569          for (let e = 0; e < d.length; e += 1) {
1570            const t = -Math.floor(100 * v),
1571              s = Math.floor(100 * d[e]),
1572              a = Math.floor(100 * d[e + 1]);
1573            void 0 !== d[e + 1]
1574              ? t >= s && t < a - (a - s) / 2
1575                ? (n = e)
1576                : t >= s && t < a && (n = e + 1)
1577              : t >= s && (n = e);
1578          }
1579        if (r.initialized && n !== p) {
1580          if (!r.allowSlideNext && v < r.translate && v < r.minTranslate())
1581            return !1;
1582          if (
1583            !r.allowSlidePrev &&
1584            v > r.translate &&
1585            v > r.maxTranslate() &&
1586            (p || 0) !== n
1587          )
1588            return !1;
1589        }
1590        let b;
1591        if (
1592          ((b = n > p ? "next" : n < p ? "prev" : "reset"),
1593          (u && -v === r.translate) || (!u && v === r.translate))
1594        )
1595          return (
1596            r.updateActiveIndex(n),
1597            l.autoHeight && r.updateAutoHeight(),
1598            r.updateSlidesClasses(),
1599            "slide" !== l.effect && r.setTranslate(v),
1600            "reset" !== b && (r.transitionStart(s, b), r.transitionEnd(s, b)),
1601            !1
1602          );
1603        if (l.cssMode) {
1604          const e = r.isHorizontal(),
1605            s = u ? v : -v;
1606          if (0 === t) {
1607            const t = r.virtual && r.params.virtual.enabled;
1608            t &&
1609              ((r.wrapperEl.style.scrollSnapType = "none"),
1610              (r._immediateVirtual = !0)),
1611              (h[e ? "scrollLeft" : "scrollTop"] = s),
1612              t &&
1613                requestAnimationFrame(() => {
1614                  (r.wrapperEl.style.scrollSnapType = ""),
1615                    (r._swiperImmediateVirtual = !1);
1616                });
1617          } else {
1618            if (!r.support.smoothScroll)
1619              return (
1620                w({ swiper: r, targetPosition: s, side: e ? "left" : "top" }),
1621                !0
1622              );
1623            h.scrollTo({ [e ? "left" : "top"]: s, behavior: "smooth" });
1624          }
1625          return !0;
1626        }
1627        return (
1628          r.setTransition(t),
1629          r.setTranslate(v),
1630          r.updateActiveIndex(n),
1631          r.updateSlidesClasses(),
1632          r.emit("beforeTransitionStart", t, a),
1633          r.transitionStart(s, b),
1634          0 === t
1635            ? r.transitionEnd(s, b)
1636            : r.animating ||
1637              ((r.animating = !0),
1638              r.onSlideToWrapperTransitionEnd ||
1639                (r.onSlideToWrapperTransitionEnd = function (e) {
1640                  r &&
1641                    !r.destroyed &&
1642                    e.target === this &&
1643                    (r.$wrapperEl[0].removeEventListener(
1644                      "transitionend",
1645                      r.onSlideToWrapperTransitionEnd
1646                    ),
1647                    r.$wrapperEl[0].removeEventListener(
1648                      "webkitTransitionEnd",
1649                      r.onSlideToWrapperTransitionEnd
1650                    ),
1651                    (r.onSlideToWrapperTransitionEnd = null),
1652                    delete r.onSlideToWrapperTransitionEnd,
1653                    r.transitionEnd(s, b));
1654                }),
1655              r.$wrapperEl[0].addEventListener(
1656                "transitionend",
1657                r.onSlideToWrapperTransitionEnd
1658              ),
1659              r.$wrapperEl[0].addEventListener(
1660                "webkitTransitionEnd",
1661                r.onSlideToWrapperTransitionEnd
1662              )),
1663          !0
1664        );
1665      },
1666      slideToLoop: function (e, t, s, a) {
1667        void 0 === e && (e = 0),
1668          void 0 === t && (t = this.params.speed),
1669          void 0 === s && (s = !0);
1670        const i = this;
1671        let r = e;
1672        return i.params.loop && (r += i.loopedSlides), i.slideTo(r, t, s, a);
1673      },
1674      slideNext: function (e, t, s) {
1675        void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
1676        const a = this,
1677          { animating: i, enabled: r, params: n } = a;
1678        if (!r) return a;
1679        let l = n.slidesPerGroup;
1680        "auto" === n.slidesPerView &&
1681          1 === n.slidesPerGroup &&
1682          n.slidesPerGroupAuto &&
1683          (l = Math.max(a.slidesPerViewDynamic("current", !0), 1));
1684        const o = a.activeIndex < n.slidesPerGroupSkip ? 1 : l;
1685        if (n.loop) {
1686          if (i && n.loopPreventsSlide) return !1;
1687          a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft);
1688        }
1689        return n.rewind && a.isEnd
1690          ? a.slideTo(0, e, t, s)
1691          : a.slideTo(a.activeIndex + o, e, t, s);
1692      },
1693      slidePrev: function (e, t, s) {
1694        void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
1695        const a = this,
1696          {
1697            params: i,
1698            animating: r,
1699            snapGrid: n,
1700            slidesGrid: l,
1701            rtlTranslate: o,
1702            enabled: d,
1703          } = a;
1704        if (!d) return a;
1705        if (i.loop) {
1706          if (r && i.loopPreventsSlide) return !1;
1707          a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft);
1708        }
1709        function c(e) {
1710          return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e);
1711        }
1712        const p = c(o ? a.translate : -a.translate),
1713          u = n.map((e) => c(e));
1714        let h = n[u.indexOf(p) - 1];
1715        if (void 0 === h && i.cssMode) {
1716          let e;
1717          n.forEach((t, s) => {
1718            p >= t && (e = s);
1719          }),
1720            void 0 !== e && (h = n[e > 0 ? e - 1 : e]);
1721        }
1722        let m = 0;
1723        if (
1724          (void 0 !== h &&
1725            ((m = l.indexOf(h)),
1726            m < 0 && (m = a.activeIndex - 1),
1727            "auto" === i.slidesPerView &&
1728              1 === i.slidesPerGroup &&
1729              i.slidesPerGroupAuto &&
1730              ((m = m - a.slidesPerViewDynamic("previous", !0) + 1),
1731              (m = Math.max(m, 0)))),
1732          i.rewind && a.isBeginning)
1733        ) {
1734          const i =
1735            a.params.virtual && a.params.virtual.enabled && a.virtual
1736              ? a.virtual.slides.length - 1
1737              : a.slides.length - 1;
1738          return a.slideTo(i, e, t, s);
1739        }
1740        return a.slideTo(m, e, t, s);
1741      },
1742      slideReset: function (e, t, s) {
1743        return (
1744          void 0 === e && (e = this.params.speed),
1745          void 0 === t && (t = !0),
1746          this.slideTo(this.activeIndex, e, t, s)
1747        );
1748      },
1749      slideToClosest: function (e, t, s, a) {
1750        void 0 === e && (e = this.params.speed),
1751          void 0 === t && (t = !0),
1752          void 0 === a && (a = 0.5);
1753        const i = this;
1754        let r = i.activeIndex;
1755        const n = Math.min(i.params.slidesPerGroupSkip, r),
1756          l = n + Math.floor((r - n) / i.params.slidesPerGroup),
1757          o = i.rtlTranslate ? i.translate : -i.translate;
1758        if (o >= i.snapGrid[l]) {
1759          const e = i.snapGrid[l];
1760          o - e > (i.snapGrid[l + 1] - e) * a && (r += i.params.slidesPerGroup);
1761        } else {
1762          const e = i.snapGrid[l - 1];
1763          o - e <= (i.snapGrid[l] - e) * a && (r -= i.params.slidesPerGroup);
1764        }
1765        return (
1766          (r = Math.max(r, 0)),
1767          (r = Math.min(r, i.slidesGrid.length - 1)),
1768          i.slideTo(r, e, t, s)
1769        );
1770      },
1771      slideToClickedSlide: function () {
1772        const e = this,
1773          { params: t, $wrapperEl: s } = e,
1774          a =
1775            "auto" === t.slidesPerView
1776              ? e.slidesPerViewDynamic()
1777              : t.slidesPerView;
1778        let i,
1779          r = e.clickedIndex;
1780        if (t.loop) {
1781          if (e.animating) return;
1782          (i = parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"), 10)),
1783            t.centeredSlides
1784              ? r < e.loopedSlides - a / 2 ||
1785                r > e.slides.length - e.loopedSlides + a / 2
1786                ? (e.loopFix(),
1787                  (r = s
1788                    .children(
1789                      `.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`
1790                    )
1791                    .eq(0)
1792                    .index()),
1793                  p(() => {
1794                    e.slideTo(r);
1795                  }))
1796                : e.slideTo(r)
1797              : r > e.slides.length - a
1798              ? (e.loopFix(),
1799                (r = s
1800                  .children(
1801                    `.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`
1802                  )
1803                  .eq(0)
1804                  .index()),
1805                p(() => {
1806                  e.slideTo(r);
1807                }))
1808              : e.slideTo(r);
1809        } else e.slideTo(r);
1810      },
1811    },
1812    z = {
1813      loopCreate: function () {
1814        const e = this,
1815          t = a(),
1816          { params: s, $wrapperEl: i } = e,
1817          r = i.children().length > 0 ? d(i.children()[0].parentNode) : i;
1818        r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove();
1819        let n = r.children(`.${s.slideClass}`);
1820        if (s.loopFillGroupWithBlank) {
1821          const e = s.slidesPerGroup - (n.length % s.slidesPerGroup);
1822          if (e !== s.slidesPerGroup) {
1823            for (let a = 0; a < e; a += 1) {
1824              const e = d(t.createElement("div")).addClass(
1825                `${s.slideClass} ${s.slideBlankClass}`
1826              );
1827              r.append(e);
1828            }
1829            n = r.children(`.${s.slideClass}`);
1830          }
1831        }
1832        "auto" !== s.slidesPerView ||
1833          s.loopedSlides ||
1834          (s.loopedSlides = n.length),
1835          (e.loopedSlides = Math.ceil(
1836            parseFloat(s.loopedSlides || s.slidesPerView, 10)
1837          )),
1838          (e.loopedSlides += s.loopAdditionalSlides),
1839          e.loopedSlides > n.length && (e.loopedSlides = n.length);
1840        const l = [],
1841          o = [];
1842        n.each((t, s) => {
1843          const a = d(t);
1844          s < e.loopedSlides && o.push(t),
1845            s < n.length && s >= n.length - e.loopedSlides && l.push(t),
1846            a.attr("data-swiper-slide-index", s);
1847        });
1848        for (let e = 0; e < o.length; e += 1)
1849          r.append(d(o[e].cloneNode(!0)).addClass(s.slideDuplicateClass));
1850        for (let e = l.length - 1; e >= 0; e -= 1)
1851          r.prepend(d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass));
1852      },
1853      loopFix: function () {
1854        const e = this;
1855        e.emit("beforeLoopFix");
1856        const {
1857          activeIndex: t,
1858          slides: s,
1859          loopedSlides: a,
1860          allowSlidePrev: i,
1861          allowSlideNext: r,
1862          snapGrid: n,
1863          rtlTranslate: l,
1864        } = e;
1865        let o;
1866        (e.allowSlidePrev = !0), (e.allowSlideNext = !0);
1867        const d = -n[t] - e.getTranslate();
1868        t < a
1869          ? ((o = s.length - 3 * a + t),
1870            (o += a),
1871            e.slideTo(o, 0, !1, !0) &&
1872              0 !== d &&
1873              e.setTranslate((l ? -e.translate : e.translate) - d))
1874          : t >= s.length - a &&
1875            ((o = -s.length + t + a),
1876            (o += a),
1877            e.slideTo(o, 0, !1, !0) &&
1878              0 !== d &&
1879              e.setTranslate((l ? -e.translate : e.translate) - d)),
1880          (e.allowSlidePrev = i),
1881          (e.allowSlideNext = r),
1882          e.emit("loopFix");
1883      },
1884      loopDestroy: function () {
1885        const { $wrapperEl: e, params: t, slides: s } = this;
1886        e
1887          .children(
1888            `.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`
1889          )
1890          .remove(),
1891          s.removeAttr("data-swiper-slide-index");
1892      },
1893    };
1894  function O(e) {
1895    const t = this,
1896      s = a(),
1897      i = r(),
1898      n = t.touchEventsData,
1899      { params: l, touches: o, enabled: c } = t;
1900    if (!c) return;
1901    if (t.animating && l.preventInteractionOnTransition) return;
1902    !t.animating && l.cssMode && l.loop && t.loopFix();
1903    let p = e;
1904    p.originalEvent && (p = p.originalEvent);
1905    let h = d(p.target);
1906    if ("wrapper" === l.touchEventsTarget && !h.closest(t.wrapperEl).length)
1907      return;
1908    if (
1909      ((n.isTouchEvent = "touchstart" === p.type),
1910      !n.isTouchEvent && "which" in p && 3 === p.which)
1911    )
1912      return;
1913    if (!n.isTouchEvent && "button" in p && p.button > 0) return;
1914    if (n.isTouched && n.isMoved) return;
1915    l.noSwipingClass &&
1916      "" !== l.noSwipingClass &&
1917      p.target &&
1918      p.target.shadowRoot &&
1919      e.path &&
1920      e.path[0] &&
1921      (h = d(e.path[0]));
1922    const m = l.noSwipingSelector
1923        ? l.noSwipingSelector
1924        : `.${l.noSwipingClass}`,
1925      f = !(!p.target || !p.target.shadowRoot);
1926    if (
1927      l.noSwiping &&
1928      (f
1929        ? (function (e, t) {
1930            return (
1931              void 0 === t && (t = this),
1932              (function t(s) {
1933                return s && s !== a() && s !== r()
1934                  ? (s.assignedSlot && (s = s.assignedSlot),
1935                    s.closest(e) || t(s.getRootNode().host))
1936                  : null;
1937              })(t)
1938            );
1939          })(m, p.target)
1940        : h.closest(m)[0])
1941    )
1942      return void (t.allowClick = !0);
1943    if (l.swipeHandler && !h.closest(l.swipeHandler)[0]) return;
1944    (o.currentX = "touchstart" === p.type ? p.targetTouches[0].pageX : p.pageX),
1945      (o.currentY =
1946        "touchstart" === p.type ? p.targetTouches[0].pageY : p.pageY);
1947    const g = o.currentX,
1948      v = o.currentY,
1949      w = l.edgeSwipeDetection || l.iOSEdgeSwipeDetection,
1950      b = l.edgeSwipeThreshold || l.iOSEdgeSwipeThreshold;
1951    if (w && (g <= b || g >= i.innerWidth - b)) {
1952      if ("prevent" !== w) return;
1953      e.preventDefault();
1954    }
1955    if (
1956      (Object.assign(n, {
1957        isTouched: !0,
1958        isMoved: !1,
1959        allowTouchCallbacks: !0,
1960        isScrolling: void 0,
1961        startMoving: void 0,
1962      }),
1963      (o.startX = g),
1964      (o.startY = v),
1965      (n.touchStartTime = u()),
1966      (t.allowClick = !0),
1967      t.updateSize(),
1968      (t.swipeDirection = void 0),
1969      l.threshold > 0 && (n.allowThresholdMove = !1),
1970      "touchstart" !== p.type)
1971    ) {
1972      let e = !0;
1973      h.is(n.focusableElements) &&
1974        ((e = !1), "SELECT" === h[0].nodeName && (n.isTouched = !1)),
1975        s.activeElement &&
1976          d(s.activeElement).is(n.focusableElements) &&
1977          s.activeElement !== h[0] &&
1978          s.activeElement.blur();
1979      const a = e && t.allowTouchMove && l.touchStartPreventDefault;
1980      (!l.touchStartForcePreventDefault && !a) ||
1981        h[0].isContentEditable ||
1982        p.preventDefault();
1983    }
1984    t.params.freeMode &&
1985      t.params.freeMode.enabled &&
1986      t.freeMode &&
1987      t.animating &&
1988      !l.cssMode &&
1989      t.freeMode.onTouchStart(),
1990      t.emit("touchStart", p);
1991  }
1992  function I(e) {
1993    const t = a(),
1994      s = this,
1995      i = s.touchEventsData,
1996      { params: r, touches: n, rtlTranslate: l, enabled: o } = s;
1997    if (!o) return;
1998    let c = e;
1999    if ((c.originalEvent && (c = c.originalEvent), !i.isTouched))
2000      return void (
2001        i.startMoving &&
2002        i.isScrolling &&
2003        s.emit("touchMoveOpposite", c)
2004      );
2005    if (i.isTouchEvent && "touchmove" !== c.type) return;
2006    const p =
2007        "touchmove" === c.type &&
2008        c.targetTouches &&
2009        (c.targetTouches[0] || c.changedTouches[0]),
2010      h = "touchmove" === c.type ? p.pageX : c.pageX,
2011      m = "touchmove" === c.type ? p.pageY : c.pageY;
2012    if (c.preventedByNestedSwiper) return (n.startX = h), void (n.startY = m);
2013    if (!s.allowTouchMove)
2014      return (
2015        d(c.target).is(i.focusableElements) || (s.allowClick = !1),
2016        void (
2017          i.isTouched &&
2018          (Object.assign(n, { startX: h, startY: m, currentX: h, currentY: m }),
2019          (i.touchStartTime = u()))
2020        )
2021      );
2022    if (i.isTouchEvent && r.touchReleaseOnEdges && !r.loop)
2023      if (s.isVertical()) {
2024        if (
2025          (m < n.startY && s.translate <= s.maxTranslate()) ||
2026          (m > n.startY && s.translate >= s.minTranslate())
2027        )
2028          return (i.isTouched = !1), void (i.isMoved = !1);
2029      } else if (
2030        (h < n.startX && s.translate <= s.maxTranslate()) ||
2031        (h > n.startX && s.translate >= s.minTranslate())
2032      )
2033        return;
2034    if (
2035      i.isTouchEvent &&
2036      t.activeElement &&
2037      c.target === t.activeElement &&
2038      d(c.target).is(i.focusableElements)
2039    )
2040      return (i.isMoved = !0), void (s.allowClick = !1);
2041    if (
2042      (i.allowTouchCallbacks && s.emit("touchMove", c),
2043      c.targetTouches && c.targetTouches.length > 1)
2044    )
2045      return;
2046    (n.currentX = h), (n.currentY = m);
2047    const f = n.currentX - n.startX,
2048      g = n.currentY - n.startY;
2049    if (s.params.threshold && Math.sqrt(f ** 2 + g ** 2) < s.params.threshold)
2050      return;
2051    if (void 0 === i.isScrolling) {
2052      let e;
2053      (s.isHorizontal() && n.currentY === n.startY) ||
2054      (s.isVertical() && n.currentX === n.startX)
2055        ? (i.isScrolling = !1)
2056        : f * f + g * g >= 25 &&
2057          ((e = (180 * Math.atan2(Math.abs(g), Math.abs(f))) / Math.PI),
2058          (i.isScrolling = s.isHorizontal()
2059            ? e > r.touchAngle
2060            : 90 - e > r.touchAngle));
2061    }
2062    if (
2063      (i.isScrolling && s.emit("touchMoveOpposite", c),
2064      void 0 === i.startMoving &&
2065        ((n.currentX === n.startX && n.currentY === n.startY) ||
2066          (i.startMoving = !0)),
2067      i.isScrolling)
2068    )
2069      return void (i.isTouched = !1);
2070    if (!i.startMoving) return;
2071    (s.allowClick = !1),
2072      !r.cssMode && c.cancelable && c.preventDefault(),
2073      r.touchMoveStopPropagation && !r.nested && c.stopPropagation(),
2074      i.isMoved ||
2075        (r.loop && !r.cssMode && s.loopFix(),
2076        (i.startTranslate = s.getTranslate()),
2077        s.setTransition(0),
2078        s.animating &&
2079          s.$wrapperEl.trigger("webkitTransitionEnd transitionend"),
2080        (i.allowMomentumBounce = !1),
2081        !r.grabCursor ||
2082          (!0 !== s.allowSlideNext && !0 !== s.allowSlidePrev) ||
2083          s.setGrabCursor(!0),
2084        s.emit("sliderFirstMove", c)),
2085      s.emit("sliderMove", c),
2086      (i.isMoved = !0);
2087    let v = s.isHorizontal() ? f : g;
2088    (n.diff = v),
2089      (v *= r.touchRatio),
2090      l && (v = -v),
2091      (s.swipeDirection = v > 0 ? "prev" : "next"),
2092      (i.currentTranslate = v + i.startTranslate);
2093    let w = !0,
2094      b = r.resistanceRatio;
2095    if (
2096      (r.touchReleaseOnEdges && (b = 0),
2097      v > 0 && i.currentTranslate > s.minTranslate()
2098        ? ((w = !1),
2099          r.resistance &&
2100            (i.currentTranslate =
2101              s.minTranslate() -
2102              1 +
2103              (-s.minTranslate() + i.startTranslate + v) ** b))
2104        : v < 0 &&
2105          i.currentTranslate < s.maxTranslate() &&
2106          ((w = !1),
2107          r.resistance &&
2108            (i.currentTranslate =
2109              s.maxTranslate() +
2110              1 -
2111              (s.maxTranslate() - i.startTranslate - v) ** b)),
2112      w && (c.preventedByNestedSwiper = !0),
2113      !s.allowSlideNext &&
2114        "next" === s.swipeDirection &&
2115        i.currentTranslate < i.startTranslate &&
2116        (i.currentTranslate = i.startTranslate),
2117      !s.allowSlidePrev &&
2118        "prev" === s.swipeDirection &&
2119        i.currentTranslate > i.startTranslate &&
2120        (i.currentTranslate = i.startTranslate),
2121      s.allowSlidePrev ||
2122        s.allowSlideNext ||
2123        (i.currentTranslate = i.startTranslate),
2124      r.threshold > 0)
2125    ) {
2126      if (!(Math.abs(v) > r.threshold || i.allowThresholdMove))
2127        return void (i.currentTranslate = i.startTranslate);
2128      if (!i.allowThresholdMove)
2129        return (
2130          (i.allowThresholdMove = !0),
2131          (n.startX = n.currentX),
2132          (n.startY = n.currentY),
2133          (i.currentTranslate = i.startTranslate),
2134          void (n.diff = s.isHorizontal()
2135            ? n.currentX - n.startX
2136            : n.currentY - n.startY)
2137        );
2138    }
2139    r.followFinger &&
2140      !r.cssMode &&
2141      (((r.freeMode && r.freeMode.enabled && s.freeMode) ||
2142        r.watchSlidesProgress) &&
2143        (s.updateActiveIndex(), s.updateSlidesClasses()),
2144      s.params.freeMode &&
2145        r.freeMode.enabled &&
2146        s.freeMode &&
2147        s.freeMode.onTouchMove(),
2148      s.updateProgress(i.currentTranslate),
2149      s.setTranslate(i.currentTranslate));
2150  }
2151  function L(e) {
2152    const t = this,
2153      s = t.touchEventsData,
2154      { params: a, touches: i, rtlTranslate: r, slidesGrid: n, enabled: l } = t;
2155    if (!l) return;
2156    let o = e;
2157    if (
2158      (o.originalEvent && (o = o.originalEvent),
2159      s.allowTouchCallbacks && t.emit("touchEnd", o),
2160      (s.allowTouchCallbacks = !1),
2161      !s.isTouched)
2162    )
2163      return (
2164        s.isMoved && a.grabCursor && t.setGrabCursor(!1),
2165        (s.isMoved = !1),
2166        void (s.startMoving = !1)
2167      );
2168    a.grabCursor &&
2169      s.isMoved &&
2170      s.isTouched &&
2171      (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) &&
2172      t.setGrabCursor(!1);
2173    const d = u(),
2174      c = d - s.touchStartTime;
2175    if (t.allowClick) {
2176      const e = o.path || (o.composedPath && o.composedPath());
2177      t.updateClickedSlide((e && e[0]) || o.target),
2178        t.emit("tap click", o),
2179        c < 300 &&
2180          d - s.lastClickTime < 300 &&
2181          t.emit("doubleTap doubleClick", o);
2182    }
2183    if (
2184      ((s.lastClickTime = u()),
2185      p(() => {
2186        t.destroyed || (t.allowClick = !0);
2187      }),
2188      !s.isTouched ||
2189        !s.isMoved ||
2190        !t.swipeDirection ||
2191        0 === i.diff ||
2192        s.currentTranslate === s.startTranslate)
2193    )
2194      return (s.isTouched = !1), (s.isMoved = !1), void (s.startMoving = !1);
2195    let h;
2196    if (
2197      ((s.isTouched = !1),
2198      (s.isMoved = !1),
2199      (s.startMoving = !1),
2200      (h = a.followFinger
2201        ? r
2202          ? t.translate
2203          : -t.translate
2204        : -s.currentTranslate),
2205      a.cssMode)
2206    )
2207      return;
2208    if (t.params.freeMode && a.freeMode.enabled)
2209      return void t.freeMode.onTouchEnd({ currentPos: h });
2210    let m = 0,
2211      f = t.slidesSizesGrid[0];
2212    for (
2213      let e = 0;
2214      e < n.length;
2215      e += e < a.slidesPerGroupSkip ? 1 : a.slidesPerGroup
2216    ) {
2217      const t = e < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup;
2218      void 0 !== n[e + t]
2219        ? h >= n[e] && h < n[e + t] && ((m = e), (f = n[e + t] - n[e]))
2220        : h >= n[e] && ((m = e), (f = n[n.length - 1] - n[n.length - 2]));
2221    }
2222    let g = null,
2223      v = null;
2224    a.rewind &&
2225      (t.isBeginning
2226        ? (v =
2227            t.params.virtual && t.params.virtual.enabled && t.virtual
2228              ? t.virtual.slides.length - 1
2229              : t.slides.length - 1)
2230        : t.isEnd && (g = 0));
2231    const w = (h - n[m]) / f,
2232      b = m < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup;
2233    if (c > a.longSwipesMs) {
2234      if (!a.longSwipes) return void t.slideTo(t.activeIndex);
2235      "next" === t.swipeDirection &&
2236        (w >= a.longSwipesRatio
2237          ? t.slideTo(a.rewind && t.isEnd ? g : m + b)
2238          : t.slideTo(m)),
2239        "prev" === t.swipeDirection &&
2240          (w > 1 - a.longSwipesRatio
2241            ? t.slideTo(m + b)
2242            : null !== v && w < 0 && Math.abs(w) > a.longSwipesRatio
2243            ? t.slideTo(v)
2244            : t.slideTo(m));
2245    } else {
2246      if (!a.shortSwipes) return void t.slideTo(t.activeIndex);
2247      !t.navigation ||
2248      (o.target !== t.navigation.nextEl && o.target !== t.navigation.prevEl)
2249        ? ("next" === t.swipeDirection && t.slideTo(null !== g ? g : m + b),
2250          "prev" === t.swipeDirection && t.slideTo(null !== v ? v : m))
2251        : o.target === t.navigation.nextEl
2252        ? t.slideTo(m + b)
2253        : t.slideTo(m);
2254    }
2255  }
2256  function A() {
2257    const e = this,
2258      { params: t, el: s } = e;
2259    if (s && 0 === s.offsetWidth) return;
2260    t.breakpoints && e.setBreakpoint();
2261    const { allowSlideNext: a, allowSlidePrev: i, snapGrid: r } = e;
2262    (e.allowSlideNext = !0),
2263      (e.allowSlidePrev = !0),
2264      e.updateSize(),
2265      e.updateSlides(),
2266      e.updateSlidesClasses(),
2267      ("auto" === t.slidesPerView || t.slidesPerView > 1) &&
2268      e.isEnd &&
2269      !e.isBeginning &&
2270      !e.params.centeredSlides
2271        ? e.slideTo(e.slides.length - 1, 0, !1, !0)
2272        : e.slideTo(e.activeIndex, 0, !1, !0),
2273      e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.run(),
2274      (e.allowSlidePrev = i),
2275      (e.allowSlideNext = a),
2276      e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow();
2277  }
2278  function D(e) {
2279    const t = this;
2280    t.enabled &&
2281      (t.allowClick ||
2282        (t.params.preventClicks && e.preventDefault(),
2283        t.params.preventClicksPropagation &&
2284          t.animating &&
2285          (e.stopPropagation(), e.stopImmediatePropagation())));
2286  }
2287  function G() {
2288    const e = this,
2289      { wrapperEl: t, rtlTranslate: s, enabled: a } = e;
2290    if (!a) return;
2291    let i;
2292    (e.previousTranslate = e.translate),
2293      e.isHorizontal()
2294        ? (e.translate = -t.scrollLeft)
2295        : (e.translate = -t.scrollTop),
2296      -0 === e.translate && (e.translate = 0),
2297      e.updateActiveIndex(),
2298      e.updateSlidesClasses();
2299    const r = e.maxTranslate() - e.minTranslate();
2300    (i = 0 === r ? 0 : (e.translate - e.minTranslate()) / r),
2301      i !== e.progress && e.updateProgress(s ? -e.translate : e.translate),
2302      e.emit("setTranslate", e.translate, !1);
2303  }
2304  let B = !1;
2305  function N() {}
2306  const H = (e, t) => {
2307    const s = a(),
2308      {
2309        params: i,
2310        touchEvents: r,
2311        el: n,
2312        wrapperEl: l,
2313        device: o,
2314        support: d,
2315      } = e,
2316      c = !!i.nested,
2317      p = "on" === t ? "addEventListener" : "removeEventListener",
2318      u = t;
2319    if (d.touch) {
2320      const t = !(
2321        "touchstart" !== r.start ||
2322        !d.passiveListener ||
2323        !i.passiveListeners
2324      ) && { passive: !0, capture: !1 };
2325      n[p](r.start, e.onTouchStart, t),
2326        n[p](
2327          r.move,
2328          e.onTouchMove,
2329          d.passiveListener ? { passive: !1, capture: c } : c
2330        ),
2331        n[p](r.end, e.onTouchEnd, t),
2332        r.cancel && n[p](r.cancel, e.onTouchEnd, t);
2333    } else
2334      n[p](r.start, e.onTouchStart, !1),
2335        s[p](r.move, e.onTouchMove, c),
2336        s[p](r.end, e.onTouchEnd, !1);
2337    (i.preventClicks || i.preventClicksPropagation) &&
2338      n[p]("click", e.onClick, !0),
2339      i.cssMode && l[p]("scroll", e.onScroll),
2340      i.updateOnWindowResize
2341        ? e[u](
2342            o.ios || o.android
2343              ? "resize orientationchange observerUpdate"
2344              : "resize observerUpdate",
2345            A,
2346            !0
2347          )
2348        : e[u]("observerUpdate", A, !0);
2349  };
2350  var X = {
2351    attachEvents: function () {
2352      const e = this,
2353        t = a(),
2354        { params: s, support: i } = e;
2355      (e.onTouchStart = O.bind(e)),
2356        (e.onTouchMove = I.bind(e)),
2357        (e.onTouchEnd = L.bind(e)),
2358        s.cssMode && (e.onScroll = G.bind(e)),
2359        (e.onClick = D.bind(e)),
2360        i.touch && !B && (t.addEventListener("touchstart", N), (B = !0)),
2361        H(e, "on");
2362    },
2363    detachEvents: function () {
2364      H(this, "off");
2365    },
2366  };
2367  const Y = (e, t) => e.grid && t.grid && t.grid.rows > 1;
2368  var R = {
2369      addClasses: function () {
2370        const e = this,
2371          {
2372            classNames: t,
2373            params: s,
2374            rtl: a,
2375            $el: i,
2376            device: r,
2377            support: n,
2378          } = e,
2379          l = (function (e, t) {
2380            const s = [];
2381            return (
2382              e.forEach((e) => {
2383                "object" == typeof e
2384                  ? Object.keys(e).forEach((a) => {
2385                      e[a] && s.push(t + a);
2386                    })
2387                  : "string" == typeof e && s.push(t + e);
2388              }),
2389              s
2390            );
2391          })(
2392            [
2393              "initialized",
2394              s.direction,
2395              { "pointer-events": !n.touch },
2396              { "free-mode": e.params.freeMode && s.freeMode.enabled },
2397              { autoheight: s.autoHeight },
2398              { rtl: a },
2399              { grid: s.grid && s.grid.rows > 1 },
2400              {
2401                "grid-column":
2402                  s.grid && s.grid.rows > 1 && "column" === s.grid.fill,
2403              },
2404              { android: r.android },
2405              { ios: r.ios },
2406              { "css-mode": s.cssMode },
2407              { centered: s.cssMode && s.centeredSlides },
2408            ],
2409            s.containerModifierClass
2410          );
2411        t.push(...l), i.addClass([...t].join(" ")), e.emitContainerClasses();
2412      },
2413      removeClasses: function () {
2414        const { $el: e, classNames: t } = this;
2415        e.removeClass(t.join(" ")), this.emitContainerClasses();
2416      },
2417    },
2418    W = {
2419      init: !0,
2420      direction: "horizontal",
2421      touchEventsTarget: "wrapper",
2422      initialSlide: 0,
2423      speed: 300,
2424      cssMode: !1,
2425      updateOnWindowResize: !0,
2426      resizeObserver: !0,
2427      nested: !1,
2428      createElements: !1,
2429      enabled: !0,
2430      focusableElements:
2431        "input, select, option, textarea, button, video, label",
2432      width: null,
2433      height: null,
2434      preventInteractionOnTransition: !1,
2435      userAgent: null,
2436      url: null,
2437      edgeSwipeDetection: !1,
2438      edgeSwipeThreshold: 20,
2439      autoHeight: !1,
2440      setWrapperSize: !1,
2441      virtualTranslate: !1,
2442      effect: "slide",
2443      breakpoints: void 0,
2444      breakpointsBase: "window",
2445      spaceBetween: 0,
2446      slidesPerView: 1,
2447      slidesPerGroup: 1,
2448      slidesPerGroupSkip: 0,
2449      slidesPerGroupAuto: !1,
2450      centeredSlides: !1,
2451      centeredSlidesBounds: !1,
2452      slidesOffsetBefore: 0,
2453      slidesOffsetAfter: 0,
2454      normalizeSlideIndex: !0,
2455      centerInsufficientSlides: !1,
2456      watchOverflow: !0,
2457      roundLengths: !1,
2458      touchRatio: 1,
2459      touchAngle: 45,
2460      simulateTouch: !0,
2461      shortSwipes: !0,
2462      longSwipes: !0,
2463      longSwipesRatio: 0.5,
2464      longSwipesMs: 300,
2465      followFinger: !0,
2466      allowTouchMove: !0,
2467      threshold: 0,
2468      touchMoveStopPropagation: !1,
2469      touchStartPreventDefault: !0,
2470      touchStartForcePreventDefault: !1,
2471      touchReleaseOnEdges: !1,
2472      uniqueNavElements: !0,
2473      resistance: !0,
2474      resistanceRatio: 0.85,
2475      watchSlidesProgress: !1,
2476      grabCursor: !1,
2477      preventClicks: !0,
2478      preventClicksPropagation: !0,
2479      slideToClickedSlide: !1,
2480      preloadImages: !0,
2481      updateOnImagesReady: !0,
2482      loop: !1,
2483      loopAdditionalSlides: 0,
2484      loopedSlides: null,
2485      loopFillGroupWithBlank: !1,
2486      loopPreventsSlide: !0,
2487      rewind: !1,
2488      allowSlidePrev: !0,
2489      allowSlideNext: !0,
2490      swipeHandler: null,
2491      noSwiping: !0,
2492      noSwipingClass: "swiper-no-swiping",
2493      noSwipingSelector: null,
2494      passiveListeners: !0,
2495      maxBackfaceHiddenSlides: 10,
2496      containerModifierClass: "swiper-",
2497      slideClass: "swiper-slide",
2498      slideBlankClass: "swiper-slide-invisible-blank",
2499      slideActiveClass: "swiper-slide-active",
2500      slideDuplicateActiveClass: "swiper-slide-duplicate-active",
2501      slideVisibleClass: "swiper-slide-visible",
2502      slideDuplicateClass: "swiper-slide-duplicate",
2503      slideNextClass: "swiper-slide-next",
2504      slideDuplicateNextClass: "swiper-slide-duplicate-next",
2505      slidePrevClass: "swiper-slide-prev",
2506      slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
2507      wrapperClass: "swiper-wrapper",
2508      runCallbacksOnInit: !0,
2509      _emitClasses: !1,
2510    };
2511  function j(e, t) {
2512    return function (s) {
2513      void 0 === s && (s = {});
2514      const a = Object.keys(s)[0],
2515        i = s[a];
2516      "object" == typeof i && null !== i
2517        ? (["navigation", "pagination", "scrollbar"].indexOf(a) >= 0 &&
2518            !0 === e[a] &&
2519            (e[a] = { auto: !0 }),
2520          a in e && "enabled" in i
2521            ? (!0 === e[a] && (e[a] = { enabled: !0 }),
2522              "object" != typeof e[a] ||
2523                "enabled" in e[a] ||
2524                (e[a].enabled = !0),
2525              e[a] || (e[a] = { enabled: !1 }),
2526              g(t, s))
2527            : g(t, s))
2528        : g(t, s);
2529    };
2530  }
2531  const _ = {
2532      eventsEmitter: $,
2533      update: S,
2534      translate: M,
2535      transition: {
2536        setTransition: function (e, t) {
2537          const s = this;
2538          s.params.cssMode || s.$wrapperEl.transition(e),
2539            s.emit("setTransition", e, t);
2540        },
2541        transitionStart: function (e, t) {
2542          void 0 === e && (e = !0);
2543          const s = this,
2544            { params: a } = s;
2545          a.cssMode ||
2546            (a.autoHeight && s.updateAutoHeight(),
2547            P({ swiper: s, runCallbacks: e, direction: t, step: "Start" }));
2548        },
2549        transitionEnd: function (e, t) {
2550          void 0 === e && (e = !0);
2551          const s = this,
2552            { params: a } = s;
2553          (s.animating = !1),
2554            a.cssMode ||
2555              (s.setTransition(0),
2556              P({ swiper: s, runCallbacks: e, direction: t, step: "End" }));
2557        },
2558      },
2559      slide: k,
2560      loop: z,
2561      grabCursor: {
2562        setGrabCursor: function (e) {
2563          const t = this;
2564          if (
2565            t.support.touch ||
2566            !t.params.simulateTouch ||
2567            (t.params.watchOverflow && t.isLocked) ||
2568            t.params.cssMode
2569          )
2570            return;
2571          const s =
2572            "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl;
2573          (s.style.cursor = "move"),
2574            (s.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab"),
2575            (s.style.cursor = e ? "-moz-grabbin" : "-moz-grab"),
2576            (s.style.cursor = e ? "grabbing" : "grab");
2577        },
2578        unsetGrabCursor: function () {
2579          const e = this;
2580          e.support.touch ||
2581            (e.params.watchOverflow && e.isLocked) ||
2582            e.params.cssMode ||
2583            (e[
2584              "container" === e.params.touchEventsTarget ? "el" : "wrapperEl"
2585            ].style.cursor = "");
2586        },
2587      },
2588      events: X,
2589      breakpoints: {
2590        setBreakpoint: function () {
2591          const e = this,
2592            {
2593              activeIndex: t,
2594              initialized: s,
2595              loopedSlides: a = 0,
2596              params: i,
2597              $el: r,
2598            } = e,
2599            n = i.breakpoints;
2600          if (!n || (n && 0 === Object.keys(n).length)) return;
2601          const l = e.getBreakpoint(n, e.params.breakpointsBase, e.el);
2602          if (!l || e.currentBreakpoint === l) return;
2603          const o = (l in n ? n[l] : void 0) || e.originalParams,
2604            d = Y(e, i),
2605            c = Y(e, o),
2606            p = i.enabled;
2607          d && !c
2608            ? (r.removeClass(
2609                `${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`
2610              ),
2611              e.emitContainerClasses())
2612            : !d &&
2613              c &&
2614              (r.addClass(`${i.containerModifierClass}grid`),
2615              ((o.grid.fill && "column" === o.grid.fill) ||
2616                (!o.grid.fill && "column" === i.grid.fill)) &&
2617                r.addClass(`${i.containerModifierClass}grid-column`),
2618              e.emitContainerClasses());
2619          const u = o.direction && o.direction !== i.direction,
2620            h = i.loop && (o.slidesPerView !== i.slidesPerView || u);
2621          u && s && e.changeDirection(), g(e.params, o);
2622          const m = e.params.enabled;
2623          Object.assign(e, {
2624            allowTouchMove: e.params.allowTouchMove,
2625            allowSlideNext: e.params.allowSlideNext,
2626            allowSlidePrev: e.params.allowSlidePrev,
2627          }),
2628            p && !m ? e.disable() : !p && m && e.enable(),
2629            (e.currentBreakpoint = l),
2630            e.emit("_beforeBreakpoint", o),
2631            h &&
2632              s &&
2633              (e.loopDestroy(),
2634              e.loopCreate(),
2635              e.updateSlides(),
2636              e.slideTo(t - a + e.loopedSlides, 0, !1)),
2637            e.emit("breakpoint", o);
2638        },
2639        getBreakpoint: function (e, t, s) {
2640          if ((void 0 === t && (t = "window"), !e || ("container" === t && !s)))
2641            return;
2642          let a = !1;
2643          const i = r(),
2644            n = "window" === t ? i.innerHeight : s.clientHeight,
2645            l = Object.keys(e).map((e) => {
2646              if ("string" == typeof e && 0 === e.indexOf("@")) {
2647                const t = parseFloat(e.substr(1));
2648                return { value: n * t, point: e };
2649              }
2650              return { value: e, point: e };
2651            });
2652          l.sort((e, t) => parseInt(e.value, 10) - parseInt(t.value, 10));
2653          for (let e = 0; e < l.length; e += 1) {
2654            const { point: r, value: n } = l[e];
2655            "window" === t
2656              ? i.matchMedia(`(min-width: ${n}px)`).matches && (a = r)
2657              : n <= s.clientWidth && (a = r);
2658          }
2659          return a || "max";
2660        },
2661      },
2662      checkOverflow: {
2663        checkOverflow: function () {
2664          const e = this,
2665            { isLocked: t, params: s } = e,
2666            { slidesOffsetBefore: a } = s;
2667          if (a) {
2668            const t = e.slides.length - 1,
2669              s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * a;
2670            e.isLocked = e.size > s;
2671          } else e.isLocked = 1 === e.snapGrid.length;
2672          !0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked),
2673            !0 === s.allowSlidePrev && (e.allowSlidePrev = !e.isLocked),
2674            t && t !== e.isLocked && (e.isEnd = !1),
2675            t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock");
2676        },
2677      },
2678      classes: R,
2679      images: {
2680        loadImage: function (e, t, s, a, i, n) {
2681          const l = r();
2682          let o;
2683          function c() {
2684            n && n();
2685          }
2686          d(e).parent("picture")[0] || (e.complete && i)
2687            ? c()
2688            : t
2689            ? ((o = new l.Image()),
2690              (o.onload = c),
2691              (o.onerror = c),
2692              a && (o.sizes = a),
2693              s && (o.srcset = s),
2694              t && (o.src = t))
2695            : c();
2696        },
2697        preloadImages: function () {
2698          const e = this;
2699          function t() {
2700            null != e &&
2701              e &&
2702              !e.destroyed &&
2703              (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1),
2704              e.imagesLoaded === e.imagesToLoad.length &&
2705                (e.params.updateOnImagesReady && e.update(),
2706                e.emit("imagesReady")));
2707          }
2708          e.imagesToLoad = e.$el.find("img");
2709          for (let s = 0; s < e.imagesToLoad.length; s += 1) {
2710            const a = e.imagesToLoad[s];
2711            e.loadImage(
2712              a,
2713              a.currentSrc || a.getAttribute("src"),
2714              a.srcset || a.getAttribute("srcset"),
2715              a.sizes || a.getAttribute("sizes"),
2716              !0,
2717              t
2718            );
2719          }
2720        },
2721      },
2722    },
2723    V = {};
2724  class q {
2725    constructor() {
2726      let e, t;
2727      for (var s = arguments.length, a = new Array(s), i = 0; i < s; i++)
2728        a[i] = arguments[i];
2729      if (
2730        (1 === a.length &&
2731        a[0].constructor &&
2732        "Object" === Object.prototype.toString.call(a[0]).slice(8, -1)
2733          ? (t = a[0])
2734          : ([e, t] = a),
2735        t || (t = {}),
2736        (t = g({}, t)),
2737        e && !t.el && (t.el = e),
2738        t.el && d(t.el).length > 1)
2739      ) {
2740        const e = [];
2741        return (
2742          d(t.el).each((s) => {
2743            const a = g({}, t, { el: s });
2744            e.push(new q(a));
2745          }),
2746          e
2747        );
2748      }
2749      const r = this;
2750      (r.__swiper__ = !0),
2751        (r.support = E()),
2752        (r.device = T({ userAgent: t.userAgent })),
2753        (r.browser = C()),
2754        (r.eventsListeners = {}),
2755        (r.eventsAnyListeners = []),
2756        (r.modules = [...r.__modules__]),
2757        t.modules && Array.isArray(t.modules) && r.modules.push(...t.modules);
2758      const n = {};
2759      r.modules.forEach((e) => {
2760        e({
2761          swiper: r,
2762          extendParams: j(t, n),
2763          on: r.on.bind(r),
2764          once: r.once.bind(r),
2765          off: r.off.bind(r),
2766          emit: r.emit.bind(r),
2767        });
2768      });
2769      const l = g({}, W, n);
2770      return (
2771        (r.params = g({}, l, V, t)),
2772        (r.originalParams = g({}, r.params)),
2773        (r.passedParams = g({}, t)),
2774        r.params &&
2775          r.params.on &&
2776          Object.keys(r.params.on).forEach((e) => {
2777            r.on(e, r.params.on[e]);
2778          }),
2779        r.params && r.params.onAny && r.onAny(r.params.onAny),
2780        (r.$ = d),
2781        Object.assign(r, {
2782          enabled: r.params.enabled,
2783          el: e,
2784          classNames: [],
2785          slides: d(),
2786          slidesGrid: [],
2787          snapGrid: [],
2788          slidesSizesGrid: [],
2789          isHorizontal: () => "horizontal" === r.params.direction,
2790          isVertical: () => "vertical" === r.params.direction,
2791          activeIndex: 0,
2792          realIndex: 0,
2793          isBeginning: !0,
2794          isEnd: !1,
2795          translate: 0,
2796          previousTranslate: 0,
2797          progress: 0,
2798          velocity: 0,
2799          animating: !1,
2800          allowSlideNext: r.params.allowSlideNext,
2801          allowSlidePrev: r.params.allowSlidePrev,
2802          touchEvents: (function () {
2803            const e = ["touchstart", "touchmove", "touchend", "touchcancel"],
2804              t = ["pointerdown", "pointermove", "pointerup"];
2805            return (
2806              (r.touchEventsTouch = {
2807                start: e[0],
2808                move: e[1],
2809                end: e[2],
2810                cancel: e[3],
2811              }),
2812              (r.touchEventsDesktop = { start: t[0], move: t[1], end: t[2] }),
2813              r.support.touch || !r.params.simulateTouch
2814                ? r.touchEventsTouch
2815                : r.touchEventsDesktop
2816            );
2817          })(),
2818          touchEventsData: {
2819            isTouched: void 0,
2820            isMoved: void 0,
2821            allowTouchCallbacks: void 0,
2822            touchStartTime: void 0,
2823            isScrolling: void 0,
2824            currentTranslate: void 0,
2825            startTranslate: void 0,
2826            allowThresholdMove: void 0,
2827            focusableElements: r.params.focusableElements,
2828            lastClickTime: u(),
2829            clickTimeout: void 0,
2830            velocities: [],
2831            allowMomentumBounce: void 0,
2832            isTouchEvent: void 0,
2833            startMoving: void 0,
2834          },
2835          allowClick: !0,
2836          allowTouchMove: r.params.allowTouchMove,
2837          touches: { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0 },
2838          imagesToLoad: [],
2839          imagesLoaded: 0,
2840        }),
2841        r.emit("_swiper"),
2842        r.params.init && r.init(),
2843        r
2844      );
2845    }
2846    enable() {
2847      const e = this;
2848      e.enabled ||
2849        ((e.enabled = !0),
2850        e.params.grabCursor && e.setGrabCursor(),
2851        e.emit("enable"));
2852    }
2853    disable() {
2854      const e = this;
2855      e.enabled &&
2856        ((e.enabled = !1),
2857        e.params.grabCursor && e.unsetGrabCursor(),
2858        e.emit("disable"));
2859    }
2860    setProgress(e, t) {
2861      const s = this;
2862      e = Math.min(Math.max(e, 0), 1);
2863      const a = s.minTranslate(),
2864        i = (s.maxTranslate() - a) * e + a;
2865      s.translateTo(i, void 0 === t ? 0 : t),
2866        s.updateActiveIndex(),
2867        s.updateSlidesClasses();
2868    }
2869    emitContainerClasses() {
2870      const e = this;
2871      if (!e.params._emitClasses || !e.el) return;
2872      const t = e.el.className
2873        .split(" ")
2874        .filter(
2875          (t) =>
2876            0 === t.indexOf("swiper") ||
2877            0 === t.indexOf(e.params.containerModifierClass)
2878        );
2879      e.emit("_containerClasses", t.join(" "));
2880    }
2881    getSlideClasses(e) {
2882      const t = this;
2883      return e.className
2884        .split(" ")
2885        .filter(
2886          (e) =>
2887            0 === e.indexOf("swiper-slide") ||
2888            0 === e.indexOf(t.params.slideClass)
2889        )
2890        .join(" ");
2891    }
2892    emitSlidesClasses() {
2893      const e = this;
2894      if (!e.params._emitClasses || !e.el) return;
2895      const t = [];
2896      e.slides.each((s) => {
2897        const a = e.getSlideClasses(s);
2898        t.push({ slideEl: s, classNames: a }), e.emit("_slideClass", s, a);
2899      }),
2900        e.emit("_slideClasses", t);
2901    }
2902    slidesPerViewDynamic(e, t) {
2903      void 0 === e && (e = "current"), void 0 === t && (t = !1);
2904      const {
2905        params: s,
2906        slides: a,
2907        slidesGrid: i,
2908        slidesSizesGrid: r,
2909        size: n,
2910        activeIndex: l,
2911      } = this;
2912      let o = 1;
2913      if (s.centeredSlides) {
2914        let e,
2915          t = a[l].swiperSlideSize;
2916        for (let s = l + 1; s < a.length; s += 1)
2917          a[s] &&
2918            !e &&
2919            ((t += a[s].swiperSlideSize), (o += 1), t > n && (e = !0));
2920        for (let s = l - 1; s >= 0; s -= 1)
2921          a[s] &&
2922            !e &&
2923            ((t += a[s].swiperSlideSize), (o += 1), t > n && (e = !0));
2924      } else if ("current" === e)
2925        for (let e = l + 1; e < a.length; e += 1)
2926          (t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1);
2927      else for (let e = l - 1; e >= 0; e -= 1) i[l] - i[e] < n && (o += 1);
2928      return o;
2929    }
2930    update() {
2931      const e = this;
2932      if (!e || e.destroyed) return;
2933      const { snapGrid: t, params: s } = e;
2934      function a() {
2935        const t = e.rtlTranslate ? -1 * e.translate : e.translate,
2936          s = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
2937        e.setTranslate(s), e.updateActiveIndex(), e.updateSlidesClasses();
2938      }
2939      let i;
2940      s.breakpoints && e.setBreakpoint(),
2941        e.updateSize(),
2942        e.updateSlides(),
2943        e.updateProgress(),
2944        e.updateSlidesClasses(),
2945        e.params.freeMode && e.params.freeMode.enabled
2946          ? (a(), e.params.autoHeight && e.updateAutoHeight())
2947          : ((i =
2948              ("auto" === e.params.slidesPerView ||
2949                e.params.slidesPerView > 1) &&
2950              e.isEnd &&
2951              !e.params.centeredSlides
2952                ? e.slideTo(e.slides.length - 1, 0, !1, !0)
2953                : e.slideTo(e.activeIndex, 0, !1, !0)),
2954            i || a()),
2955        s.watchOverflow && t !== e.snapGrid && e.checkOverflow(),
2956        e.emit("update");
2957    }
2958    changeDirection(e, t) {
2959      void 0 === t && (t = !0);
2960      const s = this,
2961        a = s.params.direction;
2962      return (
2963        e || (e = "horizontal" === a ? "vertical" : "horizontal"),
2964        e === a ||
2965          ("horizontal" !== e && "vertical" !== e) ||
2966          (s.$el
2967            .removeClass(`${s.params.containerModifierClass}${a}`)
2968            .addClass(`${s.params.containerModifierClass}${e}`),
2969          s.emitContainerClasses(),
2970          (s.params.direction = e),
2971          s.slides.each((t) => {
2972            "vertical" === e ? (t.style.width = "") : (t.style.height = "");
2973          }),
2974          s.emit("changeDirection"),
2975          t && s.update()),
2976        s
2977      );
2978    }
2979    mount(e) {
2980      const t = this;
2981      if (t.mounted) return !0;
2982      const s = d(e || t.params.el);
2983      if (!(e = s[0])) return !1;
2984      e.swiper = t;
2985      const i = () =>
2986        `.${(t.params.wrapperClass || "").trim().split(" ").join(".")}`;
2987      let r = (() => {
2988        if (e && e.shadowRoot && e.shadowRoot.querySelector) {
2989          const t = d(e.shadowRoot.querySelector(i()));
2990          return (t.children = (e) => s.children(e)), t;
2991        }
2992        return s.children(i());
2993      })();
2994      if (0 === r.length && t.params.createElements) {
2995        const e = a().createElement("div");
2996        (r = d(e)),
2997          (e.className = t.params.wrapperClass),
2998          s.append(e),
2999          s.children(`.${t.params.slideClass}`).each((e) => {
3000            r.append(e);
3001          });
3002      }
3003      return (
3004        Object.assign(t, {
3005          $el: s,
3006          el: e,
3007          $wrapperEl: r,
3008          wrapperEl: r[0],
3009          mounted: !0,
3010          rtl: "rtl" === e.dir.toLowerCase() || "rtl" === s.css("direction"),
3011          rtlTranslate:
3012            "horizontal" === t.params.direction &&
3013            ("rtl" === e.dir.toLowerCase() || "rtl" === s.css("direction")),
3014          wrongRTL: "-webkit-box" === r.css("display"),
3015        }),
3016        !0
3017      );
3018    }
3019    init(e) {
3020      const t = this;
3021      return (
3022        t.initialized ||
3023          !1 === t.mount(e) ||
3024          (t.emit("beforeInit"),
3025          t.params.breakpoints && t.setBreakpoint(),
3026          t.addClasses(),
3027          t.params.loop && t.loopCreate(),
3028          t.updateSize(),
3029          t.updateSlides(),
3030          t.params.watchOverflow && t.checkOverflow(),
3031          t.params.grabCursor && t.enabled && t.setGrabCursor(),
3032          t.params.preloadImages && t.preloadImages(),
3033          t.params.loop
3034            ? t.slideTo(
3035                t.params.initialSlide + t.loopedSlides,
3036                0,
3037                t.params.runCallbacksOnInit,
3038                !1,
3039                !0
3040              )
3041            : t.slideTo(
3042                t.params.initialSlide,
3043                0,
3044                t.params.runCallbacksOnInit,
3045                !1,
3046                !0
3047              ),
3048          t.attachEvents(),
3049          (t.initialized = !0),
3050          t.emit("init"),
3051          t.emit("afterInit")),
3052        t
3053      );
3054    }
3055    destroy(e, t) {
3056      void 0 === e && (e = !0), void 0 === t && (t = !0);
3057      const s = this,
3058        { params: a, $el: i, $wrapperEl: r, slides: n } = s;
3059      return (
3060        void 0 === s.params ||
3061          s.destroyed ||
3062          (s.emit("beforeDestroy"),
3063          (s.initialized = !1),
3064          s.detachEvents(),
3065          a.loop && s.loopDestroy(),
3066          t &&
3067            (s.removeClasses(),
3068            i.removeAttr("style"),
3069            r.removeAttr("style"),
3070            n &&
3071              n.length &&
3072              n
3073                .removeClass(
3074                  [
3075                    a.slideVisibleClass,
3076                    a.slideActiveClass,
3077                    a.slideNextClass,
3078                    a.slidePrevClass,
3079                  ].join(" ")
3080                )
3081                .removeAttr("style")
3082                .removeAttr("data-swiper-slide-index")),
3083          s.emit("destroy"),
3084          Object.keys(s.eventsListeners).forEach((e) => {
3085            s.off(e);
3086          }),
3087          !1 !== e &&
3088            ((s.$el[0].swiper = null),
3089            (function (e) {
3090              const t = e;
3091              Object.keys(t).forEach((e) => {
3092                try {
3093                  t[e] = null;
3094                } catch (e) {}
3095                try {
3096                  delete t[e];
3097                } catch (e) {}
3098              });
3099            })(s)),
3100          (s.destroyed = !0)),
3101        null
3102      );
3103    }
3104    static extendDefaults(e) {
3105      g(V, e);
3106    }
3107    static get extendedDefaults() {
3108      return V;
3109    }
3110    static get defaults() {
3111      return W;
3112    }
3113    static installModule(e) {
3114      q.prototype.__modules__ || (q.prototype.__modules__ = []);
3115      const t = q.prototype.__modules__;
3116      "function" == typeof e && t.indexOf(e) < 0 && t.push(e);
3117    }
3118    static use(e) {
3119      return Array.isArray(e)
3120        ? (e.forEach((e) => q.installModule(e)), q)
3121        : (q.installModule(e), q);
3122    }
3123  }
3124  function F(e, t, s, i) {
3125    const r = a();
3126    return (
3127      e.params.createElements &&
3128        Object.keys(i).forEach((a) => {
3129          if (!s[a] && !0 === s.auto) {
3130            let n = e.$el.children(`.${i[a]}`)[0];
3131            n ||
3132              ((n = r.createElement("div")),
3133              (n.className = i[a]),
3134              e.$el.append(n)),
3135              (s[a] = n),
3136              (t[a] = n);
3137          }
3138        }),
3139      s
3140    );
3141  }
3142  function U(e) {
3143    return (
3144      void 0 === e && (e = ""),
3145      `.${e
3146        .trim()
3147        .replace(/([\.:!\/])/g, "\\$1")
3148        .replace(/ /g, ".")}`
3149    );
3150  }
3151  function K(e) {
3152    const t = this,
3153      { $wrapperEl: s, params: a } = t;
3154    if ((a.loop && t.loopDestroy(), "object" == typeof e && "length" in e))
3155      for (let t = 0; t < e.length; t += 1) e[t] && s.append(e[t]);
3156    else s.append(e);
3157    a.loop && t.loopCreate(), a.observer || t.update();
3158  }
3159  function Z(e) {
3160    const t = this,
3161      { params: s, $wrapperEl: a, activeIndex: i } = t;
3162    s.loop && t.loopDestroy();
3163    let r = i + 1;
3164    if ("object" == typeof e && "length" in e) {
3165      for (let t = 0; t < e.length; t += 1) e[t] && a.prepend(e[t]);
3166      r = i + e.length;
3167    } else a.prepend(e);
3168    s.loop && t.loopCreate(), s.observer || t.update(), t.slideTo(r, 0, !1);
3169  }
3170  function J(e, t) {
3171    const s = this,
3172      { $wrapperEl: a, params: i, activeIndex: r } = s;
3173    let n = r;
3174    i.loop &&
3175      ((n -= s.loopedSlides),
3176      s.loopDestroy(),
3177      (s.slides = a.children(`.${i.slideClass}`)));
3178    const l = s.slides.length;
3179    if (e <= 0) return void s.prependSlide(t);
3180    if (e >= l) return void s.appendSlide(t);
3181    let o = n > e ? n + 1 : n;
3182    const d = [];
3183    for (let t = l - 1; t >= e; t -= 1) {
3184      const e = s.slides.eq(t);
3185      e.remove(), d.unshift(e);
3186    }
3187    if ("object" == typeof t && "length" in t) {
3188      for (let e = 0; e < t.length; e += 1) t[e] && a.append(t[e]);
3189      o = n > e ? n + t.length : n;
3190    } else a.append(t);
3191    for (let e = 0; e < d.length; e += 1) a.append(d[e]);
3192    i.loop && s.loopCreate(),
3193      i.observer || s.update(),
3194      i.loop ? s.slideTo(o + s.loopedSlides, 0, !1) : s.slideTo(o, 0, !1);
3195  }
3196  function Q(e) {
3197    const t = this,
3198      { params: s, $wrapperEl: a, activeIndex: i } = t;
3199    let r = i;
3200    s.loop &&
3201      ((r -= t.loopedSlides),
3202      t.loopDestroy(),
3203      (t.slides = a.children(`.${s.slideClass}`)));
3204    let n,
3205      l = r;
3206    if ("object" == typeof e && "length" in e) {
3207      for (let s = 0; s < e.length; s += 1)
3208        (n = e[s]), t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1);
3209      l = Math.max(l, 0);
3210    } else (n = e), t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1), (l = Math.max(l, 0));
3211    s.loop && t.loopCreate(),
3212      s.observer || t.update(),
3213      s.loop ? t.slideTo(l + t.loopedSlides, 0, !1) : t.slideTo(l, 0, !1);
3214  }
3215  function ee() {
3216    const e = this,
3217      t = [];
3218    for (let s = 0; s < e.slides.length; s += 1) t.push(s);
3219    e.removeSlide(t);
3220  }
3221  function te(e) {
3222    const {
3223      effect: t,
3224      swiper: s,
3225      on: a,
3226      setTranslate: i,
3227      setTransition: r,
3228      overwriteParams: n,
3229      perspective: l,
3230    } = e;
3231    a("beforeInit", () => {
3232      if (s.params.effect !== t) return;
3233      s.classNames.push(`${s.params.containerModifierClass}${t}`),
3234        l && l() && s.classNames.push(`${s.params.containerModifierClass}3d`);
3235      const e = n ? n() : {};
3236      Object.assign(s.params, e), Object.assign(s.originalParams, e);
3237    }),
3238      a("setTranslate", () => {
3239        s.params.effect === t && i();
3240      }),
3241      a("setTransition", (e, a) => {
3242        s.params.effect === t && r(a);
3243      });
3244  }
3245  function se(e, t) {
3246    return e.transformEl
3247      ? t.find(e.transformEl).css({
3248          "backface-visibility": "hidden",
3249          "-webkit-backface-visibility": "hidden",
3250        })
3251      : t;
3252  }
3253  function ae(e) {
3254    let { swiper: t, duration: s, transformEl: a, allSlides: i } = e;
3255    const { slides: r, activeIndex: n, $wrapperEl: l } = t;
3256    if (t.params.virtualTranslate && 0 !== s) {
3257      let e,
3258        s = !1;
3259      (e = i ? (a ? r.find(a) : r) : a ? r.eq(n).find(a) : r.eq(n)),
3260        e.transitionEnd(() => {
3261          if (s) return;
3262          if (!t || t.destroyed) return;
3263          (s = !0), (t.animating = !1);
3264          const e = ["webkitTransitionEnd", "transitionend"];
3265          for (let t = 0; t < e.length; t += 1) l.trigger(e[t]);
3266        });
3267    }
3268  }
3269  function ie(e, t, s) {
3270    const a = "swiper-slide-shadow" + (s ? `-${s}` : ""),
3271      i = e.transformEl ? t.find(e.transformEl) : t;
3272    let r = i.children(`.${a}`);
3273    return (
3274      r.length ||
3275        ((r = d(`<div class="swiper-slide-shadow${s ? `-${s}` : ""}"></div>`)),
3276        i.append(r)),
3277      r
3278    );
3279  }
3280  Object.keys(_).forEach((e) => {
3281    Object.keys(_[e]).forEach((t) => {
3282      q.prototype[t] = _[e][t];
3283    });
3284  }),
3285    q.use([
3286      function (e) {
3287        let { swiper: t, on: s, emit: a } = e;
3288        const i = r();
3289        let n = null,
3290          l = null;
3291        const o = () => {
3292            t &&
3293              !t.destroyed &&
3294              t.initialized &&
3295              (a("beforeResize"), a("resize"));
3296          },
3297          d = () => {
3298            t && !t.destroyed && t.initialized && a("orientationchange");
3299          };
3300        s("init", () => {
3301          t.params.resizeObserver && void 0 !== i.ResizeObserver
3302            ? t &&
3303              !t.destroyed &&
3304              t.initialized &&
3305              ((n = new ResizeObserver((e) => {
3306                l = i.requestAnimationFrame(() => {
3307                  const { width: s, height: a } = t;
3308                  let i = s,
3309                    r = a;
3310                  e.forEach((e) => {
3311                    let { contentBoxSize: s, contentRect: a, target: n } = e;
3312                    (n && n !== t.el) ||
3313                      ((i = a ? a.width : (s[0] || s).inlineSize),
3314                      (r = a ? a.height : (s[0] || s).blockSize));
3315                  }),
3316                    (i === s && r === a) || o();
3317                });
3318              })),
3319              n.observe(t.el))
3320            : (i.addEventListener("resize", o),
3321              i.addEventListener("orientationchange", d));
3322        }),
3323          s("destroy", () => {
3324            l && i.cancelAnimationFrame(l),
3325              n && n.unobserve && t.el && (n.unobserve(t.el), (n = null)),
3326              i.removeEventListener("resize", o),
3327              i.removeEventListener("orientationchange", d);
3328          });
3329      },
3330      function (e) {
3331        let { swiper: t, extendParams: s, on: a, emit: i } = e;
3332        const n = [],
3333          l = r(),
3334          o = function (e, t) {
3335            void 0 === t && (t = {});
3336            const s = new (l.MutationObserver || l.WebkitMutationObserver)(
3337              (e) => {
3338                if (1 === e.length) return void i("observerUpdate", e[0]);
3339                const t = function () {
3340                  i("observerUpdate", e[0]);
3341                };
3342                l.requestAnimationFrame
3343                  ? l.requestAnimationFrame(t)
3344                  : l.setTimeout(t, 0);
3345              }
3346            );
3347            s.observe(e, {
3348              attributes: void 0 === t.attributes || t.attributes,
3349              childList: void 0 === t.childList || t.childList,
3350              characterData: void 0 === t.characterData || t.characterData,
3351            }),
3352              n.push(s);
3353          };
3354        s({ observer: !1, observeParents: !1, observeSlideChildren: !1 }),
3355          a("init", () => {
3356            if (t.params.observer) {
3357              if (t.params.observeParents) {
3358                const e = t.$el.parents();
3359                for (let t = 0; t < e.length; t += 1) o(e[t]);
3360              }
3361              o(t.$el[0], { childList: t.params.observeSlideChildren }),
3362                o(t.$wrapperEl[0], { attributes: !1 });
3363            }
3364          }),
3365          a("destroy", () => {
3366            n.forEach((e) => {
3367              e.disconnect();
3368            }),
3369              n.splice(0, n.length);
3370          });
3371      },
3372    ]);
3373  const re = [
3374    function (e) {
3375      let t,
3376        { swiper: s, extendParams: a, on: i } = e;
3377      function r(e, t) {
3378        const a = s.params.virtual;
3379        if (a.cache && s.virtual.cache[t]) return s.virtual.cache[t];
3380        const i = a.renderSlide
3381          ? d(a.renderSlide.call(s, e, t))
3382          : d(
3383              `<div class="${s.params.slideClass}" data-swiper-slide-index="${t}">${e}</div>`
3384            );
3385        return (
3386          i.attr("data-swiper-slide-index") ||
3387            i.attr("data-swiper-slide-index", t),
3388          a.cache && (s.virtual.cache[t] = i),
3389          i
3390        );
3391      }
3392      function n(e) {
3393        const {
3394            slidesPerView: t,
3395            slidesPerGroup: a,
3396            centeredSlides: i,
3397          } = s.params,
3398          { addSlidesBefore: n, addSlidesAfter: l } = s.params.virtual,
3399          { from: o, to: d, slides: c, slidesGrid: p, offset: u } = s.virtual;
3400        s.params.cssMode || s.updateActiveIndex();
3401        const h = s.activeIndex || 0;
3402        let m, f, g;
3403        (m = s.rtlTranslate ? "right" : s.isHorizontal() ? "left" : "top"),
3404          i
3405            ? ((f = Math.floor(t / 2) + a + l), (g = Math.floor(t / 2) + a + n))
3406            : ((f = t + (a - 1) + l), (g = a + n));
3407        const v = Math.max((h || 0) - g, 0),
3408          w = Math.min((h || 0) + f, c.length - 1),
3409          b = (s.slidesGrid[v] || 0) - (s.slidesGrid[0] || 0);
3410        function x() {
3411          s.updateSlides(),
3412            s.updateProgress(),
3413            s.updateSlidesClasses(),
3414            s.lazy && s.params.lazy.enabled && s.lazy.load();
3415        }
3416        if (
3417          (Object.assign(s.virtual, {
3418            from: v,
3419            to: w,
3420            offset: b,
3421            slidesGrid: s.slidesGrid,
3422          }),
3423          o === v && d === w && !e)
3424        )
3425          return (
3426            s.slidesGrid !== p && b !== u && s.slides.css(m, `${b}px`),
3427            void s.updateProgress()
3428          );
3429        if (s.params.virtual.renderExternal)
3430          return (
3431            s.params.virtual.renderExternal.call(s, {
3432              offset: b,
3433              from: v,
3434              to: w,
3435              slides: (function () {
3436                const e = [];
3437                for (let t = v; t <= w; t += 1) e.push(c[t]);
3438                return e;
3439              })(),
3440            }),
3441            void (s.params.virtual.renderExternalUpdate && x())
3442          );
3443        const y = [],
3444          E = [];
3445        if (e) s.$wrapperEl.find(`.${s.params.slideClass}`).remove();
3446        else
3447          for (let e = o; e <= d; e += 1)
3448            (e < v || e > w) &&
3449              s.$wrapperEl
3450                .find(`.${s.params.slideClass}[data-swiper-slide-index="${e}"]`)
3451                .remove();
3452        for (let t = 0; t < c.length; t += 1)
3453          t >= v &&
3454            t <= w &&
3455            (void 0 === d || e
3456              ? E.push(t)
3457              : (t > d && E.push(t), t < o && y.push(t)));
3458        E.forEach((e) => {
3459          s.$wrapperEl.append(r(c[e], e));
3460        }),
3461          y
3462            .sort((e, t) => t - e)
3463            .forEach((e) => {
3464              s.$wrapperEl.prepend(r(c[e], e));
3465            }),
3466          s.$wrapperEl.children(".swiper-slide").css(m, `${b}px`),
3467          x();
3468      }
3469      a({
3470        virtual: {
3471          enabled: !1,
3472          slides: [],
3473          cache: !0,
3474          renderSlide: null,
3475          renderExternal: null,
3476          renderExternalUpdate: !0,
3477          addSlidesBefore: 0,
3478          addSlidesAfter: 0,
3479        },
3480      }),
3481        (s.virtual = {
3482          cache: {},
3483          from: void 0,
3484          to: void 0,
3485          slides: [],
3486          offset: 0,
3487          slidesGrid: [],
3488        }),
3489        i("beforeInit", () => {
3490          s.params.virtual.enabled &&
3491            ((s.virtual.slides = s.params.virtual.slides),
3492            s.classNames.push(`${s.params.containerModifierClass}virtual`),
3493            (s.params.watchSlidesProgress = !0),
3494            (s.originalParams.watchSlidesProgress = !0),
3495            s.params.initialSlide || n());
3496        }),
3497        i("setTranslate", () => {
3498          s.params.virtual.enabled &&
3499            (s.params.cssMode && !s._immediateVirtual
3500              ? (clearTimeout(t),
3501                (t = setTimeout(() => {
3502                  n();
3503                }, 100)))
3504              : n());
3505        }),
3506        i("init update resize", () => {
3507          s.params.virtual.enabled &&
3508            s.params.cssMode &&
3509            v(s.wrapperEl, "--swiper-virtual-size", `${s.virtualSize}px`);
3510        }),
3511        Object.assign(s.virtual, {
3512          appendSlide: function (e) {
3513            if ("object" == typeof e && "length" in e)
3514              for (let t = 0; t < e.length; t += 1)
3515                e[t] && s.virtual.slides.push(e[t]);
3516            else s.virtual.slides.push(e);
3517            n(!0);
3518          },
3519          prependSlide: function (e) {
3520            const t = s.activeIndex;
3521            let a = t + 1,
3522              i = 1;
3523            if (Array.isArray(e)) {
3524              for (let t = 0; t < e.length; t += 1)
3525                e[t] && s.virtual.slides.unshift(e[t]);
3526              (a = t + e.length), (i = e.length);
3527            } else s.virtual.slides.unshift(e);
3528            if (s.params.virtual.cache) {
3529              const e = s.virtual.cache,
3530                t = {};
3531              Object.keys(e).forEach((s) => {
3532                const a = e[s],
3533                  r = a.attr("data-swiper-slide-index");
3534                r && a.attr("data-swiper-slide-index", parseInt(r, 10) + i),
3535                  (t[parseInt(s, 10) + i] = a);
3536              }),
3537                (s.virtual.cache = t);
3538            }
3539            n(!0), s.slideTo(a, 0);
3540          },
3541          removeSlide: function (e) {
3542            if (null == e) return;
3543            let t = s.activeIndex;
3544            if (Array.isArray(e))
3545              for (let a = e.length - 1; a >= 0; a -= 1)
3546                s.virtual.slides.splice(e[a], 1),
3547                  s.params.virtual.cache && delete s.virtual.cache[e[a]],
3548                  e[a] < t && (t -= 1),
3549                  (t = Math.max(t, 0));
3550            else
3551              s.virtual.slides.splice(e, 1),
3552                s.params.virtual.cache && delete s.virtual.cache[e],
3553                e < t && (t -= 1),
3554                (t = Math.max(t, 0));
3555            n(!0), s.slideTo(t, 0);
3556          },
3557          removeAllSlides: function () {
3558            (s.virtual.slides = []),
3559              s.params.virtual.cache && (s.virtual.cache = {}),
3560              n(!0),
3561              s.slideTo(0, 0);
3562          },
3563          update: n,
3564        });
3565    },
3566    function (e) {
3567      let { swiper: t, extendParams: s, on: i, emit: n } = e;
3568      const l = a(),
3569        o = r();
3570      function c(e) {
3571        if (!t.enabled) return;
3572        const { rtlTranslate: s } = t;
3573        let a = e;
3574        a.originalEvent && (a = a.originalEvent);
3575        const i = a.keyCode || a.charCode,
3576          r = t.params.keyboard.pageUpDown,
3577          d = r && 33 === i,
3578          c = r && 34 === i,
3579          p = 37 === i,
3580          u = 39 === i,
3581          h = 38 === i,
3582          m = 40 === i;
3583        if (
3584          !t.allowSlideNext &&
3585          ((t.isHorizontal() && u) || (t.isVertical() && m) || c)
3586        )
3587          return !1;
3588        if (
3589          !t.allowSlidePrev &&
3590          ((t.isHorizontal() && p) || (t.isVertical() && h) || d)
3591        )
3592          return !1;
3593        if (
3594          !(
3595            a.shiftKey ||
3596            a.altKey ||
3597            a.ctrlKey ||
3598            a.metaKey ||
3599            (l.activeElement &&
3600              l.activeElement.nodeName &&
3601              ("input" === l.activeElement.nodeName.toLowerCase() ||
3602                "textarea" === l.activeElement.nodeName.toLowerCase()))
3603          )
3604        ) {
3605          if (
3606            t.params.keyboard.onlyInViewport &&
3607            (d || c || p || u || h || m)
3608          ) {
3609            let e = !1;
3610            if (
3611              t.$el.parents(`.${t.params.slideClass}`).length > 0 &&
3612              0 === t.$el.parents(`.${t.params.slideActiveClass}`).length
3613            )
3614              return;
3615            const a = t.$el,
3616              i = a[0].clientWidth,
3617              r = a[0].clientHeight,
3618              n = o.innerWidth,
3619              l = o.innerHeight,
3620              d = t.$el.offset();
3621            s && (d.left -= t.$el[0].scrollLeft);
3622            const c = [
3623              [d.left, d.top],
3624              [d.left + i, d.top],
3625              [d.left, d.top + r],
3626              [d.left + i, d.top + r],
3627            ];
3628            for (let t = 0; t < c.length; t += 1) {
3629              const s = c[t];
3630              if (s[0] >= 0 && s[0] <= n && s[1] >= 0 && s[1] <= l) {
3631                if (0 === s[0] && 0 === s[1]) continue;
3632                e = !0;
3633              }
3634            }
3635            if (!e) return;
3636          }
3637          t.isHorizontal()
3638            ? ((d || c || p || u) &&
3639                (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)),
3640              (((c || u) && !s) || ((d || p) && s)) && t.slideNext(),
3641              (((d || p) && !s) || ((c || u) && s)) && t.slidePrev())
3642            : ((d || c || h || m) &&
3643                (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)),
3644              (c || m) && t.slideNext(),
3645              (d || h) && t.slidePrev()),
3646            n("keyPress", i);
3647        }
3648      }
3649      function p() {
3650        t.keyboard.enabled ||
3651          (d(l).on("keydown", c), (t.keyboard.enabled = !0));
3652      }
3653      function u() {
3654        t.keyboard.enabled &&
3655          (d(l).off("keydown", c), (t.keyboard.enabled = !1));
3656      }
3657      (t.keyboard = { enabled: !1 }),
3658        s({ keyboard: { enabled: !1, onlyInViewport: !0, pageUpDown: !0 } }),
3659        i("init", () => {
3660          t.params.keyboard.enabled && p();
3661        }),
3662        i("destroy", () => {
3663          t.keyboard.enabled && u();
3664        }),
3665        Object.assign(t.keyboard, { enable: p, disable: u });
3666    },
3667    function (e) {
3668      let { swiper: t, extendParams: s, on: a, emit: i } = e;
3669      const n = r();
3670      let l;
3671      s({
3672        mousewheel: {
3673          enabled: !1,
3674          releaseOnEdges: !1,
3675          invert: !1,
3676          forceToAxis: !1,
3677          sensitivity: 1,
3678          eventsTarget: "container",
3679          thresholdDelta: null,
3680          thresholdTime: null,
3681        },
3682      }),
3683        (t.mousewheel = { enabled: !1 });
3684      let o,
3685        c = u();
3686      const h = [];
3687      function m() {
3688        t.enabled && (t.mouseEntered = !0);
3689      }
3690      function f() {
3691        t.enabled && (t.mouseEntered = !1);
3692      }
3693      function g(e) {
3694        return !(
3695          (t.params.mousewheel.thresholdDelta &&
3696            e.delta < t.params.mousewheel.thresholdDelta) ||
3697          (t.params.mousewheel.thresholdTime &&
3698            u() - c < t.params.mousewheel.thresholdTime) ||
3699          (!(e.delta >= 6 && u() - c < 60) &&
3700            (e.direction < 0
3701              ? (t.isEnd && !t.params.loop) ||
3702                t.animating ||
3703                (t.slideNext(), i("scroll", e.raw))
3704              : (t.isBeginning && !t.params.loop) ||
3705                t.animating ||
3706                (t.slidePrev(), i("scroll", e.raw)),
3707            (c = new n.Date().getTime()),
3708            1))
3709        );
3710      }
3711      function v(e) {
3712        let s = e,
3713          a = !0;
3714        if (!t.enabled) return;
3715        const r = t.params.mousewheel;
3716        t.params.cssMode && s.preventDefault();
3717        let n = t.$el;
3718        if (
3719          ("container" !== t.params.mousewheel.eventsTarget &&
3720            (n = d(t.params.mousewheel.eventsTarget)),
3721          !t.mouseEntered && !n[0].contains(s.target) && !r.releaseOnEdges)
3722        )
3723          return !0;
3724        s.originalEvent && (s = s.originalEvent);
3725        let c = 0;
3726        const m = t.rtlTranslate ? -1 : 1,
3727          f = (function (e) {
3728            let t = 0,
3729              s = 0,
3730              a = 0,
3731              i = 0;
3732            return (
3733              "detail" in e && (s = e.detail),
3734              "wheelDelta" in e && (s = -e.wheelDelta / 120),
3735              "wheelDeltaY" in e && (s = -e.wheelDeltaY / 120),
3736              "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120),
3737              "axis" in e && e.axis === e.HORIZONTAL_AXIS && ((t = s), (s = 0)),
3738              (a = 10 * t),
3739              (i = 10 * s),
3740              "deltaY" in e && (i = e.deltaY),
3741              "deltaX" in e && (a = e.deltaX),
3742              e.shiftKey && !a && ((a = i), (i = 0)),
3743              (a || i) &&
3744                e.deltaMode &&
3745                (1 === e.deltaMode
3746                  ? ((a *= 40), (i *= 40))
3747                  : ((a *= 800), (i *= 800))),
3748              a && !t && (t = a < 1 ? -1 : 1),
3749              i && !s && (s = i < 1 ? -1 : 1),
3750              { spinX: t, spinY: s, pixelX: a, pixelY: i }
3751            );
3752          })(s);
3753        if (r.forceToAxis)
3754          if (t.isHorizontal()) {
3755            if (!(Math.abs(f.pixelX) > Math.abs(f.pixelY))) return !0;
3756            c = -f.pixelX * m;
3757          } else {
3758            if (!(Math.abs(f.pixelY) > Math.abs(f.pixelX))) return !0;
3759            c = -f.pixelY;
3760          }
3761        else
3762          c =
3763            Math.abs(f.pixelX) > Math.abs(f.pixelY) ? -f.pixelX * m : -f.pixelY;
3764        if (0 === c) return !0;
3765        r.invert && (c = -c);
3766        let v = t.getTranslate() + c * r.sensitivity;
3767        if (
3768          (v >= t.minTranslate() && (v = t.minTranslate()),
3769          v <= t.maxTranslate() && (v = t.maxTranslate()),
3770          (a =
3771            !!t.params.loop ||
3772            !(v === t.minTranslate() || v === t.maxTranslate())),
3773          a && t.params.nested && s.stopPropagation(),
3774          t.params.freeMode && t.params.freeMode.enabled)
3775        ) {
3776          const e = { time: u(), delta: Math.abs(c), direction: Math.sign(c) },
3777            a =
3778              o &&
3779              e.time < o.time + 500 &&
3780              e.delta <= o.delta &&
3781              e.direction === o.direction;
3782          if (!a) {
3783            (o = void 0), t.params.loop && t.loopFix();
3784            let n = t.getTranslate() + c * r.sensitivity;
3785            const d = t.isBeginning,
3786              u = t.isEnd;
3787            if (
3788              (n >= t.minTranslate() && (n = t.minTranslate()),
3789              n <= t.maxTranslate() && (n = t.maxTranslate()),
3790              t.setTransition(0),
3791              t.setTranslate(n),
3792              t.updateProgress(),
3793              t.updateActiveIndex(),
3794              t.updateSlidesClasses(),
3795              ((!d && t.isBeginning) || (!u && t.isEnd)) &&
3796                t.updateSlidesClasses(),
3797              t.params.freeMode.sticky)
3798            ) {
3799              clearTimeout(l), (l = void 0), h.length >= 15 && h.shift();
3800              const s = h.length ? h[h.length - 1] : void 0,
3801                a = h[0];
3802              if (
3803                (h.push(e),
3804                s && (e.delta > s.delta || e.direction !== s.direction))
3805              )
3806                h.splice(0);
3807              else if (
3808                h.length >= 15 &&
3809                e.time - a.time < 500 &&
3810                a.delta - e.delta >= 1 &&
3811                e.delta <= 6
3812              ) {
3813                const s = c > 0 ? 0.8 : 0.2;
3814                (o = e),
3815                  h.splice(0),
3816                  (l = p(() => {
3817                    t.slideToClosest(t.params.speed, !0, void 0, s);
3818                  }, 0));
3819              }
3820              l ||
3821                (l = p(() => {
3822                  (o = e),
3823                    h.splice(0),
3824                    t.slideToClosest(t.params.speed, !0, void 0, 0.5);
3825                }, 500));
3826            }
3827            if (
3828              (a || i("scroll", s),
3829              t.params.autoplay &&
3830                t.params.autoplayDisableOnInteraction &&
3831                t.autoplay.stop(),
3832              n === t.minTranslate() || n === t.maxTranslate())
3833            )
3834              return !0;
3835          }
3836        } else {
3837          const s = {
3838            time: u(),
3839            delta: Math.abs(c),
3840            direction: Math.sign(c),
3841            raw: e,
3842          };
3843          h.length >= 2 && h.shift();
3844          const a = h.length ? h[h.length - 1] : void 0;
3845          if (
3846            (h.push(s),
3847            a
3848              ? (s.direction !== a.direction ||
3849                  s.delta > a.delta ||
3850                  s.time > a.time + 150) &&
3851                g(s)
3852              : g(s),
3853            (function (e) {
3854              const s = t.params.mousewheel;
3855              if (e.direction < 0) {
3856                if (t.isEnd && !t.params.loop && s.releaseOnEdges) return !0;
3857              } else if (t.isBeginning && !t.params.loop && s.releaseOnEdges)
3858                return !0;
3859              return !1;
3860            })(s))
3861          )
3862            return !0;
3863        }
3864        return s.preventDefault ? s.preventDefault() : (s.returnValue = !1), !1;
3865      }
3866      function w(e) {
3867        let s = t.$el;
3868        "container" !== t.params.mousewheel.eventsTarget &&
3869          (s = d(t.params.mousewheel.eventsTarget)),
3870          s[e]("mouseenter", m),
3871          s[e]("mouseleave", f),
3872          s[e]("wheel", v);
3873      }
3874      function b() {
3875        return t.params.cssMode
3876          ? (t.wrapperEl.removeEventListener("wheel", v), !0)
3877          : !t.mousewheel.enabled && (w("on"), (t.mousewheel.enabled = !0), !0);
3878      }
3879      function x() {
3880        return t.params.cssMode
3881          ? (t.wrapperEl.addEventListener(event, v), !0)
3882          : !!t.mousewheel.enabled &&
3883              (w("off"), (t.mousewheel.enabled = !1), !0);
3884      }
3885      a("init", () => {
3886        !t.params.mousewheel.enabled && t.params.cssMode && x(),
3887          t.params.mousewheel.enabled && b();
3888      }),
3889        a("destroy", () => {
3890          t.params.cssMode && b(), t.mousewheel.enabled && x();
3891        }),
3892        Object.assign(t.mousewheel, { enable: b, disable: x });
3893    },
3894    function (e) {
3895      let { swiper: t, extendParams: s, on: a, emit: i } = e;
3896      function r(e) {
3897        let s;
3898        return (
3899          e &&
3900            ((s = d(e)),
3901            t.params.uniqueNavElements &&
3902              "string" == typeof e &&
3903              s.length > 1 &&
3904              1 === t.$el.find(e).length &&
3905              (s = t.$el.find(e))),
3906          s
3907        );
3908      }
3909      function n(e, s) {
3910        const a = t.params.navigation;
3911        e &&
3912          e.length > 0 &&
3913          (e[s ? "addClass" : "removeClass"](a.disabledClass),
3914          e[0] && "BUTTON" === e[0].tagName && (e[0].disabled = s),
3915          t.params.watchOverflow &&
3916            t.enabled &&
3917            e[t.isLocked ? "addClass" : "removeClass"](a.lockClass));
3918      }
3919      function l() {
3920        if (t.params.loop) return;
3921        const { $nextEl: e, $prevEl: s } = t.navigation;
3922        n(s, t.isBeginning && !t.params.rewind),
3923          n(e, t.isEnd && !t.params.rewind);
3924      }
3925      function o(e) {
3926        e.preventDefault(),
3927          (!t.isBeginning || t.params.loop || t.params.rewind) && t.slidePrev();
3928      }
3929      function c(e) {
3930        e.preventDefault(),
3931          (!t.isEnd || t.params.loop || t.params.rewind) && t.slideNext();
3932      }
3933      function p() {
3934        const e = t.params.navigation;
3935        if (
3936          ((t.params.navigation = F(
3937            t,
3938            t.originalParams.navigation,
3939            t.params.na
3939vigation,
3940            { nextEl: "swiper-button-next", prevEl: "swiper-button-prev" }
3941          )),
3942          !e.nextEl && !e.prevEl)
3943        )
3944          return;
3945        const s = r(e.nextEl),
3946          a = r(e.prevEl);
3947        s && s.length > 0 && s.on("click", c),
3948          a && a.length > 0 && a.on("click", o),
3949          Object.assign(t.navigation, {
3950            $nextEl: s,
3951            nextEl: s && s[0],
3952            $prevEl: a,
3953            prevEl: a && a[0],
3954          }),
3955          t.enabled ||
3956            (s && s.addClass(e.lockClass), a && a.addClass(e.lockClass));
3957      }
3958      function u() {
3959        const { $nextEl: e, $prevEl: s } = t.navigation;
3960        e &&
3961          e.length &&
3962          (e.off("click", c), e.removeClass(t.params.navigation.disabledClass)),
3963          s &&
3964            s.length &&
3965            (s.off("click", o),
3966            s.removeClass(t.params.navigation.disabledClass));
3967      }
3968      s({
3969        navigation: {
3970          nextEl: null,
3971          prevEl: null,
3972          hideOnClick: !1,
3973          disabledClass: "swiper-button-disabled",
3974          hiddenClass: "swiper-button-hidden",
3975          lockClass: "swiper-button-lock",
3976        },
3977      }),
3978        (t.navigation = {
3979          nextEl: null,
3980          $nextEl: null,
3981          prevEl: null,
3982          $prevEl: null,
3983        }),
3984        a("init", () => {
3985          p(), l();
3986        }),
3987        a("toEdge fromEdge lock unlock", () => {
3988          l();
3989        }),
3990        a("destroy", () => {
3991          u();
3992        }),
3993        a("enable disable", () => {
3994          const { $nextEl: e, $prevEl: s } = t.navigation;
3995          e &&
3996            e[t.enabled ? "removeClass" : "addClass"](
3997              t.params.navigation.lockClass
3998            ),
3999            s &&
4000              s[t.enabled ? "removeClass" : "addClass"](
4001                t.params.navigation.lockClass
4002              );
4003        }),
4004        a("click", (e, s) => {
4005          const { $nextEl: a, $prevEl: r } = t.navigation,
4006            n = s.target;
4007          if (t.params.navigation.hideOnClick && !d(n).is(r) && !d(n).is(a)) {
4008            if (
4009              t.pagination &&
4010              t.params.pagination &&
4011              t.params.pagination.clickable &&
4012              (t.pagination.el === n || t.pagination.el.contains(n))
4013            )
4014              return;
4015            let e;
4016            a
4017              ? (e = a.hasClass(t.params.navigation.hiddenClass))
4018              : r && (e = r.hasClass(t.params.navigation.hiddenClass)),
4019              i(!0 === e ? "navigationShow" : "navigationHide"),
4020              a && a.toggleClass(t.params.navigation.hiddenClass),
4021              r && r.toggleClass(t.params.navigation.hiddenClass);
4022          }
4023        }),
4024        Object.assign(t.navigation, { update: l, init: p, destroy: u });
4025    },
4026    function (e) {
4027      let { swiper: t, extendParams: s, on: a, emit: i } = e;
4028      const r = "swiper-pagination";
4029      let n;
4030      s({
4031        pagination: {
4032          el: null,
4033          bulletElement: "span",
4034          clickable: !1,
4035          hideOnClick: !1,
4036          renderBullet: null,
4037          renderProgressbar: null,
4038          renderFraction: null,
4039          renderCustom: null,
4040          progressbarOpposite: !1,
4041          type: "bullets",
4042          dynamicBullets: !1,
4043          dynamicMainBullets: 1,
4044          formatFractionCurrent: (e) => e,
4045          formatFractionTotal: (e) => e,
4046          bulletClass: `${r}-bullet`,
4047          bulletActiveClass: `${r}-bullet-active`,
4048          modifierClass: `${r}-`,
4049          currentClass: `${r}-current`,
4050          totalClass: `${r}-total`,
4051          hiddenClass: `${r}-hidden`,
4052          progressbarFillClass: `${r}-progressbar-fill`,
4053          progressbarOppositeClass: `${r}-progressbar-opposite`,
4054          clickableClass: `${r}-clickable`,
4055          lockClass: `${r}-lock`,
4056          horizontalClass: `${r}-horizontal`,
4057          verticalClass: `${r}-vertical`,
4058        },
4059      }),
4060        (t.pagination = { el: null, $el: null, bullets: [] });
4061      let l = 0;
4062      function o() {
4063        return (
4064          !t.params.pagination.el ||
4065          !t.pagination.el ||
4066          !t.pagination.$el ||
4067          0 === t.pagination.$el.length
4068        );
4069      }
4070      function c(e, s) {
4071        const { bulletActiveClass: a } = t.params.pagination;
4072        e[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`);
4073      }
4074      function p() {
4075        const e = t.rtl,
4076          s = t.params.pagination;
4077        if (o()) return;
4078        const a =
4079            t.virtual && t.params.virtual.enabled
4080              ? t.virtual.slides.length
4081              : t.slides.length,
4082          r = t.pagination.$el;
4083        let p;
4084        const u = t.params.loop
4085          ? Math.ceil((a - 2 * t.loopedSlides) / t.params.slidesPerGroup)
4086          : t.snapGrid.length;
4087        if (
4088          (t.params.loop
4089            ? ((p = Math.ceil(
4090                (t.activeIndex - t.loopedSlides) / t.params.slidesPerGroup
4091              )),
4092              p > a - 1 - 2 * t.loopedSlides && (p -= a - 2 * t.loopedSlides),
4093              p > u - 1 && (p -= u),
4094              p < 0 && "bullets" !== t.params.paginationType && (p = u + p))
4095            : (p = void 0 !== t.snapIndex ? t.snapIndex : t.activeIndex || 0),
4096          "bullets" === s.type &&
4097            t.pagination.bullets &&
4098            t.pagination.bullets.length > 0)
4099        ) {
4100          const a = t.pagination.bullets;
4101          let i, o, u;
4102          if (
4103            (s.dynamicBullets &&
4104              ((n = a
4105                .eq(0)
4106                [t.isHorizontal() ? "outerWidth" : "outerHeight"](!0)),
4107              r.css(
4108                t.isHorizontal() ? "width" : "height",
4109                n * (s.dynamicMainBullets + 4) + "px"
4110              ),
4111              s.dynamicMainBullets > 1 &&
4112                void 0 !== t.previousIndex &&
4113                ((l += p - (t.previousIndex - t.loopedSlides || 0)),
4114                l > s.dynamicMainBullets - 1
4115                  ? (l = s.dynamicMainBullets - 1)
4116                  : l < 0 && (l = 0)),
4117              (i = Math.max(p - l, 0)),
4118              (o = i + (Math.min(a.length, s.dynamicMainBullets) - 1)),
4119              (u = (o + i) / 2)),
4120            a.removeClass(
4121              ["", "-next", "-next-next", "-prev", "-prev-prev", "-main"]
4122                .map((e) => `${s.bulletActiveClass}${e}`)
4123                .join(" ")
4124            ),
4125            r.length > 1)
4126          )
4127            a.each((e) => {
4128              const t = d(e),
4129                a = t.index();
4130              a === p && t.addClass(s.bulletActiveClass),
4131                s.dynamicBullets &&
4132                  (a >= i &&
4133                    a <= o &&
4134                    t.addClass(`${s.bulletActiveClass}-main`),
4135                  a === i && c(t, "prev"),
4136                  a === o && c(t, "next"));
4137            });
4138          else {
4139            const e = a.eq(p),
4140              r = e.index();
4141            if ((e.addClass(s.bulletActiveClass), s.dynamicBullets)) {
4142              const e = a.eq(i),
4143                n = a.eq(o);
4144              for (let e = i; e <= o; e += 1)
4145                a.eq(e).addClass(`${s.bulletActiveClass}-main`);
4146              if (t.params.loop)
4147                if (r >= a.length) {
4148                  for (let e = s.dynamicMainBullets; e >= 0; e -= 1)
4149                    a.eq(a.length - e).addClass(`${s.bulletActiveClass}-main`);
4150                  a.eq(a.length - s.dynamicMainBullets - 1).addClass(
4151                    `${s.bulletActiveClass}-prev`
4152                  );
4153                } else c(e, "prev"), c(n, "next");
4154              else c(e, "prev"), c(n, "next");
4155            }
4156          }
4157          if (s.dynamicBullets) {
4158            const i = Math.min(a.length, s.dynamicMainBullets + 4),
4159              r = (n * i - n) / 2 - u * n,
4160              l = e ? "right" : "left";
4161            a.css(t.isHorizontal() ? l : "top", `${r}px`);
4162          }
4163        }
4164        if (
4165          ("fraction" === s.type &&
4166            (r.find(U(s.currentClass)).text(s.formatFractionCurrent(p + 1)),
4167            r.find(U(s.totalClass)).text(s.formatFractionTotal(u))),
4168          "progressbar" === s.type)
4169        ) {
4170          let e;
4171          e = s.progressbarOpposite
4172            ? t.isHorizontal()
4173              ? "vertical"
4174              : "horizontal"
4175            : t.isHorizontal()
4176            ? "horizontal"
4177            : "vertical";
4178          const a = (p + 1) / u;
4179          let i = 1,
4180            n = 1;
4181          "horizontal" === e ? (i = a) : (n = a),
4182            r
4183              .find(U(s.progressbarFillClass))
4184              .transform(`translate3d(0,0,0) scaleX(${i}) scaleY(${n})`)
4185              .transition(t.params.speed);
4186        }
4187        "custom" === s.type && s.renderCustom
4188          ? (r.html(s.renderCustom(t, p + 1, u)), i("paginationRender", r[0]))
4189          : i("paginationUpdate", r[0]),
4190          t.params.watchOverflow &&
4191            t.enabled &&
4192            r[t.isLocked ? "addClass" : "removeClass"](s.lockClass);
4193      }
4194      function u() {
4195        const e = t.params.pagination;
4196        if (o()) return;
4197        const s =
4198            t.virtual && t.params.virtual.enabled
4199              ? t.virtual.slides.length
4200              : t.slides.length,
4201          a = t.pagination.$el;
4202        let r = "";
4203        if ("bullets" === e.type) {
4204          let i = t.params.loop
4205            ? Math.ceil((s - 2 * t.loopedSlides) / t.params.slidesPerGroup)
4206            : t.snapGrid.length;
4207          t.params.freeMode &&
4208            t.params.freeMode.enabled &&
4209            !t.params.loop &&
4210            i > s &&
4211            (i = s);
4212          for (let s = 0; s < i; s += 1)
4213            e.renderBullet
4214              ? (r += e.renderBullet.call(t, s, e.bulletClass))
4215              : (r += `<${e.bulletElement} class="${e.bulletClass}"></${e.bulletElement}>`);
4216          a.html(r), (t.pagination.bullets = a.find(U(e.bulletClass)));
4217        }
4218        "fraction" === e.type &&
4219          ((r = e.renderFraction
4220            ? e.renderFraction.call(t, e.currentClass, e.totalClass)
4221            : `<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`),
4222          a.html(r)),
4223          "progressbar" === e.type &&
4224            ((r = e.renderProgressbar
4225              ? e.renderProgressbar.call(t, e.progressbarFillClass)
4226              : `<span class="${e.progressbarFillClass}"></span>`),
4227            a.html(r)),
4228          "custom" !== e.type && i("paginationRender", t.pagination.$el[0]);
4229      }
4230      function h() {
4231        t.params.pagination = F(
4232          t,
4233          t.originalParams.pagination,
4234          t.params.pagination,
4235          { el: "swiper-pagination" }
4236        );
4237        const e = t.params.pagination;
4238        if (!e.el) return;
4239        let s = d(e.el);
4240        0 !== s.length &&
4241          (t.params.uniqueNavElements &&
4242            "string" == typeof e.el &&
4243            s.length > 1 &&
4244            ((s = t.$el.find(e.el)),
4245            s.length > 1 &&
4246              (s = s.filter((e) => d(e).parents(".swiper")[0] === t.el))),
4247          "bullets" === e.type && e.clickable && s.addClass(e.clickableClass),
4248          s.addClass(e.modifierClass + e.type),
4249          s.addClass(e.modifierClass + t.params.direction),
4250          "bullets" === e.type &&
4251            e.dynamicBullets &&
4252            (s.addClass(`${e.modifierClass}${e.type}-dynamic`),
4253            (l = 0),
4254            e.dynamicMainBullets < 1 && (e.dynamicMainBullets = 1)),
4255          "progressbar" === e.type &&
4256            e.progressbarOpposite &&
4257            s.addClass(e.progressbarOppositeClass),
4258          e.clickable &&
4259            s.on("click", U(e.bulletClass), function (e) {
4260              e.preventDefault();
4261              let s = d(this).index() * t.params.slidesPerGroup;
4262              t.params.loop && (s += t.loopedSlides), t.slideTo(s);
4263            }),
4264          Object.assign(t.pagination, { $el: s, el: s[0] }),
4265          t.enabled || s.addClass(e.lockClass));
4266      }
4267      function m() {
4268        const e = t.params.pagination;
4269        if (o()) return;
4270        const s = t.pagination.$el;
4271        s.removeClass(e.hiddenClass),
4272          s.removeClass(e.modifierClass + e.type),
4273          s.removeClass(e.modifierClass + t.params.direction),
4274          t.pagination.bullets &&
4275            t.pagination.bullets.removeClass &&
4276            t.pagination.bullets.removeClass(e.bulletActiveClass),
4277          e.clickable && s.off("click", U(e.bulletClass));
4278      }
4279      a("init", () => {
4280        h(), u(), p();
4281      }),
4282        a("activeIndexChange", () => {
4283          (t.params.loop || void 0 === t.snapIndex) && p();
4284        }),
4285        a("snapIndexChange", () => {
4286          t.params.loop || p();
4287        }),
4288        a("slidesLengthChange", () => {
4289          t.params.loop && (u(), p());
4290        }),
4291        a("snapGridLengthChange", () => {
4292          t.params.loop || (u(), p());
4293        }),
4294        a("destroy", () => {
4295          m();
4296        }),
4297        a("enable disable", () => {
4298          const { $el: e } = t.pagination;
4299          e &&
4300            e[t.enabled ? "removeClass" : "addClass"](
4301              t.params.pagination.lockClass
4302            );
4303        }),
4304        a("lock unlock", () => {
4305          p();
4306        }),
4307        a("click", (e, s) => {
4308          const a = s.target,
4309            { $el: r } = t.pagination;
4310          if (
4311            t.params.pagination.el &&
4312            t.params.pagination.hideOnClick &&
4313            r.length > 0 &&
4314            !d(a).hasClass(t.params.pagination.bulletClass)
4315          ) {
4316            if (
4317              t.navigation &&
4318              ((t.navigation.nextEl && a === t.navigation.nextEl) ||
4319                (t.navigation.prevEl && a === t.navigation.prevEl))
4320            )
4321              return;
4322            const e = r.hasClass(t.params.pagination.hiddenClass);
4323            i(!0 === e ? "paginationShow" : "paginationHide"),
4324              r.toggleClass(t.params.pagination.hiddenClass);
4325          }
4326        }),
4327        Object.assign(t.pagination, {
4328          render: u,
4329          update: p,
4330          init: h,
4331          destroy: m,
4332        });
4333    },
4334    function (e) {
4335      let { swiper: t, extendParams: s, on: i, emit: r }
4335 = e;
4336      const n = a();
4337      let l,
4338        o,
4339        c,
4340        u,
4341        h = !1,
4342        m = null,
4343        f = null;
4344      function g() {
4345        if (!t.params.scrollbar.el || !t.scrollbar.el) return;
4346        const { scrollbar: e, rtlTranslate: s, progress: a } = t,
4347          { $dragEl: i, $el: r } = e,
4348          n = t.params.scrollbar;
4349        let l = o,
4350          d = (c - o) * a;
4351        s
4352          ? ((d = -d),
4353            d > 0 ? ((l = o - d), (d = 0)) : -d + o > c && (l = c + d))
4354          : d < 0
4355          ? ((l = o + d), (d = 0))
4356          : d + o > c && (l = c - d),
4357          t.isHorizontal()
4358            ? (i.transform(`translate3d(${d}px, 0, 0)`),
4359              (i[0].style.width = `${l}px`))
4360            : (i.transform(`translate3d(0px, ${d}px, 0)`),
4361              (i[0].style.height = `${l}px`)),
4362          n.hide &&
4363            (clearTimeout(m),
4364            (r[0].style.opacity = 1),
4365            (m = setTimeout(() => {
4366              (r[0].style.opacity = 0), r.transition(400);
4367            }, 1e3)));
4368      }
4369      function v() {
4370        if (!t.params.scrollbar.el || !t.scrollbar.el) return;
4371        const { scrollbar: e } = t,
4372          { $dragEl: s, $el: a } = e;
4373        (s[0].style.width = ""),
4374          (s[0].style.height = ""),
4375          (c = t.isHorizontal() ? a[0].offsetWidth : a[0].offsetHeight),
4376          (u =
4377            t.size /
4378            (t.virtualSize +
4379              t.params.slidesOffsetBefore -
4380              (t.params.centeredSlides ? t.snapGrid[0] : 0))),
4381          (o =
4382            "auto" === t.params.scrollbar.dragSize
4383              ? c * u
4384              : parseInt(t.params.scrollbar.dragSize, 10)),
4385          t.isHorizontal()
4386            ? (s[0].style.width = `${o}px`)
4387            : (s[0].style.height = `${o}px`),
4388          (a[0].style.display = u >= 1 ? "none" : ""),
4389          t.params.scrollbar.hide && (a[0].style.opacity = 0),
4390          t.params.watchOverflow &&
4391            t.enabled &&
4392            e.$el[t.isLocked ? "addClass" : "removeClass"](
4393              t.params.scrollbar.lockClass
4394            );
4395      }
4396      function w(e) {
4397        return t.isHorizontal()
4398          ? "touchstart" === e.type || "touchmove" === e.type
4399            ? e.targetTouches[0].clientX
4400            : e.clientX
4401          : "touchstart" === e.type || "touchmove" === e.type
4402          ? e.targetTouches[0].clientY
4403          : e.clientY;
4404      }
4405      function b(e) {
4406        const { scrollbar: s, rtlTranslate: a } = t,
4407          { $el: i } = s;
4408        let r;
4409        (r =
4410          (w(e) -
4411            i.offset()[t.isHorizontal() ? "left" : "top"] -
4412            (null !== l ? l : o / 2)) /
4413          (c - o)),
4414          (r = Math.max(Math.min(r, 1), 0)),
4415          a && (r = 1 - r);
4416        const n = t.minTranslate() + (t.maxTranslate() - t.minTranslate()) * r;
4417        t.updateProgress(n),
4418          t.setTranslate(n),
4419          t.updateActiveIndex(),
4420          t.updateSlidesClasses();
4421      }
4422      function x(e) {
4423        const s = t.params.scrollbar,
4424          { scrollbar: a, $wrapperEl: i } = t,
4425          { $el: n, $dragEl: o } = a;
4426        (h = !0),
4427          (l =
4428            e.target === o[0] || e.target === o
4429              ? w(e) -
4430                e.target.getBoundingClientRect()[
4431                  t.isHorizontal() ? "left" : "top"
4432                ]
4433              : null),
4434          e.preventDefault(),
4435          e.stopPropagation(),
4436          i.transition(100),
4437          o.transition(100),
4438          b(e),
4439          clearTimeout(f),
4440          n.transition(0),
4441          s.hide && n.css("opacity", 1),
4442          t.params.cssMode && t.$wrapperEl.css("scroll-snap-type", "none"),
4443          r("scrollbarDragStart", e);
4444      }
4445      function y(e) {
4446        const { scrollbar: s, $wrapperEl: a } = t,
4447          { $el: i, $dragEl: n } = s;
4448        h &&
4449          (e.preventDefault ? e.preventDefault() : (e.returnValue = !1),
4450          b(e),
4451          a.transition(0),
4452          i.transition(0),
4453          n.transition(0),
4454          r("scrollbarDragMove", e));
4455      }
4456      function E(e) {
4457        const s = t.params.scrollbar,
4458          { scrollbar: a, $wrapperEl: i } = t,
4459          { $el: n } = a;
4460        h &&
4461          ((h = !1),
4462          t.params.cssMode &&
4463            (t.$wrapperEl.css("scroll-snap-type", ""), i.transition("")),
4464          s.hide &&
4465            (clearTimeout(f),
4466            (f = p(() => {
4467              n.css("opacity", 0), n.transition(400);
4468            }, 1e3))),
4469          r("scrollbarDragEnd", e),
4470          s.snapOnRelease && t.slideToClosest());
4471      }
4472      function T(e) {
4473        const {
4474            scrollbar: s,
4475            touchEventsTouch: a,
4476            touchEventsDesktop: i,
4477            params: r,
4478            support: l,
4479          } = t,
4480          o = s.$el[0],
4481          d = !(!l.passiveListener || !r.passiveListeners) && {
4482            passive: !1,
4483            capture: !1,
4484          },
4485          c = !(!l.passiveListener || !r.passiveListeners) && {
4486            passive: !0,
4487            capture: !1,
4488          };
4489        if (!o) return;
4490        const p = "on" === e ? "addEventListener" : "removeEventListener";
4491        l.touch
4492          ? (o[p](a.start, x, d), o[p](a.move, y, d), o[p](a.end, E, c))
4493          : (o[p](i.start, x, d), n[p](i.move, y, d), n[p](i.end, E, c));
4494      }
4495      function C() {
4496        const { scrollbar: e, $el: s } = t;
4497        t.params.scrollbar = F(
4498          t,
4499          t.originalParams.scrollbar,
4500          t.params.scrollbar,
4501          { el: "swiper-scrollbar" }
4502        );
4503        const a = t.params.scrollbar;
4504        if (!a.el) return;
4505        let i = d(a.el);
4506        t.params.uniqueNavElements &&
4507          "string" == typeof a.el &&
4508          i.length > 1 &&
4509          1 === s.find(a.el).length &&
4510          (i = s.find(a.el));
4511        let r = i.find(`.${t.params.scrollbar.dragClass}`);
4512        0 === r.length &&
4513          ((r = d(`<div class="${t.params.scrollbar.dragClass}"></div>`)),
4514          i.append(r)),
4515          Object.assign(e, { $el: i, el: i[0], $dragEl: r, dragEl: r[0] }),
4516          a.draggable && t.params.scrollbar.el && T("on"),
4517          i &&
4518            i[t.enabled ? "removeClass" : "addClass"](
4519              t.params.scrollbar.lockClass
4520            );
4521      }
4522      function $() {
4523        t.params.scrollbar.el && T("off");
4524      }
4525      s({
4526        scrollbar: {
4527          el: null,
4528          dragSize: "auto",
4529          hide: !1,
4530          draggable: !1,
4531          snapOnRelease: !0,
4532          lockClass: "swiper-scrollbar-lock",
4533          dragClass: "swiper-scrollbar-drag",
4534        },
4535      }),
4536        (t.scrollbar = { el: null, dragEl: null, $el: null, $dragEl: null }),
4537        i("init", () => {
4538          C(), v(), g();
4539        }),
4540        i("update resize observerUpdate lock unlock", () => {
4541          v();
4542        }),
4543        i("setTranslate", () => {
4544          g();
4545        }),
4546        i("setTransition", (e, s) => {
4547          !(function (e) {
4548            t.params.scrollbar.el &&
4549              t.scrollbar.el &&
4550              t.scrollbar.$dragEl.transition(e);
4551          })(s);
4552        }),
4553        i("enable disable", () => {
4554          const { $el: e } = t.scrollbar;
4555          e &&
4556            e[t.enabled ? "removeClass" : "addClass"](
4557              t.params.scrollbar.lockClass
4558            );
4559        }),
4560        i("destroy", () => {
4561          $();
4562        }),
4563        Object.assign(t.scrollbar, {
4564          updateSize: v,
4565          setTranslate: g,
4566          init: C,
4567          destroy: $,
4568        });
4569    },
4570    function (e) {
4571      let { swiper: t, extendParams: s, on: a } = e;
4572      s({ parallax: { enabled: !1 } });
4573      const i = (e, s) => {
4574          const { rtl: a } = t,
4575            i = d(e),
4576            r = a ? -1 : 1,
4577            n = i.attr("data-swiper-parallax") || "0";
4578          let l = i.attr("data-swiper-parallax-x"),
4579            o = i.attr("data-swiper-parallax-y");
4580          const c = i.attr("data-swiper-parallax-scale"),
4581            p = i.attr("data-swiper-parallax-opacity");
4582          if (
4583            (l || o
4584              ? ((l = l || "0"), (o = o || "0"))
4585              : t.isHorizontal()
4586              ? ((l = n), (o = "0"))
4587              : ((o = n), (l = "0")),
4588            (l =
4589              l.indexOf("%") >= 0
4590                ? parseInt(l, 10) * s * r + "%"
4591                : l * s * r + "px"),
4592            (o =
4593              o.indexOf("%") >= 0 ? parseInt(o, 10) * s + "%" : o * s + "px"),
4594            null != p)
4595          ) {
4596            const e = p - (p - 1) * (1 - Math.abs(s));
4597            i[0].style.opacity = e;
4598          }
4599          if (null == c) i.transform(`translate3d(${l}, ${o}, 0px)`);
4600          else {
4601            const e = c - (c - 1) * (1 - Math.abs(s));
4602            i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`);
4603          }
4604        },
4605        r = () => {
4606          const { $el: e, slides: s, progress: a, snapGrid: r } = t;
4607          e
4608            .children(
4609              "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
4610            )
4611            .each((e) => {
4612              i(e, a);
4613            }),
4614            s.each((e, s) => {
4615              let n = e.progress;
4616              t.params.slidesPerGroup > 1 &&
4617                "auto" !== t.params.slidesPerView &&
4618                (n += Math.ceil(s / 2) - a * (r.length - 1)),
4619                (n = Math.min(Math.max(n, -1), 1)),
4620                d(e)
4621                  .find(
4622                    "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
4623                  )
4624                  .each((e) => {
4625                    i(e, n);
4626                  });
4627            });
4628        };
4629      a("beforeInit", () => {
4630        t.params.parallax.enabled &&
4631          ((t.params.watchSlidesProgress = !0),
4632          (t.originalParams.watchSlidesProgress = !0));
4633      }),
4634        a("init", () => {
4635          t.params.parallax.enabled && r();
4636        }),
4637        a("setTranslate", () => {
4638          t.params.parallax.enabled && r();
4639        }),
4640        a("setTransition", (e, s) => {
4641          t.params.parallax.enabled &&
4642            (function (e) {
4643              void 0 === e && (e = t.params.speed);
4644              const { $el: s } = t;
4645              s.find(
4646                "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
4647              ).each((t) => {
4648                const s = d(t);
4649                let a =
4650                  parseInt(s.attr("data-swiper-parallax-duration"), 10) || e;
4651                0 === e && (a = 0), s.transition(a);
4652              });
4653            })(s);
4654        });
4655    },
4656    function (e) {
4657      let { swiper: t, extendParams: s, on: a, emit: i } = e;
4658      const n = r();
4659      s({
4660        zoom: {
4661          enabled: !1,
4662          maxRatio: 3,
4663          minRatio: 1,
4664          toggle: !0,
4665          containerClass: "swiper-zoom-container",
4666          zoomedSlideClass: "swiper-slide-zoomed",
4667        },
4668      }),
4669        (t.zoom = { enabled: !1 });
4670      let l,
4671        o,
4672        c,
4673        p = 1,
4674        u = !1;
4675      const m = {
4676          $slideEl: void 0,
4677          slideWidth: void 0,
4678          slideHeight: void 0,
4679          $imageEl: void 0,
4680          $imageWrapEl: void 0,
4681          maxRatio: 3,
4682        },
4683        f = {
4684          isTouched: void 0,
4685          isMoved: void 0,
4686          currentX: void 0,
4687          currentY: void 0,
4688          minX: void 0,
4689          minY: void 0,
4690          maxX: void 0,
4691          maxY: void 0,
4692          width: void 0,
4693          height: void 0,
4694          startX: void 0,
4695          startY: void 0,
4696          touchesStart: {},
4697          touchesCurrent: {},
4698        },
4699        g = {
4700          x: void 0,
4701          y: void 0,
4702          prevPositionX: void 0,
4703          prevPositionY: void 0,
4704          prevTime: void 0,
4705        };
4706      let v = 1;
4707      function w(e) {
4708        if (e.targetTouches.length < 2) return 1;
4709        const t = e.targetTouches[0].pageX,
4710          s = e.targetTouches[0].pageY,
4711          a = e.targetTouches[1].pageX,
4712          i = e.targetTouches[1].pageY;
4713        return Math.sqrt((a - t) ** 2 + (i - s) ** 2);
4714      }
4715      function b(e) {
4716        const s = t.support,
4717          a = t.params.zoom;
4718        if (((o = !1), (c = !1), !s.gestures)) {
4719          if (
4720            "touchstart" !== e.type ||
4721            ("touchstart" === e.type && e.targetTouches.length < 2)
4722          )
4723            return;
4724          (o = !0), (m.scaleStart = w(e));
4725        }
4726        (m.$slideEl && m.$slideEl.length) ||
4727        ((m.$slideEl = d(e.target).closest(`.${t.params.slideClass}`)),
4728        0 === m.$slideEl.length && (m.$slideEl = t.slides.eq(t.activeIndex)),
4729        (m.$imageEl = m.$slideEl
4730          .find(`.${a.containerClass}`)
4731          .eq(0)
4732          .find("picture, img, svg, canvas, .swiper-zoom-target")
4733          .eq(0)),
4734        (m.$imageWrapEl = m.$imageEl.parent(`.${a.containerClass}`)),
4735        (m.maxRatio = m.$imageWrapEl.attr("data-swiper-zoom") || a.maxRatio),
4736        0 !== m.$imageWrapEl.length)
4737          ? (m.$imageEl && m.$imageEl.transition(0), (u = !0))
4738          : (m.$imageEl = void 0);
4739      }
4740      function x(e) {
4741        const s = t.support,
4742          a = t.params.zoom,
4743          i = t.zoom;
4744        if (!s.gestures) {
4745          if (
4746            "touchmove" !== e.type ||
4747            ("touchmove" === e.type && e.targetTouches.length < 2)
4748          )
4749            return;
4750          (c = !0), (m.scaleMove = w(e));
4751        }
4752        m.$imageEl && 0 !== m.$imageEl.length
4753          ? (s.gestures
4754              ? (i.scale = e.scale * p)
4755              : (i.scale = (m.scaleMove / m.scaleStart) * p),
4756            i.scale > m.maxRatio &&
4757              (i.scale = m.maxRatio - 1 + (i.scale - m.maxRatio + 1) ** 0.5),
4758            i.scale < a.minRatio &&
4759              (i.scale = a.minRatio + 1 - (a.minRatio - i.scale + 1) ** 0.5),
4760            m.$imageEl.transform(`translate3d(0,0,0) scale(${i.scale})`))
4761          : "gesturechange" === e.type && b(e);
4762      }
4763      function y(e) {
4764        const s = t.device,
4765          a = t.support,
4766          i = t.params.zoom,
4767          r = t.zoom;
4768        if (!a.gestures) {
4769          if (!o || !c) return;
4770          if (
4771            "touchend" !== e.type ||
4772            ("touchend" === e.type && e.changedTouches.length < 2 && !s.android)
4773          )
4774            return;
4775          (o = !1), (c = !1);
4776        }
4777        m.$imageEl &&
4778          0 !== m.$imageEl.length &&
4779          ((r.scale = Math.max(Math.min(r.scale, m.maxRatio), i.minRatio)),
4780          m.$imageEl
4781            .transition(t.params.speed)
4782            .transform(`translate3d(0,0,0) scale(${r.scale})`),
4783          (p = r.scale),
4784          (u = !1),
4785          1 === r.scale && (m.$slideEl = void 0));
4786      }
4787      function E(e) {
4788        const s = t.zoom;
4789        if (!m.$imageEl || 0 === m.$imageEl.length) return;
4790        if (((t.allowClick = !1), !f.isTouched || !m.$slideEl)) return;
4791        f.isMoved ||
4792          ((f.width = m.$imageEl[0].offsetWidth),
4793          (f.height = m.$imageEl[0].offsetHeight),
4794          (f.startX = h(m.$imageWrapEl[0], "x") || 0),
4795          (f.startY = h(m.$imageWrapEl[0], "y") || 0),
4796          (m.slideWidth = m.$slideEl[0].offsetWidth),
4797          (m.slideHeight = m.$slideEl[0].offsetHeight),
4798          m.$imageWrapEl.transition(0));
4799        const a = f.width * s.scale,
4800          i = f.height * s.scale;
4801        if (!(a < m.slideWidth && i < m.slideHeight)) {
4802          if (
4803            ((f.minX = Math.min(m.slideWidth / 2 - a / 2, 0)),
4804            (f.maxX = -f.minX),
4805            (f.minY = Math.min(m.slideHeight / 2 - i / 2, 0)),
4806            (f.maxY = -f.minY),
4807            (f.touchesCurrent.x =
4808              "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX),
4809            (f.touchesCurrent.y =
4810              "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY),
4811            !f.isMoved && !u)
4812          ) {
4813            if (
4814              t.isHorizontal() &&
4815              ((Math.floor(f.minX) === Math.floor(f.startX) &&
4816                f.touchesCurrent.x < f.touchesStart.x) ||
4817                (Math.floor(f.maxX) === Math.floor(f.startX) &&
4818                  f.touchesCurrent.x > f.touchesStart.x))
4819            )
4820              return void (f.isTouched = !1);
4821            if (
4822              !t.isHorizontal() &&
4823              ((Math.floor(f.minY) === Math.floor(f.startY) &&
4824                f.touchesCurrent.y < f.touchesStart.y) ||
4825                (Math.floor(f.maxY) === Math.floor(f.startY) &&
4826                  f.touchesCurrent.y > f.touchesStart.y))
4827            )
4828              return void (f.isTouched = !1);
4829          }
4830          e.cancelable && e.preventDefault(),
4831            e.stopPropagation(),
4832            (f.isMoved = !0),
4833            (f.currentX = f.touchesCurrent.x - f.touchesStart.x + f.startX),
4834            (f.currentY = f.touchesCurrent.y - f.touchesStart.y + f.startY),
4835            f.currentX < f.minX &&
4836              (f.currentX = f.minX + 1 - (f.minX - f.currentX + 1) ** 0.8),
4837            f.currentX > f.maxX &&
4838              (f.currentX = f.maxX - 1 + (f.currentX - f.maxX + 1) ** 0.8),
4839            f.currentY < f.minY &&
4840              (f.currentY = f.minY + 1 - (f.minY - f.currentY + 1) ** 0.8),
4841            f.currentY > f.maxY &&
4842              (f.currentY = f.maxY - 1 + (f.currentY - f.maxY + 1) ** 0.8),
4843            g.prevPositionX || (g.prevPositionX = f.touchesCurrent.x),
4844            g.prevPositionY || (g.prevPositionY = f.touchesCurrent.y),
4845            g.prevTime || (g.prevTime = Date.now()),
4846            (g.x =
4847              (f.touchesCurrent.x - g.prevPositionX) /
4848              (Date.now() - g.prevTime) /
4849              2),
4850            (g.y =
4851              (f.touchesCurrent.y - g.prevPositionY) /
4852              (Date.now() - g.prevTime) /
4853              2),
4854            Math.abs(f.touchesCurrent.x - g.prevPositionX) < 2 && (g.x = 0),
4855            Math.abs(f.touchesCurrent.y - g.prevPositionY) < 2 && (g.y = 0),
4856            (g.prevPositionX = f.touchesCurrent.x),
4857            (g.prevPositionY = f.touchesCurrent.y),
4858            (g.prevTime = Date.now()),
4859            m.$imageWrapEl.transform(
4860              `translate3d(${f.currentX}px, ${f.currentY}px,0)`
4861            );
4862        }
4863      }
4864      function T() {
4865        const e = t.zoom;
4866        m.$slideEl &&
4867          t.previousIndex !== t.activeIndex &&
4868          (m.$imageEl && m.$imageEl.transform("translate3d(0,0,0) scale(1)"),
4869          m.$imageWrapEl && m.$imageWrapEl.transform("translate3d(0,0,0)"),
4870          (e.scale = 1),
4871          (p = 1),
4872          (m.$slideEl = void 0),
4873          (m.$imageEl = void 0),
4874          (m.$imageWrapEl = void 0));
4875      }
4876      function C(e) {
4877        const s = t.zoom,
4878          a = t.params.zoom;
4879        if (
4880          (m.$slideEl ||
4881            (e &&
4882              e.target &&
4883              (m.$slideEl = d(e.target).closest(`.${t.params.slideClass}`)),
4884            m.$slideEl ||
4885              (t.params.virtual && t.params.virtual.enabled && t.virtual
4886                ? (m.$slideEl = t.$wrapperEl.children(
4887                    `.${t.params.slideActiveClass}`
4888                  ))
4889                : (m.$slideEl = t.slides.eq(t.activeIndex))),
4890            (m.$imageEl = m.$slideEl
4891              .find(`.${a.containerClass}`)
4892              .eq(0)
4893              .find("picture, img, svg, canvas, .swiper-zoom-target")
4894              .eq(0)),
4895            (m.$imageWrapEl = m.$imageEl.parent(`.${a.containerClass}`))),
4896          !m.$imageEl ||
4897            0 === m.$imageEl.length ||
4898            !m.$imageWrapEl ||
4899            0 === m.$imageWrapEl.length)
4900        )
4901          return;
4902        let i, r, l, o, c, u, h, g, v, w, b, x, y, E, T, C, $, S;
4903        t.params.cssMode &&
4904          ((t.wrapperEl.style.overflow = "hidden"),
4905          (t.wrapperEl.style.touchAction = "none")),
4906          m.$slideEl.addClass(`${a.zoomedSlideClass}`),
4907          void 0 === f.touchesStart.x && e
4908            ? ((i =
4909                "touchend" === e.type ? e.changedTouches[0].pageX : e.pageX),
4910              (r = "touchend" === e.type ? e.changedTouches[0].pageY : e.pageY))
4911            : ((i = f.touchesStart.x), (r = f.touchesStart.y)),
4912          (s.scale = m.$imageWrapEl.attr("data-swiper-zoom") || a.maxRatio),
4913          (p = m.$imageWrapEl.attr("data-swiper-zoom") || a.maxRatio),
4914          e
4915            ? (($ = m.$slideEl[0].offsetWidth),
4916              (S = m.$slideEl[0].offsetHeight),
4917              (l = m.$slideEl.offset().left + n.scrollX),
4918              (o = m.$slideEl.offset().top + n.scrollY),
4919              (c = l + $ / 2 - i),
4920              (u = o + S / 2 - r),
4921              (v = m.$imageEl[0].offsetWidth),
4922              (w = m.$imageEl[0].offsetHeight),
4923              (b = v * s.scale),
4924              (x = w * s.scale),
4925              (y = Math.min($ / 2 - b / 2, 0)),
4926              (E = Math.min(S / 2 - x / 2, 0)),
4927              (T = -y),
4928              (C = -E),
4929              (h = c * s.scale),
4930              (g = u * s.scale),
4931              h < y && (h = y),
4932              h > T && (h = T),
4933              g < E && (g = E),
4934              g > C && (g = C))
4935            : ((h = 0), (g = 0)),
4936          m.$imageWrapEl
4937            .transition(300)
4938            .transform(`translate3d(${h}px, ${g}px,0)`),
4939          m.$imageEl
4940            .transition(300)
4941            .transform(`translate3d(0,0,0) scale(${s.scale})`);
4942      }
4943      function $() {
4944        const e = t.zoom,
4945          s = t.params.zoom;
4946        m.$slideEl ||
4947          (t.params.virtual && t.params.virtual.enabled && t.virtual
4948            ? (m.$slideEl = t.$wrapperEl.children(
4949                `.${t.params.slideActiveClass}`
4950              ))
4951            : (m.$slideEl = t.slides.eq(t.activeIndex)),
4952          (m.$imageEl = m.$slideEl
4953            .find(`.${s.containerClass}`)
4954            .eq(0)
4955            .find("picture, img, svg, canvas, .swiper-zoom-target")
4956            .eq(0)),
4957          (m.$imageWrapEl = m.$imageEl.parent(`.${s.containerClass}`))),
4958          m.$imageEl &&
4959            0 !== m.$imageEl.length &&
4960            m.$imageWrapEl &&
4961            0 !== m.$imageWrapEl.length &&
4962            (t.params.cssMode &&
4963              ((t.wrapperEl.style.overflow = ""),
4964              (t.wrapperEl.style.touchAction = "")),
4965            (e.scale = 1),
4966            (p = 1),
4967            m.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),
4968            m.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),
4969            m.$slideEl.removeClass(`${s.zoomedSlideClass}`),
4970            (m.$slideEl = void 0));
4971      }
4972      function S(e) {
4973        const s = t.zoom;
4974        s.scale && 1 !== s.scale ? $() : C(e);
4975      }
4976      function M() {
4977        const e = t.support;
4978        return {
4979          passiveListener: !(
4980            "touchstart" !== t.touchEvents.start ||
4981            !e.passiveListener ||
4982            !t.params.passiveListeners
4983          ) && { passive: !0, capture: !1 },
4984          activeListenerWithCapture: !e.passiveListener || {
4985            passive: !1,
4986            capture: !0,
4987          },
4988        };
4989      }
4990      function P() {
4991        return `.${t.params.slideClass}`;
4992      }
4993      function k(e) {
4994        const { passiveListener: s } = M(),
4995          a = P();
4996        t.$wrapperEl[e]("gesturestart", a, b, s),
4997          t.$wrapperEl[e]("gesturechange", a, x, s),
4998          t.$wrapperEl[e]("gestureend", a, y, s);
4999      }
5000      function z() {
5001        l || ((l = !0), k("on"));
5002      }
5003      function O() {
5004        l && ((l = !1), k("off"));
5005      }
5006      function I() {
5007        const e = t.zoom;
5008        if (e.enabled) return;
5009        e.enabled = !0;
5010        const s = t.support,
5011          { passiveListener: a, activeListenerWithCapture: i } = M(),
5012          r = P();
5013        s.gestures
5014          ? (t.$wrapperEl.on(t.touchEvents.start, z, a),
5015            t.$wrapperEl.on(t.touchEvents.end, O, a))
5016          : "touchstart" === t.touchEvents.start &&
5017            (t.$wrapperEl.on(t.touchEvents.start, r, b, a),
5018            t.$wrapperEl.on(t.touchEvents.move, r, x, i),
5019            t.$wrapperEl.on(t.touchEvents.end, r, y, a),
5020            t.touchEvents.cancel &&
5021              t.$wrapperEl.on(t.touchEvents.cancel, r, y, a)),
5022          t.$wrapperEl.on(
5023            t.touchEvents.move,
5024            `.${t.params.zoom.containerClass}`,
5025            E,
5026            i
5027          );
5028      }
5029      function L() {
5030        const e = t.zoom;
5031        if (!e.enabled) return;
5032        const s = t.support;
5033        e.enabled = !1;
5034        const { passiveListener: a, activeListenerWithCapture: i } = M(),
5035          r = P();
5036        s.gestures
5037          ? (t.$wrapperEl.off(t.touchEvents.start, z, a),
5038            t.$wrapperEl.off(t.touchEvents.end, O, a))
5039          : "touchstart" === t.touchEvents.start &&
5040            (t.$wrapperEl.off(t.touchEvents.start, r, b, a),
5041            t.$wrapperEl.off(t.touchEvents.move, r, x, i),
5042            t.$wrapperEl.off(t.touchEvents.end, r, y, a),
5043            t.touchEvents.cancel &&
5044              t.$wrapperEl.off(t.touchEvents.cancel, r, y, a)),
5045          t.$wrapperEl.off(
5046            t.touchEvents.move,
5047            `.${t.params.zoom.containerClass}`,
5048            E,
5049            i
5050          );
5051      }
5052      Object.defineProperty(t.zoom, "scale", {
5053        get: () => v,
5054        set(e) {
5055          if (v !== e) {
5056            const t = m.$imageEl ? m.$imageEl[0] : void 0,
5057              s = m.$slideEl ? m.$slideEl[0] : void 0;
5058            i("zoomChange", e, t, s);
5059          }
5060          v = e;
5061        },
5062      }),
5063        a("init", () => {
5064          t.params.zoom.enabled && I();
5065        }),
5066        a("destroy", () => {
5067          L();
5068        }),
5069        a("touchStart", (e, s) => {
5070          t.zoom.enabled &&
5071            (function (e) {
5072              const s = t.device;
5073              m.$imageEl &&
5074                0 !== m.$imageEl.length &&
5075                (f.isTouched ||
5076                  (s.android && e.cancelable && e.preventDefault(),
5077                  (f.isTouched = !0),
5078                  (f.touchesStart.x =
5079                    "touchstart" === e.type
5080                      ? e.targetTouches[0].pageX
5081                      : e.pageX),
5082                  (f.touchesStart.y =
5083                    "touchstart" === e.type
5084                      ? e.targetTouches[0].pageY
5085                      : e.pageY)));
5086            })(s);
5087        }),
5088        a("touchEnd", (e, s) => {
5089          t.zoom.enabled &&
5090            (function () {
5091              const e = t.zoom;
5092              if (!m.$imageEl || 0 === m.$imageEl.length) return;
5093              if (!f.isTouched || !f.isMoved)
5094                return (f.isTouched = !1), void (f.isMoved = !1);
5095              (f.isTouched = !1), (f.isMoved = !1);
5096              let s = 300,
5097                a = 300;
5098              const i = g.x * s,
5099                r = f.currentX + i,
5100                n = g.y * a,
5101                l = f.currentY + n;
5102              0 !== g.x && (s = Math.abs((r - f.currentX) / g.x)),
5103                0 !== g.y && (a = Math.abs((l - f.currentY) / g.y));
5104              const o = Math.max(s, a);
5105              (f.currentX = r), (f.currentY = l);
5106              const d = f.width * e.scale,
5107                c = f.height * e.scale;
5108              (f.minX = Math.min(m.slideWidth / 2 - d / 2, 0)),
5109                (f.maxX = -f.minX),
5110                (f.minY = Math.min(m.slideHeight / 2 - c / 2, 0)),
5111                (f.maxY = -f.minY),
5112                (f.currentX = Math.max(Math.min(f.currentX, f.maxX), f.minX)),
5113                (f.currentY = Math.max(Math.min(f.currentY, f.maxY), f.minY)),
5114                m.$imageWrapEl
5115                  .transition(o)
5116                  .transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`);
5117            })();
5118        }),
5119        a("doubleTap", (e, s) => {
5120          !t.animating &&
5121            t.params.zoom.enabled &&
5122            t.zoom.enabled &&
5123            t.params.zoom.toggle &&
5124            S(s);
5125        }),
5126        a("transitionEnd", () => {
5127          t.zoom.enabled && t.params.zoom.enabled && T();
5128        }),
5129        a("slideChange", () => {
5130          t.zoom.enabled && t.params.zoom.enabled && t.params.cssMode && T();
5131        }),
5132        Object.assign(t.zoom, {
5133          enable: I,
5134          disable: L,
5135          in: C,
5136          out: $,
5137          toggle: S,
5138        });
5139    },
5140    function (e) {
5141      let { swiper: t, extendParams: s, on: a, emit: i } = e;
5142      s({
5143        lazy: {
5144          checkInView: !1,
5145          enabled: !1,
5146          loadPrevNext: !1,
5147          loadPrevNextAmount: 1,
5148          loadOnTransitionStart: !1,
5149          scrollingElement: "",
5150          elementClass: "swiper-lazy",
5151          loadingClass: "swiper-lazy-loading",
5152          loadedClass: "swiper-lazy-loaded",
5153          preloaderClass: "swiper-lazy-preloader",
5154        },
5155      }),
5156        (t.lazy = {});
5157      let n = !1,
5158        l = !1;
5159      function o(e, s) {
5160        void 0 === s && (s = !0);
5161        const a = t.params.lazy;
5162        if (void 0 === e) return;
5163        if (0 === t.slides.length) return;
5164        const r =
5165            t.virtual && t.params.virtual.enabled
5166              ? t.$wrapperEl.children(
5167                  `.${t.params.slideClass}[data-swiper-slide-index="${e}"]`
5168                )
5169              : t.slides.eq(e),
5170          n = r.find(
5171            `.${a.elementClass}:not(.${a.loadedClass}):not(.${a.loadingClass})`
5172          );
5173        !r.hasClass(a.elementClass) ||
5174          r.hasClass(a.loadedClass) ||
5175          r.hasClass(a.loadingClass) ||
5176          n.push(r[0]),
5177          0 !== n.length &&
5178            n.each((e) => {
5179              const n = d(e);
5180              n.addClass(a.loadingClass);
5181              const l = n.attr("data-background"),
5182                c = n.attr("data-src"),
5183                p = n.attr("data-srcset"),
5184                u = n.attr("data-sizes"),
5185                h = n.parent("picture");
5186              t.loadImage(n[0], c || l, p, u, !1, () => {
5187                if (null != t && t && (!t || t.params) && !t.destroyed) {
5188                  if (
5189                    (l
5190                      ? (n.css("background-image", `url("${l}")`),
5191                        n.removeAttr("data-background"))
5192                      : (p &&
5193                          (n.attr("srcset", p), n.removeAttr("data-srcset")),
5194                        u && (n.attr("sizes", u), n.removeAttr("data-sizes")),
5195                        h.length &&
5196                          h.children("source").each((e) => {
5197                            const t = d(e);
5198                            t.attr("data-srcset") &&
5199                              (t.attr("srcset", t.attr("data-srcset")),
5200                              t.removeAttr("data-srcset"));
5201                          }),
5202                        c && (n.attr("src", c), n.removeAttr("data-src"))),
5203                    n.addClass(a.loadedClass).removeClass(a.loadingClass),
5204                    r.find(`.${a.preloaderClass}`).remove(),
5205                    t.params.loop && s)
5206                  ) {
5207                    const e = r.attr("data-swiper-slide-index");
5208                    r.hasClass(t.params.slideDuplicateClass)
5209                      ? o(
5210                          t.$wrapperEl
5211                            .children(
5212                              `[data-swiper-slide-index="${e}"]:not(.${t.params.slideDuplicateClass})`
5213                            )
5214                            .index(),
5215                          !1
5216                        )
5217                      : o(
5218                          t.$wrapperEl
5219                            .children(
5220                              `.${t.params.slideDuplicateClass}[data-swiper-slide-index="${e}"]`
5221                            )
5222                            .index(),
5223                          !1
5224                        );
5225                  }
5226                  i("lazyImageReady", r[0], n[0]),
5227                    t.params.autoHeight && t.updateAutoHeight();
5228                }
5229              }),
5230                i("lazyImageLoad", r[0], n[0]);
5231            });
5232      }
5233      function c() {
5234        const { $wrapperEl: e, params: s, slides: a, activeIndex: i } = t,
5235          r = t.virtual && s.virtual.enabled,
5236          n = s.lazy;
5237        let c = s.slidesPerView;
5238        function p(t) {
5239          if (r) {
5240            if (
5241              e.children(`.${s.slideClass}[data-swiper-slide-index="${t}"]`)
5242                .length
5243            )
5244              return !0;
5245          } else if (a[t]) return !0;
5246          return !1;
5247        }
5248        function u(e) {
5249          return r ? d(e).attr("data-swiper-slide-index") : d(e).index();
5250        }
5251        if (
5252          ("auto" === c && (c = 0), l || (l = !0), t.params.watchSlidesProgress)
5253        )
5254          e.children(`.${s.slideVisibleClass}`).each((e) => {
5255            o(r ? d(e).attr("data-swiper-slide-index") : d(e).index());
5256          });
5257        else if (c > 1) for (let e = i; e < i + c; e += 1) p(e) && o(e);
5258        else o(i);
5259        if (n.loadPrevNext)
5260          if (c > 1 || (n.loadPrevNextAmount && n.loadPrevNextAmount > 1)) {
5261            const e = n.loadPrevNextAmount,
5262              t = c,
5263              s = Math.min(i + t + Math.max(e, t), a.length),
5264              r = Math.max(i - Math.max(t, e), 0);
5265            for (let e = i + c; e < s; e += 1) p(e) && o(e);
5266            for (let e = r; e < i; e += 1) p(e) && o(e);
5267          } else {
5268            const t = e.children(`.${s.slideNextClass}`);
5269            t.length > 0 && o(u(t));
5270            const a = e.children(`.${s.slidePrevClass}`);
5271            a.length >
5271 0 && o(u(a));
5272          }
5273      }
5274      function p() {
5275        const e = r();
5276        if (!t || t.destroyed) return;
5277        const s = t.params.lazy.scrollingElement
5278            ? d(t.params.lazy.scrollingElement)
5279            : d(e),
5280          a = s[0] === e,
5281          i = a ? e.innerWidth : s[0].offsetWidth,
5282          l = a ? e.innerHeight : s[0].offsetHeight,
5283          o = t.$el.offset(),
5284          { rtlTranslate: u } = t;
5285        let h = !1;
5286        u && (o.left -= t.$el[0].scrollLeft);
5287        const m = [
5288          [o.left, o.top],
5289          [o.left + t.width, o.top],
5290          [o.left, o.top + t.height],
5291          [o.left + t.width, o.top + t.height],
5292        ];
5293        for (let e = 0; e < m.length; e += 1) {
5294          const t = m[e];
5295          if (t[0] >= 0 && t[0] <= i && t[1] >= 0 && t[1] <= l) {
5296            if (0 === t[0] && 0 === t[1]) continue;
5297            h = !0;
5298          }
5299        }
5300        const f = !(
5301          "touchstart" !== t.touchEvents.start ||
5302          !t.support.passiveListener ||
5303          !t.params.passiveListeners
5304        ) && { passive: !0, capture: !1 };
5305        h
5306          ? (c(), s.off("scroll", p, f))
5307          : n || ((n = !0), s.on("scroll", p, f));
5308      }
5309      a("beforeInit", () => {
5310        t.params.lazy.enabled &&
5311          t.params.preloadImages &&
5312          (t.params.preloadImages = !1);
5313      }),
5314        a("init", () => {
5315          t.params.lazy.enabled && (t.params.lazy.checkInView ? p() : c());
5316        }),
5317        a("scroll", () => {
5318          t.params.freeMode &&
5319            t.params.freeMode.enabled &&
5320            !t.params.freeMode.sticky &&
5321            c();
5322        }),
5323        a("scrollbarDragMove resize _freeModeNoMomentumRelease", () => {
5324          t.params.lazy.enabled && (t.params.lazy.checkInView ? p() : c());
5325        }),
5326        a("transitionStart", () => {
5327          t.params.lazy.enabled &&
5328            (t.params.lazy.loadOnTransitionStart ||
5329              (!t.params.lazy.loadOnTransitionStart && !l)) &&
5330            (t.params.lazy.checkInView ? p() : c());
5331        }),
5332        a("transitionEnd", () => {
5333          t.params.lazy.enabled &&
5334            !t.params.lazy.loadOnTransitionStart &&
5335            (t.params.lazy.checkInView ? p() : c());
5336        }),
5337        a("slideChange", () => {
5338          const {
5339            lazy: e,
5340            cssMode: s,
5341            watchSlidesProgress: a,
5342            touchReleaseOnEdges: i,
5343            resistanceRatio: r,
5344          } = t.params;
5345          e.enabled && (s || (a && (i || 0 === r))) && c();
5346        }),
5347        Object.assign(t.lazy, { load: c, loadInSlide: o });
5348    },
5349    function (e) {
5350      let { swiper: t, extendParams: s, on: a } = e;
5351      function i(e, t) {
5352        const s = (function () {
5353          let e, t, s;
5354          return (a, i) => {
5355            for (t = -1, e = a.length; e - t > 1; )
5356              (s = (e + t) >> 1), a[s] <= i ? (t = s) : (e = s);
5357            return e;
5358          };
5359        })();
5360        let a, i;
5361        return (
5362          (this.x = e),
5363          (this.y = t),
5364          (this.lastIndex = e.length - 1),
5365          (this.interpolate = function (e) {
5366            return e
5367              ? ((i = s(this.x, e)),
5368                (a = i - 1),
5369                ((e - this.x[a]) * (this.y[i] - this.y[a])) /
5370                  (this.x[i] - this.x[a]) +
5371                  this.y[a])
5372              : 0;
5373          }),
5374          this
5375        );
5376      }
5377      function r() {
5378        t.controller.control &&
5379          t.controller.spline &&
5380          ((t.controller.spline = void 0), delete t.controller.spline);
5381      }
5382      s({ controller: { control: void 0, inverse: !1, by: "slide" } }),
5383        (t.controller = { control: void 0 }),
5384        a("beforeInit", () => {
5385          t.controller.control = t.params.controller.control;
5386        }),
5387        a("update", () => {
5388          r();
5389        }),
5390        a("resize", () => {
5391          r();
5392        }),
5393        a("observerUpdate", () => {
5394          r();
5395        }),
5396        a("setTranslate", (e, s, a) => {
5397          t.controller.control && t.controller.setTranslate(s, a);
5398        }),
5399        a("setTransition", (e, s, a) => {
5400          t.controller.control && t.controller.setTransition(s, a);
5401        }),
5402        Object.assign(t.controller, {
5403          setTranslate: function (e, s) {
5404            const a = t.controller.control;
5405            let r, n;
5406            const l = t.constructor;
5407            function o(e) {
5408              const s = t.rtlTranslate ? -t.translate : t.translate;
5409              "slide" === t.params.controller.by &&
5410                ((function (e) {
5411                  t.controller.spline ||
5412                    (t.controller.spline = t.params.loop
5413                      ? new i(t.slidesGrid, e.slidesGrid)
5414                      : new i(t.snapGrid, e.snapGrid));
5415                })(e),
5416                (n = -t.controller.spline.interpolate(-s))),
5417                (n && "container" !== t.params.controller.by) ||
5418                  ((r =
5419                    (e.maxTranslate() - e.minTranslate()) /
5420                    (t.maxTranslate() - t.minTranslate())),
5421                  (n = (s - t.minTranslate()) * r + e.minTranslate())),
5422                t.params.controller.inverse && (n = e.maxTranslate() - n),
5423                e.updateProgress(n),
5424                e.setTranslate(n, t),
5425                e.updateActiveIndex(),
5426                e.updateSlidesClasses();
5427            }
5428            if (Array.isArray(a))
5429              for (let e = 0; e < a.length; e += 1)
5430                a[e] !== s && a[e] instanceof l && o(a[e]);
5431            else a instanceof l && s !== a && o(a);
5432          },
5433          setTransition: function (e, s) {
5434            const a = t.constructor,
5435              i = t.controller.control;
5436            let r;
5437            function n(s) {
5438              s.setTransition(e, t),
5439                0 !== e &&
5440                  (s.transitionStart(),
5441                  s.params.autoHeight &&
5442                    p(() => {
5443                      s.updateAutoHeight();
5444                    }),
5445                  s.$wrapperEl.transitionEnd(() => {
5446                    i &&
5447                      (s.params.loop &&
5448                        "slide" === t.params.controller.by &&
5449                        s.loopFix(),
5450                      s.transitionEnd());
5451                  }));
5452            }
5453            if (Array.isArray(i))
5454              for (r = 0; r < i.length; r += 1)
5455                i[r] !== s && i[r] instanceof a && n(i[r]);
5456            else i instanceof a && s !== i && n(i);
5457          },
5458        });
5459    },
5460    function (e) {
5461      let { swiper: t, extendParams: s, on: a } = e;
5462      s({
5463        a11y: {
5464          enabled: !0,
5465          notificationClass: "swiper-notification",
5466          prevSlideMessage: "Previous slide",
5467          nextSlideMessage: "Next slide",
5468          firstSlideMessage: "This is the first slide",
5469          lastSlideMessage: "This is the last slide",
5470          paginationBulletMessage: "Go to slide {{index}}",
5471          slideLabelMessage: "{{index}} / {{slidesLength}}",
5472          containerMessage: null,
5473          containerRoleDescriptionMessage: null,
5474          itemRoleDescriptionMessage: null,
5475          slideRole: "group",
5476        },
5477      });
5478      let i = null;
5479      function r(e) {
5480        const t = i;
5481        0 !== t.length && (t.html(""), t.html(e));
5482      }
5483      function n(e) {
5484        e.attr("tabIndex", "0");
5485      }
5486      function l(e) {
5487        e.attr("tabIndex", "-1");
5488      }
5489      function o(e, t) {
5490        e.attr("role", t);
5491      }
5492      function c(e, t) {
5493        e.attr("aria-roledescription", t);
5494      }
5495      function p(e, t) {
5496        e.attr("aria-label", t);
5497      }
5498      function u(e) {
5499        e.attr("aria-disabled", !0);
5500      }
5501      function h(e) {
5502        e.attr("aria-disabled", !1);
5503      }
5504      function m(e) {
5505        if (13 !== e.keyCode && 32 !== e.keyCode) return;
5506        const s = t.params.a11y,
5507          a = d(e.target);
5508        t.navigation &&
5509          t.navigation.$nextEl &&
5510          a.is(t.navigation.$nextEl) &&
5511          ((t.isEnd && !t.params.loop) || t.slideNext(),
5512          t.isEnd ? r(s.lastSlideMessage) : r(s.nextSlideMessage)),
5513          t.navigation &&
5514            t.navigation.$prevEl &&
5515            a.is(t.navigation.$prevEl) &&
5516            ((t.isBeginning && !t.params.loop) || t.slidePrev(),
5517            t.isBeginning ? r(s.firstSlideMessage) : r(s.prevSlideMessage)),
5518          t.pagination &&
5519            a.is(U(t.params.pagination.bulletClass)) &&
5520            a[0].click();
5521      }
5522      function f() {
5523        return (
5524          t.pagination && t.pagination.bullets && t.pagination.bullets.length
5525        );
5526      }
5527      function g() {
5528        return f() && t.params.pagination.clickable;
5529      }
5530      const v = (e, t, s) => {
5531          n(e),
5532            "BUTTON" !== e[0].tagName && (o(e, "button"), e.on("key
5532down", m)),
5533            p(e, s),
5534            (function (e, t) {
5535              e.attr("aria-controls", t);
5536            })(e, t);
5537        },
5538        w = (e) => {
5539          const s = e.target.closest(`.${t.params.slideClass}`);
5540          if (!s || !t.slides.includes(s)) return;
5541          const a = t.slides.indexOf(s) === t.activeIndex,
5542            i =
5543              t.params.watchSlidesProgress &&
5544              t.visibleSlides &&
5545              t.visibleSlides.includes(s);
5546          a || i || t.slideTo(t.slides.indexOf(s), 0);
5547        };
5548      a("beforeInit", () => {
5549        i = d(
5550          `<span class="${t.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`
5551        );
5552      }),
5553        a("afterInit", () => {
5554          t.params.a11y.enabled &&
5555            (function () {
5556              const e = t.params.a11y;
5557              t.$el.append(i);
5558              const s = t.$el;
5559              e.containerRoleDescriptionMessage &&
5560                c(s, e.containerRoleDescriptionMessage),
5561                e.containerMessage && p(s, e.containerMessage);
5562              const a = t.$wrapperEl,
5563                r =
5564                  a.attr("id") ||
5565                  `swiper-wrapper-${
5566                    ((n = 16),
5567                    void 0 === n && (n = 16),
5568                    "x"
5569                      .repeat(n)
5570                      .replace(/x/g, () =>
5571                        Math.round(16 * Math.random()).toString(16)
5572                      ))
5573                  }`;
5574              var n;
5575              const l =
5576                t.params.autoplay && t.params.autoplay.enabled
5577                  ? "off"
5578                  : "polite";
5579              var u;
5580              (u = r),
5581                a.attr("id", u),
5582                (function (e, t) {
5583                  e.attr("aria-live", t);
5584                })(a, l),
5585                e.itemRoleDescriptionMessage &&
5586                  c(d(t.slides), e.itemRoleDescriptionMessage),
5587                o(d(t.slides), e.slideRole);
5588              const h = t.params.loop
5589                ? t.slides.filter(
5590                    (e) => !e.classList.contains(t.params.slideDuplicateClass)
5591                  ).length
5592                : t.slides.length;
5593              let f, b;
5594              t.slides.each((s, a) => {
5595                const i = d(s),
5596                  r = t.params.loop
5597                    ? parseInt(i.attr("data-swiper-slide-index"), 10)
5598                    : a;
5599                p(
5600                  i,
5601                  e.slideLabelMessage
5602                    .replace(/\{\{index\}\}/, r + 1)
5603                    .replace(/\{\{slidesLength\}\}/, h)
5604                );
5605              }),
5606                t.navigation &&
5607                  t.navigation.$nextEl &&
5608                  (f = t.navigation.$nextEl),
5609                t.navigation &&
5610                  t.navigation.$prevEl &&
5611                  (b = t.navigation.$prevEl),
5612                f && f.length && v(f, r, e.nextSlideMessage),
5613                b && b.length && v(b, r, e.prevSlideMessage),
5614                g() &&
5615                  t.pagination.$el.on(
5616                    "keydown",
5617                    U(t.params.pagination.bulletClass),
5618                    m
5619                  ),
5620                t.$el.on("focus", w, !0);
5621            })();
5622        }),
5623        a("fromEdge toEdge afterInit lock unlock", () => {
5624          t.params.a11y.enabled &&
5625            (function () {
5626              if (t.params.loop || t.params.rewind || !t.navigation) return;
5627              const { $nextEl: e, $prevEl: s } = t.navigation;
5628              s &&
5629                s.length > 0 &&
5630                (t.isBeginning ? (u(s), l(s)) : (h(s), n(s))),
5631                e && e.length > 0 && (t.isEnd ? (u(e), l(e)) : (h(e), n(e)));
5632            })();
5633        }),
5634        a("paginationUpdate", () => {
5635          t.params.a11y.enabled &&
5636            (function () {
5637              const e = t.params.a11y;
5638              f() &&
5639                t.pagination.bullets.each((s) => {
5640                  const a = d(s);
5641                  t.params.pagination.clickable &&
5642                    (n(a),
5643                    t.params.pagination.renderBullet ||
5644                      (o(a, "button"),
5645                      p(
5646                        a,
5647                        e.paginationBulletMessage.replace(
5648                          /\{\{index\}\}/,
5649                          a.index() + 1
5650                        )
5651                      ))),
5652                    a.is(`.${t.params.pagination.bulletActiveClass}`)
5653                      ? a.attr("aria-current", "true")
5654                      : a.removeAttr("aria-current");
5655                });
5656            })();
5657        }),
5658        a("destroy", () => {
5659          t.params.a11y.enabled &&
5660            (function () {
5661              let e, s;
5662              i && i.length > 0 && i.remove(),
5663                t.navigation &&
5664                  t.navigation.$nextEl &&
5665                  (e = t.navigation.$nextEl),
5666                t.navigation &&
5667                  t.navigation.$prevEl &&
5668                  (s = t.navigation.$prevEl),
5669                e && e.off("keydown", m),
5670                s && s.off("keydown", m),
5671                g() &&
5672                  t.pagination.$el.off(
5673                    "keydown",
5674                    U(t.params.pagination.bulletClass),
5675                    m
5676                  ),
5677                t.$el.off("focus", w, !0);
5678            })();
5679        });
5680    },
5681    function (e) {
5682      let { swiper: t, extendParams: s, on: a } = e;
5683      s({
5684        history: { enabled: !1, root: "", replaceState: !1, key: "slides" },
5685      });
5686      let i = !1,
5687        n = {};
5688      const l = (e) =>
5689          e
5690            .toString()
5691            .replace(/\s+/g, "-")
5692            .replace(/[^\w-]+/g, "")
5693            .replace(/--+/g, "-")
5694            .replace(/^-+/, "")
5695            .replace(/-+$/, ""),
5696        o = (e) => {
5697          const t = r();
5698          let s;
5699          s = e ? new URL(e) : t.location;
5700          const a = s.pathname
5701              .slice(1)
5702              .split("/")
5703              .filter((e) => "" !== e),
5704            i = a.length;
5705          return { key: a[i - 2], value: a[i - 1] };
5706        },
5707        d = (e, s) => {
5708          const a = r();
5709          if (!i || !t.params.history.enabled) return;
5710          let n;
5711          n = t.params.url ? new URL(t.params.url) : a.location;
5712          const o = t.slides.eq(s);
5713          let d = l(o.attr("data-history"));
5714          if (t.params.history.root.length > 0) {
5715            let s = t.params.history.root;
5716            "/" === s[s.length - 1] && (s = s.slice(0, s.length - 1)),
5717              (d = `${s}/${e}/${d}`);
5718          } else n.pathname.includes(e) || (d = `${e}/${d}
5718`);
5719          const c = a.history.state;
5720          (c && c.value === d) ||
5721            (t.params.history.replaceState
5722              ? a.history.replaceState({ value: d }, null, d)
5723              : a.history.pushState({ value: d }, null, d));
5724        },
5725        c = (e, s, a) => {
5726          if (s)
5727            for (let i = 0, r = t.slides.length; i < r; i += 1) {
5728              const r = t.slides.eq(i);
5729              if (
5730                l(r.attr("data-history")) === s &&
5731                !r.hasClass(t.params.slideDuplicateClass)
5732              ) {
5733                const s = r.index();
5734                t.slideTo(s, e, a);
5735              }
5736            }
5737          else t.slideTo(0, e, a);
5738        },
5739        p = () => {
5740          (n = o(t.params.url)), c(t.params.speed, t.paths.value, !1);
5741        };
5742      a("init", () => {
5743        t.params.history.enabled &&
5744          (() => {
5745            const e = r();
5746            if (t.params.history) {
5747              if (!e.history || !e.history.pushState)
5748                return (
5749                  (t.params.history.enabled = !1),
5750                  void (t.params.hashNavigation.enabled = !0)
5751                );
5752              (i = !0),
5753                (n = o(t.params.url)),
5754                (n.key || n.value) &&
5755                  (c(0, n.value, t.params.runCallbacksOnInit),
5756                  t.params.history.replaceState ||
5757                    e.addEventListener("popstate", p));
5758            }
5759          })();
5760      }),
5761        a("destroy", () => {
5762          t.params.history.enabled &&
5763            (() => {
5764              const e = r();
5765              t.params.history.replaceState ||
5766                e.removeEventListener("popstate", p);
5767            })();
5768        }),
5769        a("transitionEnd _freeModeNoMomentumRelease", () => {
5770          i && d(t.params.history.key, t.activeIndex);
5771        }),
5772        a("slideChange", () => {
5773          i && t.params.cssMode && d(t.params.history.key, t.activeIndex);
5774        });
5775    },
5776    function (e) {
5777      let { swiper: t, extendParams: s, emit: i, on: n } = e,
5778        l = !1;
5779      const o = a(),
5780        c = r();
5781      s({ hashNavigation: { enabled: !1, replaceState: !1, watchState: !1 } });
5782      const p = () => {
5783          i("hashChange");
5784          const e = o.location.hash.replace("#", "");
5785          if (e !== t.slides.eq(t.activeIndex).attr("data-hash")) {
5786            const s = t.$wrapperEl
5787              .children(`.${t.params.slideClass}[data-hash="${e}"]`)
5788              .index();
5789            if (void 0 === s) return;
5790            t.slideTo(s);
5791          }
5792        },
5793        u = () => {
5794          if (l && t.params.hashNavigation.enabled)
5795            if (
5796              t.params.hashNavigation.replaceState &&
5797              c.history &&
5798              c.history.replaceState
5799            )
5800              c.history.replaceState(
5801                null,
5802                null,
5803                `#${t.slides.eq(t.activeIndex).attr("data-hash")}` || ""
5804              ),
5805                i("hashSet");
5806            else {
5807              const e = t.slides.eq(t.activeIndex),
5808                s = e.attr("data-hash") || e.attr("data-history");
5809              (o.location.hash = s || ""), i("hashSet");
5810            }
5811        };
5812      n("init", () => {
5813        t.params.hashNavigation.enabled &&
5814          (() => {
5815            if (
5816              !t.params.hashNavigation.enabled ||
5817              (t.params.history && t.params.history.enabled)
5818            )
5819              return;
5820            l = !0;
5821            const e = o.location.hash.replace("#", "");
5822            if (e) {
5823              const s = 0;
5824              for (let a = 0, i = t.slides.length; a < i; a += 1) {
5825                const i = t.slides.eq(a);
5826                if (
5827                  (i.attr("data-hash") || i.attr("data-history")) === e &&
5828                  !i.hasClass(t.params.slideDuplicateClass)
5829                ) {
5830                  const e = i.index();
5831                  t.slideTo(e, s, t.params.runCallbacksOnInit, !0);
5832                }
5833              }
5834            }
5835            t.params.hashNavigation.watchState && d(c).on("hashchange", p);
5836          })();
5837      }),
5838        n("destroy", () => {
5839          t.params.hashNavigation.enabled &&
5840            t.params.hashNavigation.watchState &&
5841            d(c).off("hashchange", p);
5842        }),
5843        n("transitionEnd _freeModeNoMomentumRelease", () => {
5844          l && u();
5845        }),
5846        n("slideChange", () => {
5847          l && t.params.cssMode && u();
5848        });
5849    },
5850    function (e) {
5851      let t,
5852        { swiper: s, extendParams: i, on: r, emit: n } = e;
5853      function l() {
5854        const e = s.slides.eq(s.activeIndex);
5855        let a = s.params.autoplay.delay;
5856        e.attr("data-swiper-autoplay") &&
5857          (a = e.attr("data-swiper-autoplay") || s.params.autoplay.delay),
5858          clearTimeout(t),
5859          (t = p(() => {
5860            let e;
5861            s.params.autoplay.reverseDirection
5862              ? s.params.loop
5863                ? (s.loopFix(),
5864                  (e = s.slidePrev(s.params.speed, !0, !0)),
5865                  n("autoplay"))
5866                : s.isBeginning
5867                ? s.params.autoplay.stopOnLastSlide
5868                  ? d()
5869                  : ((e = s.slideTo(
5870                      s.slides.length - 1,
5871                      s.params.speed,
5872                      !0,
5873                      !0
5874                    )),
5875                    n("autoplay"))
5876                : ((e = s.slidePrev(s.params.speed, !0, !0)), n("autoplay"))
5877              : s.params.loop
5878              ? (s.loopFix(),
5879                (e = s.slideNext(s.params.speed, !0, !0)),
5880                n("autoplay"))
5881              : s.isEnd
5882              ? s.params.autoplay.stopOnLastSlide
5883                ? d()
5884                : ((e = s.slideTo(0, s.params.speed, !0, !0)), n("autoplay"))
5885              : ((e = s.slideNext(s.params.speed, !0, !0)), n("autoplay")),
5886              ((s.params.cssMode && s.autoplay.running) || !1 === e) && l();
5887          }, a));
5888      }
5889      function o() {
5890        return (
5891          void 0 === t &&
5892          !s.autoplay.running &&
5893          ((s.autoplay.running = !0), n("autoplayStart"), l(), !0)
5894        );
5895      }
5896      function d() {
5897        return (
5898          !!s.autoplay.running &&
5899          void 0 !== t &&
5900          (t && (clearTimeout(t), (t = void 0)),
5901          (s.autoplay.running = !1),
5902          n("autoplayStop"),
5903          !0)
5904        );
5905      }
5906      function c(e) {
5907        s.autoplay.running &&
5908          (s.autoplay.paused ||
5909            (t && clearTimeout(t),
5910            (s.autoplay.paused = !0),
5911            0 !== e && s.params.autoplay.waitForTransition
5912              ? ["transitionend", "webkitTransitionEnd"].forEach((e) => {
5913                  s.$wrapperEl[0].addEventListener(e, h);
5914                })
5915              : ((s.autoplay.paused = !1), l())));
5916      }
5917      function u() {
5918        const e = a();
5919        "hidden" === e.visibilityState && s.autoplay.running && c(),
5920          "visible" === e.visibilityState &&
5921            s.autoplay.paused &&
5922            (l(), (s.autoplay.paused = !1));
5923      }
5924      function h(e) {
5925        s &&
5926          !s.destroyed &&
5927          s.$wrapperEl &&
5928          e.target === s.$wrapperEl[0] &&
5929          (["transitionend", "webkitTransitionEnd"].forEach((e) => {
5930            s.$wrapperEl[0].removeEventListener(e, h);
5931          }),
5932          (s.autoplay.paused = !1),
5933          s.autoplay.running ? l() : d());
5934      }
5935      function m() {
5936        s.params.autoplay.disableOnInteraction
5937          ? d()
5938          : (n("autoplayPause"), c()),
5939          ["transitionend", "webkitTransitionEnd"].forEach((e) => {
5940            s.$wrapperEl[0].removeEventListener(e, h);
5941          });
5942      }
5943      function f() {
5944        s.params.autoplay.disableOnInteraction ||
5945          ((s.autoplay.paused = !1), n("autoplayResume"), l());
5946      }
5947      (s.autoplay = { running: !1, paused: !1 }),
5948        i({
5949          autoplay: {
5950            enabled: !1,
5951            delay: 3e3,
5952            waitForTransition: !0,
5953            disableOnInteraction: !0,
5954            stopOnLastSlide: !1,
5955            reverseDirection: !1,
5956            pauseOnMouseEnter: !1,
5957          },
5958        }),
5959        r("init", () => {
5960          s.params.autoplay.enabled &&
5961            (o(),
5962            a().addEventListener("visibilitychange", u),
5963            s.params.autoplay.pauseOnMouseEnter &&
5964              (s.$el.on("mouseenter", m), s.$el.on("mouseleave", f)));
5965        }),
5966        r("beforeTransitionStart", (e, t, a) => {
5967          s.autoplay.running &&
5968            (a || !s.params.autoplay.disableOnInteraction
5969              ? s.autoplay.pause(t)
5970              : d());
5971        }),
5972        r("sliderFirstMove", () => {
5973          s.autoplay.running &&
5974            (s.params.autoplay.disableOnInteraction ? d() : c());
5975        }),
5976        r("touchEnd", () => {
5977          s.params.cssMode &&
5978            s.autoplay.paused &&
5979            !s.params.autoplay.disableOnInteraction &&
5980            l();
5981        }),
5982        r("destroy", () => {
5983          s.$el.off("mouseenter", m),
5984            s.$el.off("mouseleave", f),
5985            s.autoplay.running && d(),
5986            a().removeEventListener("visibilitychange", u);
5987        }),
5988        Object.assign(s.autoplay, { pause: c, run: l, start: o, stop: d });
5989    },
5990    function (e) {
5991      let { swiper: t, extendParams: s, on: a } = e;
5992      s({
5993        thumbs: {
5994          swiper: null,
5995          multipleActiveThumbs: !0,
5996          autoScrollOffset: 0,
5997          slideThumbActiveClass: "swiper-slide-thumb-active",
5998          thumbsContainerClass: "swiper-thumbs",
5999        },
6000      });
6001      let i = !1,
6002        r = !1;
6003      function n() {
6004        const e = t.thumbs.swiper;
6005        if (!e) return;
6006        const s = e.clickedIndex,
6007          a = e.clickedSlide;
6008        if (a && d(a).hasClass(t.params.thumbs.slideThumbActiveClass)) return;
6009        if (null == s) return;
6010        let i;
6011        if (
6012          ((i = e.params.loop
6013            ? parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"), 10)
6014            : s),
6015          t.params.loop)
6016        ) {
6017          let e = t.activeIndex;
6018          t.slides.eq(e).hasClass(t.params.slideDuplicateClass) &&
6019            (t.loopFix(),
6020            (t._clientLeft = t.$wrapperEl[0].clientLeft),
6021            (e = t.activeIndex));
6022          const s = t.slides
6023              .eq(e)
6024              .prevAll(`[data-swiper-slide-index="${i}"]`)
6025              .eq(0)
6026              .index(),
6027            a = t.slides
6028              .eq(e)
6029              .nextAll(`[data-swiper-slide-index="${i}"]`)
6030              .eq(0)
6031              .index();
6032          i = void 0 === s ? a : void 0 === a ? s : a - e < e - s ? a : s;
6033        }
6034        t.slideTo(i);
6035      }
6036      function l() {
6037        const { thumbs: e } = t.params;
6038        if (i) return !1;
6039        i = !0;
6040        const s = t.constructor;
6041        if (e.swiper instanceof s)
6042          (t.thumbs.swiper = e.swiper),
6043            Object.assign(t.thumbs.swiper.originalParams, {
6044              watchSlidesProgress: !0,
6045              slideToClickedSlide: !1,
6046            }),
6047            Object.assign(t.thumbs.swiper.params, {
6048              watchSlidesProgress: !0,
6049              slideToClickedSlide: !1,
6050            });
6051        else if (m(e.swiper)) {
6052          const a = Object.assign({}, e.swiper);
6053          Object.assign(a, {
6054            watchSlidesProgress: !0,
6055            slideToClickedSlide: !1,
6056          }),
6057            (t.thumbs.swiper = new s(a)),
6058            (r = !0);
6059        }
6060        return (
6061          t.thumbs.swiper.$el.addClass(t.params.thumbs.thumbsContainerClass),
6062          t.thumbs.swiper.on("tap", n),
6063          !0
6064        );
6065      }
6066      function o(e) {
6067        const s = t.thumbs.swiper;
6068        if (!s) return;
6069        const a =
6070            "auto" === s.params.slidesPerView
6071              ? s.slidesPerViewDynamic()
6072              : s.params.slidesPerView,
6073          i = t.params.thumbs.autoScrollOffset,
6074          r = i && !s.params.loop;
6075        if (t.realIndex !== s.realIndex || r) {
6076          let n,
6077            l,
6078            o = s.activeIndex;
6079          if (s.params.loop) {
6080            s.slides.eq(o).hasClass(s.params.slideDuplicateClass) &&
6081              (s.loopFix(),
6082              (s._clientLeft = s.$wrapperEl[0].clientLeft),
6083              (o = s.activeIndex));
6084            const e = s.slides
6085                .eq(o)
6086                .prevAll(`[data-swiper-slide-index="${t.realIndex}"]`)
6087                .eq(0)
6088                .index(),
6089              a = s.slides
6090                .eq(o)
6091                .nextAll(`[data-swiper-slide-index="${t.realIndex}"]`)
6092                .eq(0)
6093                .index();
6094            (n =
6095              void 0 === e
6096                ? a
6097                : void 0 === a
6098                ? e
6099                : a - o == o - e
6100                ? s.params.slidesPerGroup > 1
6101                  ? a
6102                  : o
6103                : a - o < o - e
6104                ? a
6105                : e),
6106              (l = t.activeIndex > t.previousIndex ? "next" : "prev");
6107          } else (n = t.realIndex), (l = n > t.previousIndex ? "next" : "prev");
6108          r && (n += "next" === l ? i : -1 * i),
6109            s.visibleSlidesIndexes &&
6110              s.visibleSlidesIndexes.indexOf(n) < 0 &&
6111              (s.params.centeredSlides
6112                ? (n =
6113                    n > o
6114                      ? n - Math.floor(a / 2) + 1
6115                      : n + Math.floor(a / 2) - 1)
6116                : n > o && s.params.slidesPerGroup,
6117              s.slideTo(n, e ? 0 : void 0));
6118        }
6119        let n = 1;
6120        const l = t.params.thumbs.slideThumbActiveClass;
6121        if (
6122          (t.params.slidesPerView > 1 &&
6123            !t.params.centeredSlides &&
6124            (n = t.params.slidesPerView),
6125          t.params.thumbs.multipleActiveThumbs || (n = 1),
6126          (n = Math.floor(n)),
6127          s.slides.removeClass(l),
6128          s.params.loop || (s.params.virtual && s.params.virtual.enabled))
6129        )
6130          for (let e = 0; e < n; e += 1)
6131            s.$wrapperEl
6132              .children(`[data-swiper-slide-index="${t.realIndex + e}"]`)
6133              .addClass(l);
6134        else
6135          for (let e = 0; e < n; e += 1)
6136            s.slides.eq(t.realIndex + e).addClass(l);
6137      }
6138      (t.thumbs = { swiper: null }),
6139        a("beforeInit", () => {
6140          const { thumbs: e } = t.params;
6141          e && e.swiper && (l(), o(!0));
6142        }),
6143        a("slideChange update resize observerUpdate", () => {
6144          t.thumbs.swiper && o();
6145        }),
6146        a("setTransition", (e, s) => {
6147          const a = t.thumbs.swiper;
6148          a && a.setTransition(s);
6149        }),
6150        a("beforeDestroy", () => {
6151          const e = t.thumbs.swiper;
6152          e && r && e && e.destroy();
6153        }),
6154        Object.assign(t.thumbs, { init: l, update: o });
6155    },
6156    function (e) {
6157      let { swiper: t, extendParams: s, emit: a, once: i } = e;
6158      s({
6159        freeMode: {
6160          enabled: !1,
6161          momentum: !0,
6162          momentumRatio: 1,
6163          momentumBounce: !0,
6164          momentumBounceRatio: 1,
6165          momentumVelocityRatio: 1,
6166          sticky: !1,
6167          minimumVelocity: 0.02,
6168        },
6169      }),
6170        Object.assign(t, {
6171          freeMode: {
6172            onTouchStart: function () {
6173              const e = t.getTranslate();
6174              t.setTranslate(e),
6175                t.setTransition(0),
6176                (t.touchEventsData.velocities.length = 0),
6177                t.freeMode.onTouchEnd({
6178                  currentPos: t.rtl ? t.translate : -t.translate,
6179                });
6180            },
6181            onTouchMove: function () {
6182              const { touchEventsData: e, touches: s } = t;
6183              0 === e.velocities.length &&
6184                e.velocities.push({
6185                  position: s[t.isHorizontal() ? "startX" : "startY"],
6186                  time: e.touchStartTime,
6187                }),
6188                e.velocities.push({
6189                  position: s[t.isHorizontal() ? "currentX" : "currentY"],
6190                  time: u(),
6191                });
6192            },
6193            onTouchEnd: function (e) {
6194              let { currentPos: s } = e;
6195              const {
6196                  params: r,
6197                  $wrapperEl: n,
6198                  rtlTranslate: l,
6199                  snapGrid: o,
6200                  touchEventsData: d,
6201                } = t,
6202                c = u() - d.touchStartTime;
6203              if (s < -t.minTranslate()) t.slideTo(t.activeIndex);
6204              else if (s > -t.maxTranslate())
6205                t.slides.length < o.length
6206                  ? t.slideTo(o.length - 1)
6207                  : t.slideTo(t.slides.length - 1);
6208              else {
6209                if (r.freeMode.momentum) {
6210                  if (d.velocities.length > 1) {
6211                    const e = d.velocities.pop(),
6212                      s = d.velocities.pop(),
6213                      a = e.position - s.position,
6214                      i = e.time - s.time;
6215                    (t.velocity = a / i),
6216                      (t.velocity /= 2),
6217                      Math.abs(t.velocity) < r.freeMode.minimumVelocity &&
6218                        (t.velocity = 0),
6219                      (i > 150 || u() - e.time > 300) && (t.velocity = 0);
6220                  } else t.velocity = 0;
6221                  (t.velocity *= r.freeMode.momentumVelocityRatio),
6222                    (d.velocities.length = 0);
6223                  let e = 1e3 * r.freeMode.momentumRatio;
6224                  const s = t.velocity * e;
6225                  let c = t.translate + s;
6226                  l && (c = -c);
6227                  let p,
6228                    h = !1;
6229                  const m =
6230                    20 * Math.abs(t.velocity) * r.freeMode.momentumBounceRatio;
6231                  let f;
6232                  if (c < t.maxTranslate())
6233                    r.freeMode.momentumBounce
6234                      ? (c + t.maxTranslate() < -m &&
6235                          (c = t.maxTranslate() - m),
6236                        (p = t.maxTranslate()),
6237                        (h = !0),
6238                        (d.allowMomentumBounce = !0))
6239                      : (c = t.maxTranslate()),
6240                      r.loop && r.centeredSlides && (f = !0);
6241                  else if (c > t.minTranslate())
6242                    r.freeMode.momentumBounce
6243                      ? (c - t.minTranslate() > m && (c = t.minTranslate() + m),
6244                        (p = t.minTranslate()),
6245                        (h = !0),
6246                        (d.allowMomentumBounce = !0))
6247                      : (c = t.minTranslate()),
6248                      r.loop && r.centeredSlides && (f = !0);
6249                  else if (r.freeMode.sticky) {
6250                    let e;
6251                    for (let t = 0; t < o.length; t += 1)
6252                      if (o[t] > -c) {
6253                        e = t;
6254                        break;
6255                      }
6256                    (c =
6257                      Math.abs(o[e] - c) < Math.abs(o[e - 1] - c) ||
6258                      "next" === t.swipeDirection
6259                        ? o[e]
6260                        : o[e - 1]),
6261                      (c = -c);
6262                  }
6263                  if (
6264                    (f &&
6265                      i("transitionEnd", () => {
6266                        t.loopFix();
6267                      }),
6268                    0 !== t.velocity)
6269                  ) {
6270                    if (
6271                      ((e = l
6272                        ? Math.abs((-c - t.translate) / t.velocity)
6273                        : Math.abs((c - t.translate) / t.velocity)),
6274                      r.freeMode.sticky)
6275                    ) {
6276                      const s = Math.abs((l ? -c : c) - t.translate),
6277                        a = t.slidesSizesGrid[t.activeIndex];
6278                      e =
6279                        s < a
6280                          ? r.speed
6281                          : s < 2 * a
6282                          ? 1.5 * r.speed
6283                          : 2.5 * r.speed;
6284                    }
6285                  } else if (r.freeMode.sticky) return void t.slideToClosest();
6286                  r.freeMode.momentumBounce && h
6287                    ? (t.updateProgress(p),
6288                      t.setTransition(e),
6289                      t.setTranslate(c),
6290                      t.transitionStart(!0, t.swipeDirection),
6291                      (t.animating = !0),
6292                      n.transitionEnd(() => {
6293                        t &&
6294                          !t.destroyed &&
6295                          d.allowMomentumBounce &&
6296                          (a("momentumBounce"),
6297                          t.setTransition(r.speed),
6298                          setTimeout(() => {
6299                            t.setTranslate(p),
6300                              n.transitionEnd(() => {
6301                                t && !t.destroyed && t.transitionEnd();
6302                              });
6303                          }, 0));
6304                      }))
6305                    : t.velocity
6306                    ? (a("_freeModeNoMomentumRelease"),
6307                      t.updateProgress(c),
6308                      t.setTransition(e),
6309                      t.setTranslate(c),
6310                      t.transitionStart(!0, t.swipeDirection),
6311                      t.animating ||
6312                        ((t.animating = !0),
6313                        n.transitionEnd(() => {
6314                          t && !t.destroyed && t.transitionEnd();
6315                        })))
6316                    : t.updateProgress(c),
6317                    t.updateActiveIndex(),
6318                    t.updateSlidesClasses();
6319                } else {
6320                  if (r.freeMode.sticky) return void t.slideToClosest();
6321                  r.freeMode && a("_freeModeNoMomentumRelease");
6322                }
6323                (!r.freeMode.momentum || c >= r.longSwipesMs) &&
6324                  (t.updateProgress(),
6325                  t.updateActiveIndex(),
6326                  t.updateSlidesClasses());
6327              }
6328            },
6329          },
6330        });
6331    },
6332    function (e) {
6333      let t,
6334        s,
6335        a,
6336        { swiper: i, extendParams: r } = e;
6337      r({ grid: { rows: 1, fill: "column" } }),
6338        (i.grid = {
6339          initSlides: (e) => {
6340            const { slidesPerView: r } = i.params,
6341              { rows: n, fill: l } = i.params.grid;
6342            (s = t / n),
6343              (a = Math.floor(e / n)),
6344              (t = Math.floor(e / n) === e / n ? e : Math.ceil(e / n) * n),
6345              "auto" !== r && "row" === l && (t = Math.max(t, r * n));
6346          },
6347          updateSlide: (e, r, n, l) => {
6348            const { slidesPerGroup: o, spaceBetween: d } = i.params,
6349              { rows: c, fill: p } = i.params.grid;
6350            let u, h, m;
6351            if ("row" === p && o > 1) {
6352              const s = Math.floor(e / (o * c)),
6353                a = e - c * o * s,
6354                i = 0 === s ? o : Math.min(Math.ceil((n - s * c * o) / c), o);
6355              (m = Math.floor(a / i)),
6356                (h = a - m * i + s * o),
6357                (u = h + (m * t) / c),
6358                r.css({ "-webkit-order": u, order: u });
6359            } else
6360              "column" === p
6361                ? ((h = Math.floor(e / c)),
6362                  (m = e - h * c),
6363                  (h > a || (h === a && m === c - 1)) &&
6364                    ((m += 1), m >= c && ((m = 0), (h += 1))))
6365                : ((m = Math.floor(e / s)), (h = e - m * s));
6366            r.css(l("margin-top"), 0 !== m ? d && `${d}px` : "");
6367          },
6368          updateWrapperSize: (e, s, a) => {
6369            const {
6370                spaceBetween: r,
6371                centeredSlides: n,
6372                roundLengths: l,
6373              } = i.params,
6374              { rows: o } = i.params.grid;
6375            if (
6376              ((i.virtualSize = (e + r) * t),
6377              (i.virtualSize = Math.ceil(i.virtualSize / o) - r),
6378              i.$wrapperEl.css({ [a("width")]: `${i.virtualSize + r}px` }),
6379              n)
6380            ) {
6381              s.splice(0, s.length);
6382              const e = [];
6383              for (let t = 0; t < s.length; t += 1) {
6384                let a = s[t];
6385                l && (a = Math.floor(a)),
6386                  s[t] < i.virtualSize + s[0] && e.push(a);
6387              }
6388              s.push(...e);
6389            }
6390          },
6391        });
6392    },
6393    function (e) {
6394      let { swiper: t } = e;
6395      Object.assign(t, {
6396        appendSlide: K.bind(t),
6397        prependSlide: Z.bind(t),
6398        addSlide: J.bind(t),
6399        removeSlide: Q.bind(t),
6400        removeAllSlides: ee.bind(t),
6401      });
6402    },
6403    function (e) {
6404      let { swiper: t, extendParams: s, on: a } = e;
6405      s({ fadeEffect: { crossFade: !1, transformEl: null } }),
6406        te({
6407          effect: "fade",
6408          swiper: t,
6409          on: a,
6410          setTranslate: () => {
6411            const { slides: e } = t,
6412              s = t.params.fadeEffect;
6413            for (let a = 0; a < e.length; a += 1) {
6414              const e = t.slides.eq(a);
6415              let i = -e[0].swiperSlideOffset;
6416              t.params.virtualTranslate || (i -= t.translate);
6417              let r = 0;
6418              t.isHorizontal() || ((r = i), (i = 0));
6419              const n = t.params.fadeEffect.crossFade
6420                ? Math.max(1 - Math.abs(e[0].progress), 0)
6421                : 1 + Math.min(Math.max(e[0].progress, -1), 0);
6422              se(s, e)
6423                .css({ opacity: n })
6424                .transform(`translate3d(${i}px, ${r}px, 0px)`);
6425            }
6426          },
6427          setTransition: (e) => {
6428            const { transformEl: s } = t.params.fadeEffect;
6429            (s ? t.slides.find(s) : t.slides).transition(e),
6430              ae({ swiper: t, duration: e, transformEl: s, allSlides: !0 });
6431          },
6432          overwriteParams: () => ({
6433            slidesPerView: 1,
6434            slidesPerGroup: 1,
6435            watchSlidesProgress: !0,
6436            spaceBetween: 0,
6437            virtualTranslate: !t.params.cssMode,
6438          }),
6439        });
6440    },
6441    function (e) {
6442      let { swiper: t, extendParams: s, on: a } = e;
6443      s({
6444        cubeEffect: {
6445          slideShadows: !0,
6446          shadow: !0,
6447          shadowOffset: 20,
6448          shadowScale: 0.94,
6449        },
6450      }),
6451        te({
6452          effect: "cube",
6453          swiper: t,
6454          on: a,
6455          setTranslate: () => {
6456            const {
6457                $el: e,
6458                $wrapperEl: s,
6459                slides: a,
6460                width: i,
6461                height: r,
6462                rtlTranslate: n,
6463                size: l,
6464                browser: o,
6465              } = t,
6466              c = t.params.cubeEffect,
6467              p = t.isHorizontal(),
6468              u = t.virtual && t.params.virtual.enabled;
6469            let h,
6470              m = 0;
6471            c.shadow &&
6472              (p
6473                ? ((h = s.find(".swiper-cube-shadow")),
6474                  0 === h.length &&
6475                    ((h = d('<div class="swiper-cube-shadow"></div>')),
6476                    s.append(h)),
6477                  h.css({ height: `${i}px` }))
6478                : ((h = e.find(".swiper-cube-shadow")),
6479                  0 === h.length &&
6480                    ((h = d('<div class="swiper-cube-shadow"></div>')),
6481                    e.append(h))));
6482            for (let e = 0; e < a.length; e += 1) {
6483              const t = a.eq(e);
6484              let s = e;
6485              u && (s = parseInt(t.attr("data-swiper-slide-index"), 10));
6486              let i = 90 * s,
6487                r = Math.floor(i / 360);
6488              n && ((i = -i), (r = Math.floor(-i / 360)));
6489              const o = Math.max(Math.min(t[0].progress, 1), -1);
6490              let h = 0,
6491                f = 0,
6492                g = 0;
6493              s % 4 == 0
6494                ? ((h = 4 * -r * l), (g = 0))
6495                : (s - 1) % 4 == 0
6496                ? ((h = 0), (g = 4 * -r * l))
6497                : (s - 2) % 4 == 0
6498                ? ((h = l + 4 * r * l), (g = l))
6499                : (s - 3) % 4 == 0 && ((h = -l), (g = 3 * l + 4 * l * r)),
6500                n && (h = -h),
6501                p || ((f = h), (h = 0));
6502              const v = `rotateX(${p ? 0 : -i}deg) rotateY(${
6503                p ? i : 0
6504              }deg) translate3d(${h}px, ${f}px, ${g}px)`;
6505              if (
6506                (o <= 1 &&
6507                  o > -1 &&
6508                  ((m = 90 * s + 90 * o), n && (m = 90 * -s - 90 * o)),
6509                t.transform(v),
6510                c.slideShadows)
6511              ) {
6512                let e = p
6513                    ? t.find(".swiper-slide-shadow-left")
6514                    : t.find(".swiper-slide-shadow-top"),
6515                  s = p
6516                    ? t.find(".swiper-slide-shadow-right")
6517                    : t.find(".swiper-slide-shadow-bottom");
6518                0 === e.length &&
6519                  ((e = d(
6520                    `<div class="swiper-slide-shadow-${
6521                      p ? "left" : "top"
6522                    }"></div>`
6523                  )),
6524                  t.append(e)),
6525                  0 === s.length &&
6526                    ((s = d(
6527                      `<div class="swiper-slide-shadow-${
6528                        p ? "right" : "bottom"
6529                      }"></div>`
6530                    )),
6531                    t.append(s)),
6532                  e.length && (e[0].style.opacity = Math.max(-o, 0)),
6533                  s.length && (s[0].style.opacity = Math.max(o, 0));
6534              }
6535            }
6536            if (
6537              (s.css({
6538                "-webkit-transform-origin": `50% 50% -${l / 2}px`,
6539                "transform-origin": `50% 50% -${l / 2}px`,
6540              }),
6541              c.shadow)
6542            )
6543              if (p)
6544                h.transform(
6545                  `translate3d(0px, ${i / 2 + c.shadowOffset}px, ${
6546                    -i / 2
6547                  }
6547px) rotateX(90deg) rotateZ(0deg) scale(${c.shadowScale})`
6548                );
6549              else {
6550                const e = Math.abs(m) - 90 * Math.floor(Math.abs(m) / 90),
6551                  t =
6552                    1.5 -
6553                    (Math.sin((2 * e * Math.PI) / 360) / 2 +
6554                      Math.cos((2 * e * Math.PI) / 360) / 2),
6555                  s = c.shadowScale,
6556                  a = c.shadowScale / t,
6557                  i = c.shadowOffset;
6558                h.transform(
6559                  `scale3d(${s}, 1, ${a}) translate3d(0px, ${r / 2 + i}px, ${
6560                    -r / 2 / a
6561                  }px) rotateX(-90deg)`
6562                );
6563              }
6564            const f = o.isSafari || o.isWebView ? -l / 2 : 0;
6565            s.transform(
6566              `translate3d(0px,0,${f}px) rotateX(${
6567                t.isHorizontal() ? 0 : m
6568              }deg) rotateY(${t.isHorizontal() ? -m : 0}deg)`
6569            );
6570          },
6571          setTransition: (e) => {
6572            const { $el: s, slides: a } = t;
6573            a
6574              .transition(e)
6575              .find(
6576                ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
6577              )
6578              .transition(e),
6579              t.params.cubeEffect.shadow &&
6580                !t.isHorizontal() &&
6581                s.find(".swiper-cube-shadow").transition(e);
6582          },
6583          perspective: () => !0,
6584          overwriteParams: () => ({
6585            slidesPerView: 1,
6586            slidesPerGroup: 1,
6587            watchSlidesProgress: !0,
6588            resistanceRatio: 0,
6589            spaceBetween: 0,
6590            centeredSlides: !1,
6591            virtualTranslate: !0,
6592          }),
6593        });
6594    },
6595    function (e) {
6596      let { swiper: t, extendParams: s, on: a } = e;
6597      s({
6598        flipEffect: { slideShadows: !0, limitRotation: !0, transformEl: null },
6599      }),
6600        te({
6601          effect: "flip",
6602          swiper: t,
6603          on: a,
6604          setTranslate: () => {
6605            const { slides: e, rtlTranslate: s } = t,
6606              a = t.params.flipEffect;
6607            for (let i = 0; i < e.length; i += 1) {
6608              const r = e.eq(i);
6609              let n = r[0].progress;
6610              t.params.flipEffect.limitRotation &&
6611                (n = Math.max(Math.min(r[0].progress, 1), -1));
6612              const l = r[0].swiperSlideOffset;
6613              let o = -180 * n,
6614                d = 0,
6615                c = t.params.cssMode ? -l - t.translate : -l,
6616                p = 0;
6617              if (
6618                (t.isHorizontal()
6619                  ? s && (o = -o)
6620                  : ((p = c), (c = 0), (d = -o), (o = 0)),
6621                (r[0].style.zIndex = -Math.abs(Math.round(n)) + e.length),
6622                a.slideShadows)
6623              ) {
6624                let e = t.isHorizontal()
6625                    ? r.find(".swiper-slide-shadow-left")
6626                    : r.find(".swiper-slide-shadow-top"),
6627                  s = t.isHorizontal()
6628                    ? r.find(".swiper-slide-shadow-right")
6629                    : r.find(".swiper-slide-shadow-bottom");
6630                0 === e.length &&
6631                  (e = ie(a, r, t.isHorizontal() ? "left" : "top")),
6632                  0 === s.length &&
6633                    (s = ie(a, r, t.isHorizontal() ? "right" : "bottom")),
6634                  e.length && (e[0].style.opacity = Math.max(-n, 0)),
6635                  s.length && (s[0].style.opacity = Math.max(n, 0));
6636              }
6637              const u = `translate3d(${c}px, ${p}px, 0px) rotateX(${d}deg) rotateY(${o}deg)`;
6638              se(a, r).transform(u);
6639            }
6640          },
6641          setTransition: (e) => {
6642            const { transformEl: s } = t.params.flipEffect;
6643            (s ? t.slides.find(s) : t.slides)
6644              .transition(e)
6645              .find(
6646                ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
6647              )
6648              .transition(e),
6649              ae({ swiper: t, duration: e, transformEl: s });
6650          },
6651          perspective: () => !0,
6652          overwriteParams: () => ({
6653            slidesPerView: 1,
6654            slidesPerGroup: 1,
6655            watchSlidesProgress: !0,
6656            spaceBetween: 0,
6657            virtualTranslate: !t.params.cssMode,
6658          }),
6659        });
6660    },
6661    function (e) {
6662      let { swiper: t, extendParams: s, on: a } = e;
6663      s({
6664        coverflowEffect: {
6665          rotate: 50,
6666          stretch: 0,
6667          depth: 100,
6668          scale: 1,
6669          modifier: 1,
6670          slideShadows: !0,
6671          transformEl: null,
6672        },
6673      }),
6674        te({
6675          effect: "coverflow",
6676          swiper: t,
6677          on: a,
6678          setTranslate: () => {
6679            const { width: e, height: s, slides: a, slidesSizesGrid: i } = t,
6680              r = t.params.coverflowEffect,
6681              n = t.isHorizontal(),
6682              l = t.translate,
6683              o = n ? e / 2 - l : s / 2 - l,
6684              d = n ? r.rotate : -r.rotate,
6685              c = r.depth;
6686            for (let e = 0, t = a.length; e < t; e += 1) {
6687              const t = a.eq(e),
6688                s = i[e],
6689                l = ((o - t[0].swiperSlideOffset - s / 2) / s) * r.modifier;
6690              let p = n ? d * l : 0,
6691                u = n ? 0 : d * l,
6692                h = -c * Math.abs(l),
6693                m = r.stretch;
6694              "string" == typeof m &&
6695                -1 !== m.indexOf("%") &&
6696                (m = (parseFloat(r.stretch) / 100) * s);
6697              let f = n ? 0 : m * l,
6698                g = n ? m * l : 0,
6699                v = 1 - (1 - r.scale) * Math.abs(l);
6700              Math.abs(g) < 0.001 && (g = 0),
6701                Math.abs(f) < 0.001 && (f = 0),
6702                Math.abs(h) < 0.001 && (h = 0),
6703                Math.abs(p) < 0.001 && (p = 0),
6704                Math.abs(u) < 0.001 && (u = 0),
6705                Math.abs(v) < 0.001 && (v = 0);
6706              const w = `translate3d(${g}px,${f}px,${h}px)  rotateX(${u}deg) rotateY(${p}deg) scale(${v})`;
6707              if (
6708                (se(r, t).transform(w),
6709                (t[0].style.zIndex = 1 - Math.abs(Math.round(l))),
6710                r.slideShadows)
6711              ) {
6712                let e = n
6713                    ? t.find(".swiper-slide-shadow-left")
6714                    : t.find(".swiper-slide-shadow-top"),
6715                  s = n
6716                    ? t.find(".swiper-slide-shadow-right")
6717                    : t.find(".swiper-slide-shadow-bottom");
6718                0 === e.length && (e = ie(r, t, n ? "left" : "top")),
6719                  0 === s.length && (s = ie(r, t, n ? "right" : "bottom")),
6720                  e.length && (e[0].style.opacity = l > 0 ? l : 0),
6721                  s.length && (s[0].style.opacity = -l > 0 ? -l : 0);
6722              }
6723            }
6724          },
6725          setTransition: (e) => {
6726            const { transformEl: s } = t.params.coverflowEffect;
6727            (s ? t.slides.find(s) : t.slides)
6728              .transition(e)
6729              .find(
6730                ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
6731              )
6732              .transition(e);
6733          },
6734          perspective: () => !0,
6735          overwriteParams: () => ({ watchSlidesProgress: !0 }),
6736        });
6737    },
6738    function (e) {
6739      let { swiper: t, extendParams: s, on: a } = e;
6740      s({
6741        creativeEffect: {
6742          transformEl: null,
6743          limitProgress: 1,
6744          shadowPerProgress: !1,
6745          progressMultiplier: 1,
6746          perspective: !0,
6747          prev: {
6748            translate: [0, 0, 0],
6749            rotate: [0, 0, 0],
6750            opacity: 1,
6751            scale: 1,
6752          },
6753          next: {
6754            translate: [0, 0, 0],
6755            rotate: [0, 0, 0],
6756            opacity: 1,
6757            scale: 1,
6758          },
6759        },
6760      });
6761      const i = (e) => ("string" == typeof e ? e : `${e}px`);
6762      te({
6763        effect: "creative",
6764        swiper: t,
6765        on: a,
6766        setTranslate: () => {
6767          const { slides: e, $wrapperEl: s, slidesSizesGrid: a } = t,
6768            r = t.params.creativeEffect,
6769            { progressMultiplier: n } = r,
6770            l = t.params.centeredSlides;
6771          if (l) {
6772            const e = a[0] / 2 - t.params.slidesOffsetBefore || 0;
6773            s.transform(`translateX(calc(50% - ${e}px))`);
6774          }
6775          for (let s = 0; s < e.length; s += 1) {
6776            const a = e.eq(s),
6777              o = a[0].progress,
6778              d = Math.min(
6779                Math.max(a[0].progress, -r.limitProgress),
6780                r.limitProgress
6781              );
6782            let c = d;
6783            l ||
6784              (c = Math.min(
6785                Math.max(a[0].originalProgress, -r.limitProgress),
6786                r.limitProgress
6787              ));
6788            const p = a[0].swiperSlideOffset,
6789              u = [t.params.cssMode ? -p - t.translate : -p, 0, 0],
6790              h = [0, 0, 0];
6791            let m = !1;
6792            t.isHorizontal() || ((u[1] = u[0]), (u[0] = 0));
6793            let f = {
6794              translate: [0, 0, 0],
6795              rotate: [0, 0, 0],
6796              scale: 1,
6797              opacity: 1,
6798            };
6799            d < 0
6800              ? ((f = r.next), (m = !0))
6801              : d > 0 && ((f = r.prev), (m = !0)),
6802              u.forEach((e, t) => {
6803                u[t] = `calc(${e}px + (${i(f.translate[t])} * ${Math.abs(
6804                  d * n
6805                )}))`;
6806              }),
6807              h.forEach((e, t) => {
6808                h[t] = f.rotate[t] * Math.abs(d * n);
6809              }),
6810              (a[0].style.zIndex = -Math.abs(Math.round(o)) + e.length);
6811            const g = u.join(", "),
6812              v = `rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,
6813              w =
6814                c < 0
6815                  ? `scale(${1 + (1 - f.scale) * c * n})`
6816                  : `scale(${1 - (1 - f.scale) * c * n})`,
6817              b =
6818                c < 0
6819                  ? 1 + (1 - f.opacity) * c * n
6820                  : 1 - (1 - f.opacity) * c * n,
6821              x = `translate3d(${g}) ${v} ${w}`;
6822            if ((m && f.shadow) || !m) {
6823              let e = a.children(".swiper-slide-shadow");
6824              if ((0 === e.length && f.shadow && (e = ie(r, a)), e.length)) {
6825                const t = r.shadowPerProgress ? d * (1 / r.limitProgress) : d;
6826                e[0].style.opacity = Math.min(Math.max(Math.abs(t), 0), 1);
6827              }
6828            }
6829            const y = se(r, a);
6830            y.transform(x).css({ opacity: b }),
6831              f.origin && y.css("transform-origin", f.origin);
6832          }
6833        },
6834        setTransition: (e) => {
6835          const { transformEl: s } = t.params.creativeEffect;
6836          (s ? t.slides.find(s) : t.slides)
6837            .transition(e)
6838            .find(".swiper-slide-shadow")
6839            .transition(e),
6840            ae({ swiper: t, duration: e, transformEl: s, allSlides: !0 });
6841        },
6842        perspective: () => t.params.creativeEffect.perspective,
6843        overwriteParams: () => ({
6844          watchSlidesProgress: !0,
6845          virtualTranslate: !t.params.cssMode,
6846        }),
6847      });
6848    },
6849    function (e) {
6850      let { swiper: t, extendParams: s, on: a } = e;
6851      s({ cardsEffect: { slideShadows: !0, transformEl: null } }),
6852        te({
6853          effect: "cards",
6854          swiper: t,
6855          on: a,
6856          setTranslate: () => {
6857            const { slides: e, activeIndex: s } = t,
6858              a = t.params.cardsEffect,
6859              { startTranslate: i, isTouched: r } = t.touchEventsData,
6860              n = t.translate;
6861            for (let l = 0; l < e.length; l += 1) {
6862              const o = e.eq(l),
6863                d = o[0].progress,
6864                c = Math.min(Math.max(d, -4), 4);
6865              let p = o[0].swiperSlideOffset;
6866              t.params.centeredSlides &&
6867                !t.params.cssMode &&
6868                t.$wrapperEl.transform(`translateX(${t.minTranslate()}px)`),
6869                t.params.centeredSlides &&
6870                  t.params.cssMode &&
6871                  (p -= e[0].swiperSlideOffset);
6872              let u = t.params.cssMode ? -p - t.translate : -p,
6873                h = 0;
6874              const m = -100 * Math.abs(c);
6875              let f = 1,
6876                g = -2 * c,
6877                v = 8 - 0.75 * Math.abs(c);
6878              const w =
6879                  (l === s || l === s - 1) &&
6880                  c > 0 &&
6881                  c < 1 &&
6882                  (r || t.params.cssMode) &&
6883                  n < i,
6884                b =
6885                  (l === s || l === s + 1) &&
6886                  c < 0 &&
6887                  c > -1 &&
6888                  (r || t.params.cssMode) &&
6889                  n > i;
6890              if (w || b) {
6891                const e = (1 - Math.abs((Math.abs(c) - 0.5) / 0.5)) ** 0.5;
6892                (g += -28 * c * e),
6893                  (f += -0.5 * e),
6894                  (v += 96 * e),
6895                  (h = -25 * e * Math.abs(c) + "%");
6896              }
6897              if (
6898                ((u =
6899                  c < 0
6900                    ? `calc(${u}px + (${v * Math.abs(c)}%))`
6901                    : c > 0
6902                    ? `calc(${u}px + (-${v * Math.abs(c)}%))`
6903                    : `${u}px`),
6904                !t.isHorizontal())
6905              ) {
6906                const e = h;
6907                (h = u), (u = e);
6908              }
6909              const x = `\n        translate3d(${u}, ${h}, ${m}px)\n        rotateZ(${g}deg)\n        scale(${
6910                c < 0 ? "" + (1 + (1 - f) * c) : "" + (1 - (1 - f) * c)
6911              })\n      `;
6912              if (a.slideShadows) {
6913                let e = o.find(".swiper-slide-shadow");
6914                0 === e.length && (e = ie(a, o)),
6915                  e.length &&
6916                    (e[0].style.opacity = Math.min(
6917                      Math.max((Math.abs(c) - 0.5) / 0.5, 0),
6918                      1
6919                    ));
6920              }
6921              (o[0].style.zIndex = -Math.abs(Math.round(d)) + e.length),
6922                se(a, o).transform(x);
6923            }
6924          },
6925          setTransition: (e) => {
6926            const { transformEl: s } = t.params.cardsEffect;
6927            (s ? t.slides.find(s) : t.slides)
6928              .transition(e)
6929              .find(".swiper-slide-shadow")
6930              .transition(e),
6931              ae({ swiper: t, duration: e, transformEl: s });
6932          },
6933          perspective: () => !0,
6934          overwriteParams: () => ({
6935            watchSlidesProgress: !0,
6936            virtualTranslate: !t.params.cssMode,
6937          }),
6938        });
6939    },
6940  ];
6941  return q.use(re), q;
6942});

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.