PageSourceSearch

https://www.qianxin.com/static/js_dist/swiper.min.v6.js?v=1790851178

js qianxin.com collected 2026-10-01 10:41:28 UTC 211,661 bytes, 5,034 lines download raw bytes

1"use strict";
2
3function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
5/**
6 * Swiper 6.8.4
7 * Most modern mobile touch slider and framework with hardware accelerated transitions
8 * https://swiperjs.com
9 *
10 * Copyright 2014-2021 Vladimir Kharlampidi
11 *
12 * Released under the MIT License
13 *
14 * Released on: August 23, 2021
15 */
16!function (e, t) {
17  "object" == (typeof exports === "undefined" ? "undefined" : _typeof(exports)) && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).Swiper = t();
18}(void 0, function () {
19  "use strict";
20
21  function e(e, t) {
22    for (var a = 0; a < t.length; a++) {
23      var i = t[a];
24      i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i);
25    }
26  }
27
28  function t() {
29    return (t = Object.assign || function (e) {
30      for (var t = 1; t < arguments.length; t++) {
31        var a = arguments[t];
32
33        for (var i in a) {
34          Object.prototype.hasOwnProperty.call(a, i) && (e[i] = a[i]);
35        }
36      }
37
38      return e;
39    }).apply(this, arguments);
40  }
41
42  function a(e) {
43    return null !== e && "object" == _typeof(e) && "constructor" in e && e.constructor === Object;
44  }
45
46  function i(e, t) {
47    void 0 === e && (e = {}), void 0 === t && (t = {}), Object.keys(t).forEach(function (s) {
48      void 0 === e[s] ? e[s] = t[s] : a(t[s]) && a(e[s]) && Object.keys(t[s]).length > 0 && i(e[s], t[s]);
49    });
50  }
51
52  var s = {
53    body: {},
54    addEventListener: function addEventListener() {},
55    removeEventListener: function removeEventListener() {},
56    activeElement: {
57      blur: function blur() {},
58      nodeName: ""
59    },
60    querySelector: function querySelector() {
61      return null;
62    },
63    querySelectorAll: function querySelectorAll() {
64      return [];
65    },
66    getElementById: function getElementById() {
67      return null;
68    },
69    createEvent: function createEvent() {
70      return {
71        initEvent: function initEvent() {}
72      };
73    },
74    createElement: function createElement() {
75      return {
76        children: [],
77        childNodes: [],
78        style: {},
79        setAttribute: function setAttribute() {},
80        getElementsByTagName: function getElementsByTagName() {
81          return [];
82        }
83      };
84    },
85    createElementNS: function createElementNS() {
86      return {};
87    },
88    importNode: function importNode() {
89      return null;
90    },
91    location: {
92      hash: "",
93      host: "",
94      hostname: "",
95      href: "",
96      origin: "",
97      pathname: "",
98      protocol: "",
99      search: ""
100    }
101  };
102
103  function r() {
104    var e = "undefined" != typeof document ? document : {};
105    return i(e, s), e;
106  }
107
108  var n = {
109    document: s,
110    navigator: {
111      userAgent: ""
112    },
113    location: {
114      hash: "",
115      host: "",
116      hostname: "",
117      href: "",
118      origin: "",
119      pathname: "",
120      protocol: "",
121      search: ""
122    },
123    history: {
124      replaceState: function replaceState() {},
125      pushState: function pushState() {},
126      go: function go() {},
127      back: function back() {}
128    },
129    CustomEvent: function CustomEvent() {
130      return this;
131    },
132    addEventListener: function addEventListener() {},
133    removeEventListener: function removeEventListener() {},
134    getComputedStyle: function getComputedStyle() {
135      return {
136        getPropertyValue: function getPropertyValue() {
137          return "";
138        }
139      };
140    },
141    Image: function Image() {},
142    Date: function Date() {},
143    screen: {},
144    setTimeout: function setTimeout() {},
145    clearTimeout: function clearTimeout() {},
146    matchMedia: function matchMedia() {
147      return {};
148    },
149    requestAnimationFrame: function requestAnimationFrame(e) {
150      return "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0);
151    },
152    cancelAnimationFrame: function cancelAnimationFrame(e) {
153      "undefined" != typeof setTimeout && clearTimeout(e);
154    }
155  };
156
157  function l() {
158    var e = "undefined" != typeof window ? window : {};
159    return i(e, n), e;
160  }
161
162  function o(e) {
163    return (o = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {
164      return e.__proto__ || Object.getPrototypeOf(e);
165    })(e);
166  }
167
168  function d(e, t) {
169    return (d = Object.setPrototypeOf || function (e, t) {
170      return e.__proto__ = t, e;
171    })(e, t);
172  }
173
174  function p() {
175    if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
176    if (Reflect.construct.sham) return !1;
177    if ("function" == typeof Proxy) return !0;
178
179    try {
180      return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), !0;
181    } catch (e) {
182      return !1;
183    }
184  }
185
186  function u(e, t, a) {
187    return (u = p() ? Reflect.construct : function (e, t, a) {
188      var i = [null];
189      i.push.apply(i, t);
190      var s = new (Function.bind.apply(e, i))();
191      return a && d(s, a.prototype), s;
192    }).apply(null, arguments);
193  }
194
195  function c(e) {
196    var t = "function" == typeof Map ? new Map() : void 0;
197    return (c = function c(e) {
198      if (null === e || (a = e, -1 === Function.toString.call(a).indexOf("[native code]"))) return e;
199      var a;
200      if ("function" != typeof e) throw new TypeError("Super expression must either be null or a function");
201
202      if (void 0 !== t) {
203        if (t.has(e)) return t.get(e);
204        t.set(e, i);
205      }
206
207      function i() {
208        return u(e, arguments, o(this).constructor);
209      }
210
211      return i.prototype = Object.create(e.prototype, {
212        constructor: {
213          value: i,
214          enumerable: !1,
215          writable: !0,
216          configurable: !0
217        }
218      }), d(i, e);
219    })(e);
220  }
221
222  var h = function (e) {
223    var t, a;
224
225    function i(t) {
226      var a, i, s;
227      return a = e.call.apply(e, [this].concat(t)) || this, i = function (e) {
228        if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
229        return e;
230      }(a), s = i.__proto__, Object.defineProperty(i, "__proto__", {
231        get: function get() {
232          return s;
233        },
234        set: function set(e) {
235          s.__proto__ = e;
236        }
237      }), a;
238    }
239
240    return a = e, (t = i).prototype = Object.create(a.prototype), t.prototype.constructor = t, t.__proto__ = a, i;
241  }(c(Array));
242
243  function v(e) {
244    void 0 === e && (e = []);
245    var t = [];
246    return e.forEach(function (e) {
247      Array.isArray(e) ? t.push.apply(t, v(e)) : t.push(e);
248    }), t;
249  }
250
251  function f(e, t) {
252    return Array.prototype.filter.call(e, t);
253  }
254
255  function m(e, t) {
256    var a = l(),
257        i = r(),
258        s = [];
259    if (!t && e instanceof h) return e;
260    if (!e) return new h(s);
261
262    if ("string" == typeof e) {
263      var n = e.trim();
264
265      if (n.indexOf("<") >= 0 && n.indexOf(">") >= 0) {
266        var o = "div";
267        0 === n.indexOf("<li") && (o = "ul"), 0 === n.indexOf("<tr") && (o = "tbody"), 0 !== n.indexOf("<td") && 0 !== n.indexOf("<th") || (o = "tr"), 0 === n.indexOf("<tbody") && (o = "table"), 0 === n.indexOf("<option") && (o = "select");
268        var d = i.createElement(o);
269        d.innerHTML = n;
270
271        for (var p = 0; p < d.childNodes.length; p += 1) {
272          s.push(d.childNodes[p]);
273        }
274      } else s = function (e, t) {
275        if ("string" != typeof e) return [e];
276
277        for (var a = [], i = t.querySelectorAll(e), s = 0; s < i.length; s += 1) {
278          a.push(i[s]);
279        }
280
281        return a;
282      }(e.trim(), t || i);
283    } else if (e.nodeType || e === a || e === i) s.push(e);else if (Array.isArray(e)) {
284      if (e instanceof h) return e;
285      s = e;
286    }
287
288    return new h(function (e) {
289      for (var t = [], a = 0; a < e.length; a += 1) {
290        -1 === t.indexOf(e[a]) && t.push(e[a]);
291      }
292
293      return t;
294    }(s));
295  }
296
297  m.fn = h.prototype;
298  var g,
299      b,
300      w,
301      y = {
302    addClass: function addClass() {
303      for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++) {
304        t[a] = arguments[a];
305      }
306
307      var i = v(t.map(function (e) {
308        return e.split(" ");
309      }));
310      return this.forEach(function (e) {
311        var t;
312        (t = e.classList).add.apply(t, i);
313      }), this;
314    },
315    removeClass: function removeClass() {
316      for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++) {
317        t[a] = arguments[a];
318      }
319
320      var i = v(t.map(function (e) {
321        return e.split(" ");
322      }));
323      return this.forEach(function (e) {
324        var t;
325        (t = e.classList).remove.apply(t, i);
326      }), this;
327    },
328    hasClass: function hasClass() {
329      for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++) {
330        t[a] = arguments[a];
331      }
332
333      var i = v(t.map(function (e) {
334        return e.split(" ");
335      }));
336      return f(this, function (e) {
337        return i.filter(function (t) {
338          return e.classList.contains(t);
339        }).length > 0;
340      }).length > 0;
341    },
342    toggleClass: function toggleClass() {
343      for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++) {
344        t[a] = arguments[a];
345      }
346
347      var i = v(t.map(function (e) {
348        return e.split(" ");
349      }));
350      this.forEach(function (e) {
351        i.forEach(function (t) {
352          e.classList.toggle(t);
353        });
354      });
355    },
356    attr: function attr(e, t) {
357      if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0;
358
359      for (var a = 0; a < this.length; a += 1) {
360        if (2 === arguments.length) this[a].setAttribute(e, t);else for (var i in e) {
361          this[a][i] = e[i], this[a].setAttribute(i, e[i]);
362        }
363      }
364
365      return this;
366    },
367    removeAttr: function removeAttr(e) {
368      for (var t = 0; t < this.length; t += 1) {
369        this[t].removeAttribute(e);
370      }
371
372      return this;
373    },
374    transform: function transform(e) {
375      for (var t = 0; t < this.length; t += 1) {
376        this[t].style.transform = e;
377      }
378
379      return this;
380    },
381    transition: function transition(e) {
382      for (var t = 0; t < this.length; t += 1) {
383        this[t].style.transitionDuration = "string" != typeof e ? e + "ms" : e;
384      }
385
386      return this;
387    },
388    on: function on() {
389      for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++) {
390        t[a] = arguments[a];
391      }
392
393      var i = t[0],
394          s = t[1],
395          r = t[2],
396          n = t[3];
397
398      function l(e) {
399        var t = e.target;
400
401        if (t) {
402          var a = e.target.dom7EventData || [];
403          if (a.indexOf(e) < 0 && a.unshift(e), m(t).is(s)) r.apply(t, a);else for (var i = m(t).parents(), n = 0; n < i.length; n += 1) {
404            m(i[n]).is(s) && r.apply(i[n], a);
405          }
406        }
407      }
408
409      function o(e) {
410        var t = e && e.target && e.target.dom7EventData || [];
411        t.indexOf(e) < 0 && t.unshift(e), r.apply(this, t);
412      }
413
414      "function" == typeof t[1] && (i = t[0], r = t[1], n = t[2], s = void 0), n || (n = !1);
415
416      for (var d, p = i.split(" "), u = 0; u < this.length; u += 1) {
417        var c = this[u];
418        if (s) for (d = 0; d < p.length; d += 1) {
419          var h = p[d];
420          c.dom7LiveListeners || (c.dom7LiveListeners = {}), c.dom7LiveListeners[h] || (c.dom7LiveListeners[h] = []), c.dom7LiveListeners[h].push({
421            listener: r,
422            proxyListener: l
423          }), c.addEventListener(h, l, n);
424        } else for (d = 0; d < p.length; d += 1) {
425          var v = p[d];
426          c.dom7Listeners || (c.dom7Listeners = {}), c.dom7Listeners[v] || (c.dom7Listeners[v] = []), c.dom7Listeners[v].push({
427            listener: r,
428            proxyListener: o
429          }), c.addEventListener(v, o, n);
430        }
431      }
432
433      return this;
434    },
435    off: function off() {
436      for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++) {
437        t[a] = arguments[a];
438      }
439
440      var i = t[0],
441          s = t[1],
442          r = t[2],
443          n = t[3];
444      "function" == typeof t[1] && (i = t[0], r = t[1], n = t[2], s = void 0), n || (n = !1);
445
446      for (var l = i.split(" "), o = 0; o < l.length; o += 1) {
447        for (var d = l[o], p = 0; p < this.length; p += 1) {
448          var u = this[p],
449              c = void 0;
450          if (!s && u.dom7Listeners ? c = u.dom7Listeners[d] : s && u.dom7LiveListeners && (c = u.dom7LiveListeners[d]), c && c.length) for (var h = c.length - 1; h >= 0; h -= 1) {
451            var v = c[h];
452            r && v.listener === r || r && v.listener && v.listener.dom7proxy && v.listener.dom7proxy === r ? (u.removeEventListener(d, v.proxyListener, n), c.splice(h, 1
452)) : r || (u.removeEventListener(d, v.proxyListener, n), c.splice(h, 1));
453          }
454        }
455      }
456
457      return this;
458    },
459    trigger: function trigger() {
460      for (var e = l(), t = arguments.length, a = new Array(t), i = 0; i < t; i++) {
461        a[i] = arguments[i];
462      }
463
464      for (var s = a[0].split(" "), r = a[1], n = 0; n < s.length; n += 1) {
465        for (var o = s[n], d = 0; d < this.length; d += 1) {
466          var p = this[d];
467
468          if (e.CustomEvent) {
469            var u = new e.CustomEvent(o, {
470              detail: r,
471              bubbles: !0,
472              cancelable: !0
473            });
474            p.dom7EventData = a.filter(function (e, t) {
475              return t > 0;
476            }), p.dispatchEvent(u), p.dom7EventData = [], delete p.dom7EventData;
477          }
478        }
479      }
480
481      return this;
482    },
483    transitionEnd: function transitionEnd(e) {
484      var t = this;
485      return e && t.on("transitionend", function a(i) {
486        i.target === this && (e.call(this, i), t.off("transitionend", a));
487      }), this;
488    },
489    outerWidth: function outerWidth(e) {
490      if (this.length > 0) {
491        if (e) {
492          var t = this.styles();
493          return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left"));
494        }
495
496        return this[0].offsetWidth;
497      }
498
499      return null;
500    },
501    outerHeight: function outerHeight(e) {
502      if (this.length > 0) {
503        if (e) {
504          var t = this.styles();
505          return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom"));
506        }
507
508        return this[0].offsetHeight;
509      }
510
511      return null;
512    },
513    styles: function styles() {
514      var e = l();
515      return this[0] ? e.getComputedStyle(this[0], null) : {};
516    },
517    offset: function offset() {
518      if (this.length > 0) {
519        var e = l(),
520            t = r(),
521            a = this[0],
522            i = a.getBoundingClientRect(),
523            s = t.body,
524            n = a.clientTop || s.clientTop || 0,
525            o = a.clientLeft || s.clientLeft || 0,
526            d = a === e ? e.scrollY : a.scrollTop,
527            p = a === e ? e.scrollX : a.scrollLeft;
528        return {
529          top: i.top + d - n,
530          left: i.left + p - o
531        };
532      }
533
534      return null;
535    },
536    css: function css(e, t) {
537      var a,
538          i = l();
539
540      if (1 === arguments.length) {
541        if ("string" != typeof e) {
542          for (a = 0; a < this.length; a += 1) {
543            for (var s in e) {
544              this[a].style[s] = e[s];
545            }
546          }
547
548          return this;
549        }
550
551        if (this[0]) return i.getComputedStyle(this[0], null).getPropertyValue(e);
552      }
553
554      if (2 === arguments.length && "string" == typeof e) {
555        for (a = 0; a < this.length; a += 1) {
556          this[a].style[e] = t;
557        }
558
559        return this;
560      }
561
562      return this;
563    },
564    each: function each(e) {
565      return e ? (this.forEach(function (t, a) {
566        e.apply(t, [t, a]);
567      }), this) : this;
568    },
569    html: function html(e) {
570      if (void 0 === e) return this[0] ? this[0].innerHTML : null;
571
572      for (var t = 0; t < this.length; t += 1) {
573        this[t].innerHTML = e;
574      }
575
576      return this;
577    },
578    text: function text(e) {
579      if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
580
581      for (var t = 0; t < this.length; t += 1) {
582        this[t].textContent = e;
583      }
584
585      return this;
586    },
587    is: function is(e) {
588      var t,
589          a,
590          i = l(),
591          s = r(),
592          n = this[0];
593      if (!n || void 0 === e) return !1;
594
595      if ("string" == typeof e) {
596        if (n.matches) return n.matches(e);
597        if (n.webkitMatchesSelector) return n.webkitMatchesSelector(e);
598        if (n.msMatchesSelector) return n.msMatchesSelector(e);
599
600        for (t = m(e), a = 0; a < t.length; a += 1) {
601          if (t[a] === n) return !0;
602        }
603
604        return !1;
605      }
606
607      if (e === s) return n === s;
608      if (e === i) return n === i;
609
610      if (e.nodeType || e instanceof h) {
611        for (t = e.nodeType ? [e] : e, a = 0; a < t.length; a += 1) {
612          if (t[a] === n) return !0;
613        }
614
615        return !1;
616      }
617
618      return !1;
619    },
620    index: function index() {
621      var e,
622          t = this[0];
623
624      if (t) {
625        for (e = 0; null !== (t = t.previousSibling);) {
626          1 === t.nodeType && (e += 1);
627        }
628
629        return e;
630      }
631    },
632    eq: function eq(e) {
633      if (void 0 === e) return this;
634      var t = this.length;
635      if (e > t - 1) return m([]);
636
637      if (e < 0) {
638        var a = t + e;
639        return m(a < 0 ? [] : [this[a]]);
640      }
641
642      return m([this[e]]);
643    },
644    append: function append() {
645      for (var e, t = r(), a = 0; a < arguments.length; a += 1) {
646        e = a < 0 || arguments.length <= a ? void 0 : arguments[a];
647
648        for (var i = 0; i < this.length; i += 1) {
649          if ("string" == typeof e) {
650            var s = t.createElement("div");
651
652            for (s.innerHTML = e; s.firstChild;) {
653              this[i].appendChild(s.firstChild);
654            }
655          } else if (e instanceof h) for (var n = 0; n < e.length; n += 1) {
656            this[i].appendChild(e[n]);
657          } else this[i].appendChild(e);
658        }
659      }
660
661      return this;
662    },
663    prepend: function prepend(e) {
664      var t,
665          a,
666          i = r();
667
668      for (t = 0; t < this.length; t += 1) {
669        if ("string" == typeof e) {
670          var s = i.createElement("div");
671
672          for (s.innerHTML = e, a = s.childNodes.length - 1; a >= 0; a -= 1) {
673            this[t].insertBefore(s.childNodes[a], this[t].childNodes[0]);
674          }
675        } else if (e instanceof h) for (a = 0; a < e.length; a += 1) {
676          this[t].insertBefore(e[a], this[t].childNodes[0]);
677        } else this[t].insertBefore(e, this[t].childNodes[0]);
678      }
679
680      return this;
681    },
682    next: function next(e) {
683      return this.length > 0 ? e ? this[0].nextElementSibling && m(this[0].nextElementSibling).is(e) ? m([this[0].nextElementSibling]) : m([]) : this[0].nextElementSibling ? m([this[0].nextElementSibling]) : m([]) : m([]);
684    },
685    nextAll: function nextAll(e) {
686      var t = [],
687          a = this[0];
688      if (!a) return m([]);
689
690      for (; a.nextElementSibling;) {
691        var i = a.nextElementSibling;
692        e ? m(i).is(e) && t.push(i) : t.push(i), a = i;
693      }
694
695      return m(t);
696    },
697    prev: function prev(e) {
698      if (this.length > 0) {
699        var t = this[0];
700        return e ? t.previousElementSibling && m(t.previousElementSibling).is(e) ? m([t.previousElementSibling]) : m([]) : t.previousElementSibling ? m([t.previousElementSibling]) : m([]);
701      }
702
703      return m([]);
704    },
705    prevAll: function prevAll(e) {
706      var t = [],
707          a = this[0];
708      if (!a) return m([]);
709
710      for (; a.previousElementSibling;) {
711        var i = a.previousElementSibling;
712        e ? m(i).is(e) && t.push(i) : t.push(i), a = i;
713      }
714
715      return m(t);
716    },
717    parent: function parent(e) {
718      for (var t = [], a = 0; a < this.length; a += 1) {
719        null !== this[a].parentNode && (e ? m(this[a].parentNode).is(e) && t.push(this[a].parentNode) : t.push(this[a].parentNode));
720      }
721
722      return m(t);
723    },
724    parents: function parents(e) {
725      for (var t = [], a = 0; a < this.length; a += 1) {
726        for (var i = this[a].parentNode; i;) {
727          e ? m(i).is(e) && t.push(i) : t.push(i), i = i.parentNode;
728        }
729      }
730
731      return m(t);
732    },
733    closest: function closest(e) {
734      var t = this;
735      return void 0 === e ? m([]) : (t.is(e) || (t = t.parents(e).eq(0)), t);
736    },
737    find: function find(e) {
738      for (var t = [], a = 0; a < this.length; a += 1) {
739        for (var i = this[a].querySelectorAll(e), s = 0; s < i.length; s += 1) {
740          t.push(i[s]);
741        }
742      }
743
744      return m(t);
745    },
746    children: function children(e) {
747      for (var t = [], a = 0; a < this.length; a += 1) {
748        for (var i = this[a].children, s = 0; s < i.length; s += 1) {
749          e && !m(i[s]).is(e) || t.push(i[s]);
750        }
751      }
752
753      return m(t);
754    },
755    filter: function filter(e) {
756      return m(f(this, e));
757    },
758    remove: function remove() {
759      for (var e = 0; e < this.length; e += 1) {
760        this[e].parentNode && this[e].parentNode.removeChild(this[e]);
761      }
762
763      return this;
764    }
765  };
766
767  function E(e, t) {
768    return void 0 === t && (t = 0), setTimeout(e, t);
769  }
770
771  function x() {
772    return Date.now();
773  }
774
775  function T(e, t) {
776    void 0 === t && (t = "x");
777
778    var a,
779        i,
780        s,
781        r = l(),
782        n = function (e) {
783      var t,
784          a = l();
785      return a.getComputedStyle && (t = a.getComputedStyle(e, null)), !t && e.currentStyle && (t = e.currentStyle), t || (t = e.style), t;
786    }(e);
787
788    return r.WebKitCSSMatrix ? ((i = n.transform || n.webkitTransform).split(",").length > 6 && (i = i.split(", ").map(function (e) {
789      return e.replace(",", ".");
790    }).join(", ")), s = new r.WebKitCSSMatrix("none" === i ? "" : i)) : a = (s = n.MozTransform || n.OTransform || n.MsTransform || n.msTransform || n.transform || n.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")).toString().split(","), "x" === t && (i = r.WebKitCSSMatrix ? s.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])), "y" === t && (i = r.WebKitCSSMatrix ? s.m42 : 16 === a.length ? parseFloat(a[13]) : parseFloat(a[5])), i || 0;
791  }
792
793  function C(e) {
794    return "object" == _typeof(e) && null !== e && e.constructor && "Object" === Object.prototype.toString.call(e).slice(8, -1);
795  }
796
797  function S(e) {
798    return "undefined" != typeof window && void 0 !== window.HTMLElement ? e instanceof HTMLElement : e && (1 === e.nodeType || 11 === e.nodeType);
799  }
800
801  function M() {
802    for (var e = Object(arguments.length <= 0 ? void 0 : arguments[0]), t = ["__proto__", "constructor", "prototype"], a = 1; a < arguments.length; a += 1) {
803      var i = a < 0 || arguments.length <= a ? void 0 : arguments[a];
804      if (null != i && !S(i)) for (var s = Object.keys(Object(i)).filter(function (e) {
805        return t.indexOf(e) < 0;
806      }), r = 0, n = s.length; r < n; r += 1) {
807        var l = s[r],
808            o = Object.getOwnPropertyDescriptor(i, l);
809        void 0 !== o && o.enumerable && (C(e[l]) && C(i[l]) ? i[l].__swiper__ ? e[l] = i[l] : M(e[l], i[l]) : !C(e[l]) && C(i[l]) ? (e[l] = {}, i[l].__swiper__ ? e[l] = i[l] : M(e[l], i[l])) : e[l] = i[l]);
810      }
811    }
812
813    return e;
814  }
815
816  function z(e, t) {
817    Object.keys(t).forEach(function (a) {
818      C(t[a]) && Object.keys(t[a]).forEach(function (i) {
819        "function" == typeof t[a][i] && (t[a][i] = t[a][i].bind(e));
820      }), e[a] = t[a];
821    });
822  }
823
824  function P(e) {
825    return void 0 === e && (e = ""), "." + e.trim().replace(/([\.:!\/])/g, "\\$1").replace(/ /g, ".");
826  }
827
828  function k(e, t, a, i) {
829    var s = r();
830    return a && Object.keys(i).forEach(function (a) {
831      if (!t[a] && !0 === t.auto) {
832        var r = s.createElement("div");
833        r.className = i[a], e.append(r), t[a] = r;
834      }
835    }), t;
836  }
837
838  function $() {
839    return g || (g = function () {
840      var e = l(),
841          t = r();
842      return {
843        touch: !!("ontouchstart" in e || e.DocumentTouch && t instanceof e.DocumentTouch),
844        pointerEvents: !!e.PointerEvent && "maxTouchPoints" in e.navigator && e.navigator.maxTouchPoints >= 0,
845        observer: "MutationObserver" in e || "WebkitMutationObserver" in e,
846        passiveListener: function () {
847          var t = !1;
848
849          try {
850            var a = Object.defineProperty({}, "passive", {
851              get: function get() {
852                t = !0;
853              }
854            });
855            e.addEventListener("testPassiveListener", null, a);
856          } catch (e) {}
857
858          return t;
859        }(),
860        gestures: "ongesturestart" in e
861      };
862    }()), g;
863  }
864
865  function L(e) {
866    return void 0 === e && (e = {}), b || (b = function (e) {
867      var t = (void 0 === e ? {} : e).userAgent,
868          a = $(),
869          i = l(),
870          s = i.navigator.platform,
871          r = t || i.navigator.userAgent,
872          n = {
873        ios: !1,
874        android: !1
875      },
876          o = i.screen.width,
877          d = i.screen.height,
878          p = r.match(/(Android);?[\s\/]+([\d.]+)?/),
879          u = r.match(/(iPad).*OS\s([\d_]+)/),
880          c = r.match(/(iPod)(.*OS\s([\d_]+))?/),
881          h = !u && r.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
882          v = "Win32" === s,
883          f = "MacIntel" === s;
884      return !u && f && a.touch && ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"].indexOf(o + "x" + d) >= 0 && ((u = r.match(/(Version)\/([\d.]+)/)) || (u = [0, 1, "13_0_0"]), f = !1), p && !v && (n.os = "android", n.android = !0), (u || h || c) && (n.os = "ios", n.ios = !0), n;
885    }(e)), b;
886  }
887
888  function I() {
889    return w || (w = function () {
890      var e,
891          t = l();
892      return {
893        isEdge: !!t.navigator.userAgent.match(/Edge/g),
894        isSafari: (e = t.navigator.userAgent.toLowerCase(), e.indexOf("safari") >= 0 && e.indexOf("chrome") < 0 && e.indexOf("android") < 0),
895        isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent)
896      };
897    }()), w;
898  }
899
900  Object.keys(y).forEach(function (e) {
901    Object.defineProperty(m.fn, e, {
902      value: y[e],
903      writable: !0
904    });
905  });
906  var O = {
907    name: "resize",
908    create: function create() {
909      var e = this;
910      M(e, {
911        resize: {
912          observer: null,
913          createObserver: function createObserver() {
914            e && !e.destroyed && e.initialized && (e.resize.observer = new ResizeObserver(function (t) {
915              var a = e.width,
916                  i = e.height,
917                  s = a,
918                  r = i;
919              t.forEach(function (t) {
920                var a = t.contentBoxSize,
921                    i = t.contentRect,
922                    n = t.target;
923                n && n !== e.el || (s = i ? i.width : (a[0] || a).inlineSize, r = i ? i.height : (a[0] || a).blockSize);
924              }), s === a && r === i || e.resize.resizeHandler();
925            }), e.resize.observer.observe(e.el));
926          },
927          removeObserver: function removeObserver() {
928            e.resize.observer && e.resize.observer.unobserve && e.el && (e.resize.observer.unobserve(e.el), e.resize.observer = null);
929          },
930          resizeHandler: function resizeHandler() {
931            e && !e.destroyed && e.initialized && (e.emit("beforeResize"), e.emit("resize"));
932          },
933          orientationChangeHandler: function orientationChangeHandler() {
934            e && !e.destroyed && e.initialized && e.emit("orientationchange");
935          }
936        }
937      });
938    },
939    on: {
940      init: function init(e) {
941        var t = l();
942        e.params.resizeObserver && void 0 !== l().ResizeObserver ? e.resize.createObserver() : (t.addEventListener("resize", e.resize.resizeHandler), t.addEventListener("orientationchange", e.resize.orientationChangeHandler));
943      },
944      destroy: function destroy(e) {
945        var t = l();
946        e.resize.removeObserver(), t.removeEventListener("resize", e.resize.resizeHandler), t.removeEventListener("orientationchange", e.resize.orientationChangeHandler);
947      }
948    }
949  },
950      A = {
951    attach: function attach(e, t) {
952      void 0 === t && (t = {});
953      var a = l(),
954          i = this,
955          s = new (a.MutationObserver || a.WebkitMutationObserver)(function (e) {
956        if (1 !== e.length) {
957          var t = function t() {
958            i.emit("observerUpdate", e[0]);
959          };
960
961          a.requestAnimationFrame ? a.requestAnimationFrame(t) : a.setTimeout(t, 0);
962        } else i.emit("observerUpdate", e[0]);
963      });
964      s.observe(e, {
965        attributes: void 0 === t.attributes || t.attributes,
966        childList: void 0 === t.childList || t.childList,
967        characterData: void 0 === t.characterData || t.characterData
968      }), i.observer.observers.push(s);
969    },
vendor: 17,204 bytes, lines 970-1302
970    init: function init() {
971      var e = this;
972
973      if (e.support.observer && e.params.observer) {
974        if (e.params.observeParents) for (var t = e.$el.parents(), a = 0; a < t.length; a += 1) {
975          e.observer.attach(t[a]);
976        }
977        e.observer.attach(e.$el[0], {
978          childList: e.params.observeSlideChildren
979        }), e.observer.attach(e.$wrapperEl[0], {
980          attributes: !1
981        });
982      }
983    },
984    destroy: function destroy() {
985      this.observer.observers.forEach(function (e) {
986        e.disconnect();
987      }), this.observer.observers = [];
988    }
989  },
990      D = {
991    name: "observer",
992    params: {
993      observer: !1,
994      observeParents: !1,
995      observeSlideChildren: !1
996    },
997    create: function create() {
998      z(this, {
999        observer: t({}, A, {
1000          observers: []
1001        })
1002      });
1003    },
1004    on: {
1005      init: function init(e) {
1006        e.observer.init();
1007      },
1008      destroy: function destroy(e) {
1009        e.observer.destroy();
1010      }
1011    }
1012  };
1013
1014  function N(e) {
1015    var t = this,
1016        a = r(),
1017        i = l(),
1018        s = t.touchEventsData,
1019        n = t.params,
1020        o = t.touches;
1021
1022    if (t.enabled && (!t.animating || !n.preventInteractionOnTransition)) {
1023      var d = e;
1024      d.originalEvent && (d = d.originalEvent);
1025      var p = m(d.target);
1026
1027      if (("wrapper" !== n.touchEventsTarget || p.closest(t.wrapperEl).length) && (s.isTouchEvent = "touchstart" === d.type, (s.isTouchEvent || !("which" in d) || 3 !== d.which) && !(!s.isTouchEvent && "button" in d && d.button > 0 || s.isTouched && s.isMoved))) {
1028        !!n.noSwipingClass && "" !== n.noSwipingClass && d.target && d.target.shadowRoot && e.path && e.path[0] && (p = m(e.path[0]));
1029        var u = n.noSwipingSelector ? n.noSwipingSelector : "." + n.noSwipingClass,
1030            c = !(!d.target || !d.target.shadowRoot);
1031        if (n.noSwiping && (c ? function (e, t) {
1032          return void 0 === t && (t = this), function t(a) {
1033            return a && a !== r() && a !== l() ? (a.assignedSlot && (a = a.assignedSlot), a.closest(e) || t(a.getRootNode().host)) : null;
1034          }(t);
1035        }(u, d.target) : p.closest(u)[0])) t.allowClick = !0;else if (!n.swipeHandler || p.closest(n.swipeHandler)[0]) {
1036          o.currentX = "touchstart" === d.type ? d.targetTouches[0].pageX : d.pageX, o.currentY = "touchstart" === d.type ? d.targetTouches[0].pageY : d.pageY;
1037          var h = o.currentX,
1038              v = o.currentY,
1039              f = n.edgeSwipeDetection || n.iOSEdgeSwipeDetection,
1040              g = n.edgeSwipeThreshold || n.iOSEdgeSwipeThreshold;
1041
1042          if (f && (h <= g || h >= i.innerWidth - g)) {
1043            if ("prevent" !== f) return;
1044            e.preventDefault();
1045          }
1046
1047          if (M(s, {
1048            isTouched: !0,
1049            isMoved: !1,
1050            allowTouchCallbacks: !0,
1051            isScrolling: void 0,
1052            startMoving: void 0
1053          }), o.startX = h, o.startY = v, s.touchStartTime = x(), t.allowClick = !0, t.updateSize(), t.swipeDirection = void 0, n.threshold > 0 && (s.allowThresholdMove = !1), "touchstart" !== d.type) {
1054            var b = !0;
1055            p.is(s.focusableElements) && (b = !1), a.activeElement && m(a.activeElement).is(s.focusableElements) && a.activeElement !== p[0] && a.activeElement.blur();
1056            var w = b && t.allowTouchMove && n.touchStartPreventDefault;
1057            !n.touchStartForcePreventDefault && !w || p[0].isContentEditable || d.preventDefault();
1058          }
1059
1060          t.emit("touchStart", d);
1061        }
1062      }
1063    }
1064  }
1065
1066  function G(e) {
1067    var t = r(),
1068        a = this,
1069        i = a.touchEventsData,
1070        s = a.params,
1071        n = a.touches,
1072        l = a.rtlTranslate;
1073
1074    if (a.enabled) {
1075      var o = e;
1076
1077      if (o.originalEvent && (o = o.originalEvent), i.isTouched) {
1078        if (!i.isTouchEvent || "touchmove" === o.type) {
1079          var d = "touchmove" === o.type && o.targetTouches && (o.targetTouches[0] || o.changedTouches[0]),
1080              p = "touchmove" === o.type ? d.pageX : o.pageX,
1081              u = "touchmove" === o.type ? d.pageY : o.pageY;
1082          if (o.preventedByNestedSwiper) return n.startX = p, void (n.startY = u);
1083          if (!a.allowTouchMove) return a.allowClick = !1, void (i.isTouched && (M(n, {
1084            startX: p,
1085            startY: u,
1086            currentX: p,
1087            currentY: u
1088          }), i.touchStartTime = x()));
1089          if (i.isTouchEvent && s.touchReleaseOnEdges && !s.loop) if (a.isVertical()) {
1090            if (u < n.startY && a.translate <= a.maxTranslate() || u > n.startY && a.translate >= a.minTranslate()) return i.isTouched = !1, void (i.isMoved = !1);
1091          } else if (p < n.startX && a.translate <= a.maxTranslate() || p > n.startX && a.translate >= a.minTranslate()) return;
1092          if (i.isTouchEvent && t.activeElement && o.target === t.activeElement && m(o.target).is(i.focusableElements)) return i.isMoved = !0, void (a.allowClick = !1);
1093
1094          if (i.allowTouchCallbacks && a.emit("touchMove", o), !(o.targetTouches && o.targetTouches.length > 1)) {
1095            n.currentX = p, n.currentY = u;
1096            var c = n.currentX - n.startX,
1097                h = n.currentY - n.startY;
1098
1099            if (!(a.params.threshold && Math.sqrt(Math.pow(c, 2) + Math.pow(h, 2)) < a.params.threshold)) {
1100              var v;
1101              if (void 0 === i.isScrolling) a.isHorizontal() && n.currentY === n.startY || a.isVertical() && n.currentX === n.startX ? i.isScrolling = !1 : c * c + h * h >= 25 && (v = 180 * Math.atan2(Math.abs(h), Math.abs(c)) / Math.PI, i.isScrolling = a.isHorizontal() ? v > s.touchAngle : 90 - v > s.touchAngle);
1102              if (i.isScrolling && a.emit("touchMoveOpposite", o), void 0 === i.startMoving && (n.currentX === n.startX && n.currentY === n.startY || (i.startMoving = !0)), i.isScrolling) i.isTouched = !1;else if (i.startMoving) {
1103                a.allowClick = !1, !s.cssMode && o.cancelable && o.preventDefault(), s.touchMoveStopPropagation && !s.nested && o.stopPropagation(), i.isMoved || (s.loop && a.loopFix(), i.startTranslate = a.getTranslate(), a.setTransition(0), a.animating && a.$wrapperEl.trigger("webkitTransitionEnd transitionend"), i.allowMomentumBounce = !1, !s.grabCursor || !0 !== a.allowSlideNext && !0 !== a.allowSlidePrev || a.setGrabCursor(!0), a.emit("sliderFirstMove", o)), a.emit("sliderMove", o), i.isMoved = !0;
1104                var f = a.isHorizontal() ? c : h;
1105                n.diff = f, f *= s.touchRatio, l && (f = -f), a.swipeDirection = f > 0 ? "prev" : "next", i.currentTranslate = f + i.startTranslate;
1106                var g = !0,
1107                    b = s.resistanceRatio;
1108
1109                if (s.touchReleaseOnEdges && (b = 0), f > 0 && i.currentTranslate > a.minTranslate() ? (g = !1, s.resistance && (i.currentTranslate = a.minTranslate() - 1 + Math.pow(-a.minTranslate() + i.startTranslate + f, b))) : f < 0 && i.currentTranslate < a.maxTranslate() && (g = !1, s.resistance && (i.currentTranslate = a.maxTranslate() + 1 - Math.pow(a.maxTranslate() - i.startTranslate - f, b))), g && (o.preventedByNestedSwiper = !0), !a.allowSlideNext && "next" === a.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate), !a.allowSlidePrev && "prev" === a.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate), a.allowSlidePrev || a.allowSlideNext || (i.currentTranslate = i.startTranslate), s.threshold > 0) {
1110                  if (!(Math.abs(f) > s.threshold || i.allowThresholdMove)) return void (i.currentTranslate = i.startTranslate);
1111                  if (!i.allowThresholdMove) return i.allowThresholdMove = !0, n.startX = n.currentX, n.startY = n.currentY, i.currentTranslate = i.startTranslate, void (n.diff = a.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY);
1112                }
1113
1114                s.followFinger && !s.cssMode && ((s.freeMode || s.watchSlidesProgress || s.watchSlidesVisibility) && (a.updateActiveIndex(), a.updateSlidesClasses()), s.freeMode && (0 === i.velocities.length && i.velocities.push({
1115                  position: n[a.isHorizontal() ? "startX" : "startY"],
1116                  time: i.touchStartTime
1117                }), i.velocities.push({
1118                  position: n[a.isHorizontal() ? "currentX" : "currentY"],
1119                  time: x()
1120                })), a.updateProgress(i.currentTranslate), a.setTranslate(i.currentTranslate));
1121              }
1122            }
1123          }
1124        }
1125      } else i.startMoving && i.isScrolling && a.emit("touchMoveOpposite", o);
1126    }
1127  }
1128
1129  function B(e) {
1130    var t = this,
1131        a = t.touchEventsData,
1132        i = t.params,
1133        s = t.touches,
1134        r = t.rtlTranslate,
1135        n = t.$wrapperEl,
1136        l = t.slidesGrid,
1137        o = t.snapGrid;
1138
1139    if (t.enabled) {
1140      var d = e;
1141      if (d.originalEvent && (d = d.originalEvent), a.allowTouchCallbacks && t.emit("touchEnd", d), a.allowTouchCallbacks = !1, !a.isTouched) return a.isMoved && i.grabCursor && t.setGrabCursor(!1), a.isMoved = !1, void (a.startMoving = !1);
1142      i.grabCursor && a.isMoved && a.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1);
1143      var p,
1144          u = x(),
1145          c = u - a.touchStartTime;
1146      if (t.allowClick && (t.updateClickedSlide(d), t.emit("tap click", d), c < 300 && u - a.lastClickTime < 300 && t.emit("doubleTap doubleClick", d)), a.lastClickTime = x(), E(function () {
1147        t.destroyed || (t.allowClick = !0);
1148      }), !a.isTouched || !a.isMoved || !t.swipeDirection || 0 === s.diff || a.currentTranslate === a.startTranslate) return a.isTouched = !1, a.isMoved = !1, void (a.startMoving = !1);
1149      if (a.isTouched = !1, a.isMoved = !1, a.startMoving = !1, p = i.followFinger ? r ? t.translate : -t.translate : -a.currentTranslate, !i.cssMode) if (i.freeMode) {
1150        if (p < -t.minTranslate()) return void t.slideTo(t.activeIndex);
1151        if (p > -t.maxTranslate()) return void (t.slides.length < o.length ? t.slideTo(o.length - 1) : t.slideTo(t.slides.length - 1));
1152
1153        if (i.freeModeMomentum) {
1154          if (a.velocities.length > 1) {
1155            var h = a.velocities.pop(),
1156                v = a.velocities.pop(),
1157                f = h.position - v.position,
1158                m = h.time - v.time;
1159            t.velocity = f / m, t.velocity /= 2, Math.abs(t.velocity) < i.freeModeMinimumVelocity && (t.velocity = 0), (m > 150 || x() - h.time > 300) && (t.velocity = 0);
1160          } else t.velocity = 0;
1161
1162          t.velocity *= i.freeModeMomentumVelocityRatio, a.velocities.length = 0;
1163          var g = 1e3 * i.freeModeMomentumRatio,
1164              b = t.velocity * g,
1165              w = t.translate + b;
1166          r && (w = -w);
1167          var y,
1168              T,
1169              C = !1,
1170              S = 20 * Math.abs(t.velocity) * i.freeModeMomentumBounceRatio;
1171          if (w < t.maxTranslate()) i.freeModeMomentumBounce ? (w + t.maxTranslate() < -S && (w = t.maxTranslate() - S), y = t.maxTranslate(), C = !0, a.allowMomentumBounce = !0) : w = t.maxTranslate(), i.loop && i.centeredSlides && (T = !0);else if (w > t.minTranslate()) i.freeModeMomentumBounce ? (w - t.minTranslate() > S && (w = t.minTranslate() + S), y = t.minTranslate(), C = !0, a.allowMomentumBounce = !0) : w = t.minTranslate(), i.loop && i.centeredSlides && (T = !0);else if (i.freeModeSticky) {
1172            for (var M, z = 0; z < o.length; z += 1) {
1173              if (o[z] > -w) {
1174                M = z;
1175                break;
1176              }
1177            }
1178
1179            w = -(w = Math.abs(o[M] - w) < Math.abs(o[M - 1] - w) || "next" === t.swipeDirection ? o[M] : o[M - 1]);
1180          }
1181
1182          if (T && t.once("transitionEnd", function () {
1183            t.loopFix();
1184          }), 0 !== t.velocity) {
1185            if (g = r ? Math.abs((-w - t.translate) / t.velocity) : Math.abs((w - t.translate) / t.velocity), i.freeModeSticky) {
1186              var P = Math.abs((r ? -w : w) - t.translate),
1187                  k = t.slidesSizesGrid[t.activeIndex];
1188              g = P < k ? i.speed : P < 2 * k ? 1.5 * i.speed : 2.5 * i.speed;
1189            }
1190          } else if (i.freeModeSticky) return void t.slideToClosest();
1191
1192          i.freeModeMomentumBounce && C ? (t.updateProgress(y), t.setTransition(g), t.setTranslate(w), t.transitionStart(!0, t.swipeDirection), t.animating = !0, n.transitionEnd(function () {
1193            t && !t.destroyed && a.allowMomentumBounce && (t.emit("momentumBounce"), t.setTransition(i.speed), setTimeout(function () {
1194              t.setTranslate(y), n.transitionEnd(function () {
1195                t && !t.destroyed && t.transitionEnd();
1196              });
1197            }, 0));
1198          })) : t.velocity ? (t.updateProgress(w), t.setTransition(g), t.setTranslate(w), t.transitionStart(!0, t.swipeDirection), t.animating || (t.animating = !0, n.transitionEnd(function () {
1199            t && !t.destroyed && t.transitionEnd();
1200          }))) : (t.emit("_freeModeNoMomentumRelease"), t.updateProgress(w)), t.updateActiveIndex(), t.updateSlidesClasses();
1201        } else {
1202          if (i.freeModeSticky) return void t.slideToClosest();
1203          i.freeMode && t.emit("_freeModeNoMomentumRelease");
1204        }
1205
1206        (!i.freeModeMomentum || c >= i.longSwipesMs) && (t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses());
1207      } else {
1208        for (var $ = 0, L = t.slidesSizesGrid[0], I = 0; I < l.length; I += I < i.slidesPerGroupSkip ? 1 : i.slidesPerGroup) {
1209          var O = I < i.slidesPerGroupSkip - 1 ? 1 : i.slidesPerGroup;
1210          void 0 !== l[I + O] ? p >= l[I] && p < l[I + O] && ($ = I, L = l[I + O] - l[I]) : p >= l[I] && ($ = I, L = l[l.length - 1] - l[l.length - 2]);
1211        }
1212
1213        var A = (p - l[$]) / L,
1214            D = $ < i.slidesPerGroupSkip - 1 ? 1 : i.slidesPerGroup;
1215
1216        if (c > i.longSwipesMs) {
1217          if (!i.longSwipes) return void t.slideTo(t.activeIndex);
1218          "next" === t.swipeDirection && (A >= i.longSwipesRatio ? t.slideTo($ + D) : t.slideTo($)), "prev" === t.swipeDirection && (A > 1 - i.longSwipesRatio ? t.slideTo($ + D) : t.slideTo($));
1219        } else {
1220          if (!i.shortSwipes) return void t.slideTo(t.activeIndex);
1221          t.navigation && (d.target === t.navigation.nextEl || d.target === t.navigation.prevEl) ? d.target === t.navigation.nextEl ? t.slideTo($ + D) : t.slideTo($) : ("next" === t.swipeDirection && t.slideTo($ + D), "prev" === t.swipeDirection && t.slideTo($));
1222        }
1223      }
1224    }
1225  }
1226
1227  function H() {
1228    var e = this,
1229        t = e.params,
1230        a = e.el;
1231
1232    if (!a || 0 !== a.offsetWidth) {
1233      t.breakpoints && e.setBreakpoint();
1234      var i = e.allowSlideNext,
1235          s = e.allowSlidePrev,
1236          r = e.snapGrid;
1237      e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), e.updateSlidesClasses(), ("auto" === t.slidesPerView || t.slidesPerView > 1) && e.isEnd && !e.isBeginning && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0), e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.run(), e.allowSlidePrev = s, e.allowSlideNext = i, e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow();
1238    }
1239  }
1240
1241  function R(e) {
1242    var t = this;
1243    t.enabled && (t.allowClick || (t.params.preventClicks && e.preventDefault(), t.params.preventClicksPropagation && t.animating && (e.stopPropagation(), e.stopImmediatePropagation())));
1244  }
1245
1246  function X() {
1247    var e = this,
1248        t = e.wrapperEl,
1249        a = e.rtlTranslate;
1250
1251    if (e.enabled) {
1252      e.previousTranslate = e.translate, e.isHorizontal() ? e.translate = a ? t.scrollWidth - t.offsetWidth - t.scrollLeft : -t.scrollLeft : e.translate = -t.scrollTop, -0 === e.translate && (e.translate = 0), e.updateActiveIndex(), e.updateSlidesClasses();
1253      var i = e.maxTranslate() - e.minTranslate();
1254      (0 === i ? 0 : (e.translate - e.minTranslate()) / i) !== e.progress && e.updateProgress(a ? -e.translate : e.translate), e.emit("setTranslate", e.translate, !1);
1255    }
1256  }
1257
1258  var Y = !1;
1259
1260  function V() {}
1261
1262  var W = {
1263    init: !0,
1264    direction: "horizontal",
1265    touchEventsTarget: "container",
1266    initialSlide: 0,
1267    speed: 300,
1268    cssMode: !1,
1269    updateOnWindowResize: !0,
1270    resizeObserver: !1,
1271    nested: !1,
1272    createElements: !1,
1273    enabled: !0,
1274    focusableElements: "input, select, option, textarea, button, video, label",
1275    width: null,
1276    height: null,
1277    preventInteractionOnTransition: !1,
1278    userAgent: null,
1279    url: null,
1280    edgeSwipeDetection: !1,
1281    edgeSwipeThreshold: 20,
1282    freeMode: !1,
1283    freeModeMomentum: !0,
1284    freeModeMomentumRatio: 1,
1285    freeModeMomentumBounce: !0,
1286    freeModeMomentumBounceRatio: 1,
1287    freeModeMomentumVelocityRatio: 1,
1288    freeModeSticky: !1,
1289    freeModeMinimumVelocity: .02,
1290    autoHeight: !1,
1291    setWrapperSize: !1,
1292    virtualTranslate: !1,
1293    effect: "slide",
1294    breakpoints: void 0,
1295    breakpointsBase: "window",
1296    spaceBetween: 0,
1297    slidesPerView: 1,
1298    slidesPerColumn: 1,
1299    slidesPerColumnFill: "column",
1300    slidesPerGroup: 1,
1301    slidesPerGroupSkip: 0,
1302    centeredSlides: !1,
1303    centeredSlidesBounds: !1,
1304    slidesOffsetBefore: 0,
1305    slidesOffsetAfter: 0,
1306    normalizeSlideIndex: !0,
1307    centerInsufficientSlides: !1,
1308    watchOverflow: !1,
1309    roundLengths: !1,
1310    touchRatio: 1,
1311    touchAngle: 45,
1312    simulateTouch: !0,
1313    shortSwipes: !0,
1314    longSwipes: !0,
1315    longSwipesRatio: .5,
1316    longSwipesMs: 300,
1317    followFinger: !0,
1318    allowTouchMove: !0,
1319    threshold: 0,
1320    touchMoveStopPropagation: !1,
1321    touchStartPreventDefault: !0,
1322    touchStartForcePreventDefault: !1,
1323    touchReleaseOnEdges: !1,
1324    uniqueNavElements: !0,
1325    resistance: !0,
1326    resistanceRatio: .85,
1327    watchSlidesProgress: !1,
1328    watchSlidesVisibility: !1,
1329    grabCursor: !1,
1330    preventClicks: !0,
1331    preventClicksPropagation: !0,
1332    slideToClickedSlide: !1,
1333    preloadImages: !0,
1334    updateOnImagesReady: !0,
1335    loop: !1,
1336    loopAdditionalSlides: 0,
1337    loopedSlides: null,
1338    loopFillGroupWithBlank: !1,
1339    loopPreventsSlide: !0,
1340    allowSlidePrev: !0,
1341    allowSlideNext: !0,
1342    swipeHandler: null,
1343    noSwiping: !0,
1344    noSwipingClass: "swiper-no-swiping",
1345    noSwipingSelector: null,
1346    passiveListeners: !0,
1347    containerModifierClass: "swiper-container-",
1348    slideClass: "swiper-slide",
1349    slideBlankClass: "swiper-slide-invisible-blank",
1350    slideActiveClass: "swiper-slide-active",
1351    slideDuplicateActiveClass: "swiper-slide-duplicate-active",
1352    slideVisibleClass: "swiper-slide-visible",
1353    slideDuplicateClass: "swiper-slide-duplicate",
1354    slideNextClass: "swiper-slide-next",
1355    slideDuplicateNextClass: "swiper-slide-duplicate-next",
1356    slidePrevClass: "swiper-slide-prev",
1357    slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
1358    wrapperClass: "swiper-wrapper",
1359    runCallbacksOnInit: !0,
1360    _emitClasses: !1
1361  },
1362      F = {
1363    modular: {
1364      useParams: function useParams(e) {
1365        var t = this;
1366        t.modules && Object.keys(t.modules).forEach(function (a) {
1367          var i = t.modules[a];
1368          i.params && M(e, i.params);
1369        });
1370      },
1371      useModules: function useModules(e) {
1372        void 0 === e && (e = {});
1373        var t = this;
1374        t.modules && Object.keys(t.modules).forEach(function (a) {
1375          var i = t.modules[a],
1376              s = e[a] || {};
1377          i.on && t.on && Object.keys(i.on).forEach(function (e) {
1378            t.on(e, i.on[e]);
1379          }), i.create && i.create.bind(t)(s);
1380        });
1381      }
1382    },
1383    eventsEmitter: {
1384      on: function on(e, t, a) {
1385        var i = this;
1386        if ("function" != typeof t) return i;
1387        var s = a ? "unshift" : "push";
1388        return e.split(" ").forEach(function (e) {
1389          i.eventsListeners[e] || (i.eventsListeners[e] = []), i.eventsListeners[e][s](t);
1390        }), i;
1391      },
1392      once: function once(e, t, a) {
1393        var i = this;
1394        if ("function" != typeof t) return i;
1395
1396        function s() {
1397          i.off(e, s), s.__emitterProxy && delete s.__emitterProxy;
1398
1399          for (var a = arguments.length, r = new Array(a), n = 0; n < a; n++) {
1400            r[n] = arguments[n];
1401          }
1402
1403          t.apply(i, r);
1404        }
1405
1406        return s.__emitterProxy = t, i.on(e, s, a);
1407      },
1408      onAny: function onAny(e, t) {
1409        var a = this;
1410        if ("function" != typeof e) return a;
1411        var i = t ? "unshift" : "push";
1412        return a.eventsAnyListeners.indexOf(e) < 0 && a.eventsAnyListeners[i](e), a;
1413      },
1414      offAny: function offAny(e) {
1415        var t = this;
1416        if (!t.eventsAnyListeners) return t;
1417        var a = t.eventsAnyListeners.indexOf(e);
1418        return a >= 0 && t.eventsAnyListeners.splice(a, 1), t;
1419      },
1420      off: function off(e, t) {
1421        var a = this;
1422        return a.eventsListeners ? (e.split(" ").forEach(function (e) {
1423          void 0 === t ? a.eventsListeners[e] = [] : a.eventsListeners[e] && a.eventsListeners[e].forEach(function (i, s) {
1424            (i === t || i.__emitterProxy && i.__emitterProxy === t) && a.eventsListeners[e].splice(s, 1);
1425          });
1426        }), a) : a;
1427      },
1428      emit: function emit() {
1429        var e,
1430            t,
1431            a,
1432            i = this;
1433        if (!i.eventsListeners) return i;
1434
1435        for (var s = arguments.length, r = new Array(s), n = 0; n < s; n++) {
1436          r[n] = arguments[n];
1437        }
1438
1439        "string" == typeof r[0] || Array.isArray(r[0]) ? (e = r[0], t = r.slice(1, r.length), a = i) : (e = r[0].events, t = r[0].data, a = r[0].context || i), t.unshift(a);
1440        var l = Array.isArray(e) ? e : e.split(" ");
1441        return l.forEach(function (e) {
1442          i.eventsAnyListeners && i.eventsAnyListeners.length && i.eventsAnyListeners.forEac
vendor: 4,166 bytes, lines 1442-1537
1442h(function (i) {
1443            i.apply(a, [e].concat(t));
1444          }), i.eventsListeners && i.eventsListeners[e] && i.eventsListeners[e].forEach(function (e) {
1445            e.apply(a, t);
1446          });
1447        }), i;
1448      }
1449    },
1450    update: {
1451      updateSize: function updateSize() {
1452        var e,
1453            t,
1454            a = this,
1455            i = a.$el;
1456        e = void 0 !== a.params.width && null !== a.params.width ? a.params.width : i[0].clientWidth, t = void 0 !== a.params.height && null !== a.params.height ? a.params.height : i[0].clientHeight, 0 === e && a.isHorizontal() || 0 === t && a.isVertical() || (e = e - parseInt(i.css("padding-left") || 0, 10) - parseInt(i.css("padding-right") || 0, 10), t = t - parseInt(i.css("padding-top") || 0, 10) - parseInt(i.css("padding-bottom") || 0, 10), Number.isNaN(e) && (e = 0), Number.isNaN(t) && (t = 0), M(a, {
1457          width: e,
1458          height: t,
1459          size: a.isHorizontal() ? e : t
1460        }));
1461      },
1462      updateSlides: function updateSlides() {
1463        var e = this;
1464
1465        function t(t) {
1466          return e.isHorizontal() ? t : {
1467            width: "height",
1468            "margin-top": "margin-left",
1469            "margin-bottom ": "margin-right",
1470            "margin-left": "margin-top",
1471            "margin-right": "margin-bottom",
1472            "padding-left": "padding-top",
1473            "padding-right": "padding-bottom",
1474            marginRight: "marginBottom"
1475          }[t];
1476        }
1477
1478        function a(e, a) {
1479          return parseFloat(e.getPropertyValue(t(a)) || 0);
1480        }
1481
1482        var i = e.params,
1483            s = e.$wrapperEl,
1484            r = e.size,
1485            n = e.rtlTranslate,
1486            l = e.wrongRTL,
1487            o = e.virtual && i.virtual.enabled,
1488            d = o ? e.virtual.slides.length : e.slides.length,
1489            p = s.children("." + e.params.slideClass),
1490            u = o ? e.virtual.slides.length : p.length,
1491            c = [],
1492            h = [],
1493            v = [],
1494            f = i.slidesOffsetBefore;
1495        "function" == typeof f && (f = i.slidesOffsetBefore.call(e));
1496        var m = i.slidesOffsetAfter;
1497        "function" == typeof m && (m = i.slidesOffsetAfter.call(e));
1498        var g = e.snapGrid.length,
1499            b = e.slidesGrid.length,
1500            w = i.spaceBetween,
1501            y = -f,
1502            E = 0,
1503            x = 0;
1504
1505        if (void 0 !== r) {
1506          var T, C;
1507          "string" == typeof w && w.indexOf("%") >= 0 && (w = parseFloat(w.replace("%", "")) / 100 * r), e.virtualSize = -w, n ? p.css({
1508            marginLeft: "",
1509            marginBottom: "",
1510            marginTop: ""
1511          }) : p.css({
1512            marginRight: "",
1513            marginBottom: "",
1514            marginTop: ""
1515          }), i.slidesPerColumn > 1 && (T = Math.floor(u / i.slidesPerColumn) === u / e.params.slidesPerColumn ? u : Math.ceil(u / i.slidesPerColumn) * i.slidesPerColumn, "auto" !== i.slidesPerView && "row" === i.slidesPerColumnFill && (T = Math.max(T, i.slidesPerView * i.slidesPerColumn)));
1516
1517          for (var S, z, P, k = i.slidesPerColumn, $ = T / k, L = Math.floor(u / i.slidesPerColumn), I = 0; I < u; I += 1) {
1518            C = 0;
1519            var O = p.eq(I);
1520
1521            if (i.slidesPerColumn > 1) {
1522              var A = void 0,
1523                  D = void 0,
1524                  N = void 0;
1525
1526              if ("row" === i.slidesPerColumnFill && i.slidesPerGroup > 1) {
1527                var G = Math.floor(I / (i.slidesPerGroup * i.slidesPerColumn)),
1528                    B = I - i.slidesPerColumn * i.slidesPerGroup * G,
1529                    H = 0 === G ? i.slidesPerGroup : Math.min(Math.ceil((u - G * k * i.slidesPerGroup) / k), i.slidesPerGroup);
1530                A = (D = B - (N = Math.floor(B / H)) * H + G * i.slidesPerGroup) + N * T / k, O.css({
1531                  "-webkit-box-ordinal-group": A,
1532                  "-moz-box-ordinal-group": A,
1533                  "-ms-flex-order": A,
1534                  "-webkit-order": A,
1535                  order: A
1536                });
1537              } else "column" === i.slidesPerColumnFill ? (N = I - (D = Math.floor(I / k)) * k, (D > L || D === L && N === k - 1) && (N += 1) >
vendor: 13,032 bytes, lines 1537-1809
1537= k && (N = 0, D += 1)) : D = I - (N = Math.floor(I / $)) * $;
1538
1539              O.css(t("margin-top"), 0 !== N ? i.spaceBetween && i.spaceBetween + "px" : "");
1540            }
1541
1542            if ("none" !== O.css("display")) {
1543              if ("auto" === i.slidesPerView) {
1544                var R = getComputedStyle(O[0]),
1545                    X = O[0].style.transform,
1546                    Y = O[0].style.webkitTransform;
1547                if (X && (O[0].style.transform = "none"), Y && (O[0].style.webkitTransform = "none"), i.roundLengths) C = e.isHorizontal() ? O.outerWidth(!0) : O.outerHeight(!0);else {
1548                  var V = a(R, "width"),
1549                      W = a(R, "padding-left"),
1550                      F = a(R, "padding-right"),
1551                      _ = a(R, "margin-left"),
1552                      q = a(R, "margin-right"),
1553                      j = R.getPropertyValue("box-sizing");
1554
1555                  if (j && "border-box" === j) C = V + _ + q;else {
1556                    var U = O[0],
1557                        K = U.clientWidth;
1558                    C = V + W + F + _ + q + (U.offsetWidth - K);
1559                  }
1560                }
1561                X && (O[0].style.transform = X), Y && (O[0].style.webkitTransform = Y), i.roundLengths && (C = Math.floor(C));
1562              } else C = (r - (i.slidesPerView - 1) * w) / i.slidesPerView, i.roundLengths && (C = Math.floor(C)), p[I] && (p[I].style[t("width")] = C + "px");
1563
1564              p[I] && (p[I].swiperSlideSize = C), v.push(C), i.centeredSlides ? (y = y + C / 2 + E / 2 + w, 0 === E && 0 !== I && (y = y - r / 2 - w), 0 === I && (y = y - r / 2 - w), Math.abs(y) < .001 && (y = 0), i.roundLengths && (y = Math.floor(y)), x % i.slidesPerGroup == 0 && c.push(y), h.push(y)) : (i.roundLengths && (y = Math.floor(y)), (x - Math.min(e.params.slidesPerGroupSkip, x)) % e.params.slidesPerGroup == 0 && c.push(y), h.push(y), y = y + C + w), e.virtualSize += C + w, E = C, x += 1;
1565            }
1566          }
1567
1568          if (e.virtualSize = Math.max(e.virtualSize, r) + m, n && l && ("slide" === i.effect || "coverflow" === i.effect) && s.css({
1569            width: e.virtualSize + i.spaceBetween + "px"
1570          }), i.setWrapperSize) s.css(((z = {})[t("width")] = e.virtualSize + i.spaceBetween + "px", z));
1571          if (i.slidesPerColumn > 1) if (e.virtualSize = (C + i.spaceBetween) * T, e.virtualSize = Math.ceil(e.virtualSize / i.slidesPerColumn) - i.spaceBetween, s.css(((P = {})[t("width")] = e.virtualSize + i.spaceBetween + "px", P)), i.centeredSlides) {
1572            S = [];
1573
1574            for (var Z = 0; Z < c.length; Z += 1) {
1575              var J = c[Z];
1576              i.roundLengths && (J = Math.floor(J)), c[Z] < e.virtualSize + c[0] && S.push(J);
1577            }
1578
1579            c = S;
1580          }
1581
1582          if (!i.centeredSlides) {
1583            S = [];
1584
1585            for (var Q = 0; Q < c.length; Q += 1) {
1586              var ee = c[Q];
1587              i.roundLengths && (ee = Math.floor(ee)), c[Q] <= e.virtualSize - r && S.push(ee);
1588            }
1589
1590            c = S, Math.floor(e.virtualSize - r) - Math.floor(c[c.length - 1]) > 1 && c.push(e.virtualSize - r);
1591          }
1592
1593          if (0 === c.length && (c = [0]), 0 !== i.spaceBetween) {
1594            var te,
1595                ae = e.isHorizontal() && n ? "marginLeft" : t("marginRight");
1596            p.filter(function (e, t) {
1597              return !i.cssMode || t !== p.length - 1;
1598            }).css(((te = {})[ae] = w + "px", te));
1599          }
1600
1601          if (i.centeredSlides && i.centeredSlidesBounds) {
1602            var ie = 0;
1603            v.forEach(function (e) {
1604              ie += e + (i.spaceBetween ? i.spaceBetween : 0);
1605            });
1606            var se = (ie -= i.spaceBetween) - r;
1607            c = c.map(function (e) {
1608              return e < 0 ? -f : e > se ? se + m : e;
1609            });
1610          }
1611
1612          if (i.centerInsufficientSlides) {
1613            var re = 0;
1614
1615            if (v.forEach(function (e) {
1616              re += e + (i.spaceBetween ? i.spaceBetween : 0);
1617            }), (re -= i.spaceBetween) < r) {
1618              var ne = (r - re) / 2;
1619              c.forEach(function (e, t) {
1620                c[t] = e - ne;
1621              }), h.forEach(function (e, t) {
1622                h[t] = e + ne;
1623              });
1624            }
1625          }
1626
1627          M(e, {
1628            slides: p,
1629            snapGrid: c,
1630            slidesGrid: h,
1631            slidesSizesGrid: v
1632          }), u !== d && e.emit("slidesLengthChange"), c.length !== g && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), h.length !== b && e.emit("slidesGridLengthChange"), (i.watchSlidesProgress || i.watchSlidesVisibility) && e.updateSlidesOffset();
1633        }
1634      },
1635      updateAutoHeight: function updateAutoHeight(e) {
1636        var t,
1637            a = this,
1638            i = [],
1639            s = a.virtual && a.params.virtual.enabled,
1640            r = 0;
1641        "number" == typeof e ? a.setTransition(e) : !0 === e && a.setTransition(a.params.speed);
1642
1643        var n = function n(e) {
1644          return s ? a.slides.filter(function (t) {
1645            return parseInt(t.getAttribute("data-swiper-slide-index"), 10) === e;
1646          })[0] : a.slides.eq(e)[0];
1647        };
1648
1649        if ("auto" !== a.params.slidesPerView && a.params.slidesPerView > 1) {
1650          if (a.params.centeredSlides) a.visibleSlides.each(function (e) {
1651            i.push(e);
1652          });else for (t = 0; t < Math.ceil(a.params.slidesPerView); t += 1) {
1653            var l = a.activeIndex + t;
1654            if (l > a.slides.length && !s) break;
1655            i.push(n(l));
1656          }
1657        } else i.push(n(a.activeIndex));
1658
1659        for (t = 0; t < i.length; t += 1) {
1660          if (void 0 !== i[t]) {
1661            var o = i[t].offsetHeight;
1662            r = o > r ? o : r;
1663          }
1664        }
1665
1666        r && a.$wrapperEl.css("height", r + "px");
1667      },
1668      updateSlidesOffset: function updateSlidesOffset() {
1669        for (var e = this.slides, t = 0; t < e.length; t += 1) {
1670          e[t].swiperSlideOffset = this.isHorizontal() ? e[t].offsetLeft : e[t].offsetTop;
1671        }
1672      },
1673      updateSlidesProgress: function updateSlidesProgress(e) {
1674        void 0 === e && (e = this && this.translate || 0);
1675        var t = this,
1676            a = t.params,
1677            i = t.slides,
1678            s = t.rtlTranslate;
1679
1680        if (0 !== i.length) {
1681          void 0 === i[0].swiperSlideOffset && t.updateSlidesOffset();
1682          var r = -e;
1683          s && (r = e), i.removeClass(a.slideVisibleClass), t.visibleSlidesIndexes = [], t.visibleSlides = [];
1684
1685          for (var n = 0; n < i.length; n += 1) {
1686            var l = i[n],
1687                o = (r + (a.centeredSlides ? t.minTranslate() : 0) - l.swiperSlideOffset) / (l.swiperSlideSize + a.spaceBetween);
1688
1689            if (a.watchSlidesVisibility || a.centeredSlides && a.autoHeight) {
1690              var d = -(r - l.swiperSlideOffset),
1691                  p = d + t.slidesSizesGrid[n];
1692              (d >= 0 && d < t.size - 1 || p > 1 && p <= t.size || d <= 0 && p >= t.size) && (t.visibleSlides.push(l), t.visibleSlidesIndexes.push(n), i.eq(n).addClass(a.slideVisibleClass));
1693            }
1694
1695            l.progress = s ? -o : o;
1696          }
1697
1698          t.visibleSlides = m(t.visibleSlides);
1699        }
1700      },
1701      updateProgress: function updateProgress(e) {
1702        var t = this;
1703
1704        if (void 0 === e) {
1705          var a = t.rtlTranslate ? -1 : 1;
1706          e = t && t.translate && t.translate * a || 0;
1707        }
1708
1709        var i = t.params,
1710            s = t.maxTranslate() - t.minTranslate(),
1711            r = t.progress,
1712            n = t.isBeginning,
1713            l = t.isEnd,
1714            o = n,
1715            d = l;
1716        0 === s ? (r = 0, n = !0, l = !0) : (n = (r = (e - t.minTranslate()) / s) <= 0, l = r >= 1), M(t, {
1717          progress: r,
1718          isBeginning: n,
1719          isEnd: l
1720        }), (i.watchSlidesProgress || i.watchSlidesVisibility || i.centeredSlides && i.autoHeight) && t.updateSlidesProgress(e), n && !o && t.emit("reachBeginning toEdge"), l && !d && t.emit("reachEnd toEdge"), (o && !n || d && !l) && t.emit("fromEdge"), t.emit("progress", r);
1721      },
1722      updateSlidesClasses: function updateSlidesClasses() {
1723        var e,
1724            t = this,
1725            a = t.slides,
1726            i = t.params,
1727            s = t.$wrapperEl,
1728            r = t.activeIndex,
1729            n = t.realIndex,
1730            l = t.virtual && i.virtual.enabled;
1731        a.removeClass(i.slideActiveClass + " " + i.slideNextClass + " " + i.slidePrevClass + " " + i.slideDuplicateActiveClass + " " + i.slideDuplicateNextClass + " " + i.slideDuplicatePrevClass), (e = l ? t.$wrapperEl.find("." + i.slideClass + '[data-swiper-slide-index="' + r + '"]') : a.eq(r)).addClass(i.slideActiveClass), i.loop && (e.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + n + '"]').addClass(i.slideDuplicateActiveClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + n + '"]').addClass(i.slideDuplicateActiveClass));
1732        var o = e.nextAll("." + i.slideClass).eq(0).addClass(i.slideNextClass);
1733        i.loop && 0 === o.length && (o = a.eq(0)).addClass(i.slideNextClass);
1734        var d = e.prevAll("." + i.slideClass).eq(0).addClass(i.slidePrevClass);
1735        i.loop && 0 === d.length && (d = a.eq(-1)).addClass(i.slidePrevClass), i.loop && (o.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass), d.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + d.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + d.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass)), t.emitSlidesClasses();
1736      },
1737      updateActiveIndex: function updateActiveIndex(e) {
1738        var t,
1739            a = this,
1740            i = a.rtlTranslate ? a.translate : -a.translate,
1741            s = a.slidesGrid,
1742            r = a.snapGrid,
1743            n = a.params,
1744            l = a.activeIndex,
1745            o = a.realIndex,
1746            d = a.snapIndex,
1747            p = e;
1748
1749        if (void 0 === p) {
1750          for (var u = 0; u < s.length; u += 1) {
1751            void 0 !== s[u + 1] ? i >= s[u] && i < s[u + 1] - (s[u + 1] - s[u]) / 2 ? p = u : i >= s[u] && i < s[u + 1] && (p = u + 1) : i >= s[u] && (p = u);
1752          }
1753
1754          n.normalizeSlideIndex && (p < 0 || void 0 === p) && (p = 0);
1755        }
1756
1757        if (r.indexOf(i) >= 0) t = r.indexOf(i);else {
1758          var c = Math.min(n.slidesPerGroupSkip, p);
1759          t = c + Math.floor((p - c) / n.slidesPerGroup);
1760        }
1761
1762        if (t >= r.length && (t = r.length - 1), p !== l) {
1763          var h = parseInt(a.slides.eq(p).attr("data-swiper-slide-index") || p, 10);
1764          M(a, {
1765            snapIndex: t,
1766            realIndex: h,
1767            previousIndex: l,
1768            activeIndex: p
1769          }), a.emit("activeIndexChange"), a.emit("snapIndexChange"), o !== h && a.emit("realIndexChange"), (a.initialized || a.params.runCallbacksOnInit) && a.emit("slideChange");
1770        } else t !== d && (a.snapIndex = t, a.emit("snapIndexChange"));
1771      },
1772      updateClickedSlide: function updateClickedSlide(e) {
1773        var t,
1774            a = this,
1775            i = a.params,
1776            s = m(e.target).closest("." + i.slideClass)[0],
1777            r = !1;
1778        if (s) for (var n = 0; n < a.slides.length; n += 1) {
1779          if (a.slides[n] === s) {
1780            r = !0, t = n;
1781            break;
1782          }
1783        }
1784        if (!s || !r) return a.clickedSlide = void 0, void (a.clickedIndex = void 0);
1785        a.clickedSlide = s, a.virtual && a.params.virtual.enabled ? a.clickedIndex = parseInt(m(s).attr("data-swiper-slide-index"), 10) : a.clickedIndex = t, i.slideToClickedSlide && void 0 !== a.clickedIndex && a.clickedIndex !== a.activeIndex && a.slideToClickedSlide();
1786      }
1787    },
1788    translate: {
1789      getTranslate: function getTranslate(e) {
1790        void 0 === e && (e = this.isHorizontal() ? "x" : "y");
1791        var t = this,
1792            a = t.params,
1793            i = t.rtlTranslate,
1794            s = t.translate,
1795            r = t.$wrapperEl;
1796        if (a.virtualTranslate) return i ? -s : s;
1797        if (a.cssMode) return s;
1798        var n = T(r[0], e);
1799        return i && (n = -n), n || 0;
1800      },
1801      setTranslate: function setTranslate(e, t) {
1802        var a = this,
1803            i = a.rtlTranslate,
1804            s = a.params,
1805            r = a.$wrapperEl,
1806            n = a.wrapperEl,
1807            l = a.progress,
1808            o = 0,
1809            d = 0;
vendor: 9,100 bytes, lines 1810-1980
1810        a.isHorizontal() ? o = i ? -e : e : d = e, s.roundLengths && (o = Math.floor(o), d = Math.floor(d)), s.cssMode ? n[a.isHorizontal() ? "scrollLeft" : "scrollTop"] = a.isHorizontal() ? -o : -d : s.virtualTranslate || r.transform("translate3d(" + o + "px, " + d + "px, 0px)"), a.previousTranslate = a.translate, a.translate = a.isHorizontal() ? o : d;
1811        var p = a.maxTranslate() - a.minTranslate();
1812        (0 === p ? 0 : (e - a.minTranslate()) / p) !== l && a.updateProgress(e), a.emit("setTranslate", a.translate, t);
1813      },
1814      minTranslate: function minTranslate() {
1815        return -this.snapGrid[0];
1816      },
1817      maxTranslate: function maxTranslate() {
1818        return -this.snapGrid[this.snapGrid.length - 1];
1819      },
1820      translateTo: function translateTo(e, t, a, i, s) {
1821        void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0), void 0 === i && (i = !0);
1822        var r = this,
1823            n = r.params,
1824            l = r.wrapperEl;
1825        if (r.animating && n.preventInteractionOnTransition) return !1;
1826        var o,
1827            d = r.minTranslate(),
1828            p = r.maxTranslate();
1829
1830        if (o = i && e > d ? d : i && e < p ? p : e, r.updateProgress(o), n.cssMode) {
1831          var u,
1832              c = r.isHorizontal();
1833          if (0 === t) l[c ? "scrollLeft" : "scrollTop"] = -o;else if (l.scrollTo) l.scrollTo(((u = {})[c ? "left" : "top"] = -o, u.behavior = "smooth", u));else l[c ? "scrollLeft" : "scrollTop"] = -o;
1834          return !0;
1835        }
1836
1837        return 0 === t ? (r.setTransition(0), r.setTranslate(o), a && (r.emit("beforeTransitionStart", t, s), r.emit("transitionEnd"))) : (r.setTransition(t), r.setTranslate(o), a && (r.emit("beforeTransitionStart", t, s), r.emit("transitionStart")), r.animating || (r.animating = !0, r.onTranslateToWrapperTransitionEnd || (r.onTranslateToWrapperTransitionEnd = function (e) {
1838          r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd), r.onTranslateToWrapperTransitionEnd = null, delete r.onTranslateToWrapperTransitionEnd, a && r.emit("transitionEnd"));
1839        }), r.$wrapperEl[0].addEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd))), !0;
1840      }
1841    },
1842    transition: {
1843      setTransition: function setTransition(e, t) {
1844        var a = this;
1845        a.params.cssMode || a.$wrapperEl.transition(e), a.emit("setTransition", e, t);
1846      },
1847      transitionStart: function transitionStart(e, t) {
1848        void 0 === e && (e = !0);
1849        var a = this,
1850            i = a.activeIndex,
1851            s = a.params,
1852            r = a.previousIndex;
1853
1854        if (!s.cssMode) {
1855          s.autoHeight && a.updateAutoHeight();
1856          var n = t;
1857
1858          if (n || (n = i > r ? "next" : i < r ? "prev" : "reset"), a.emit("transitionStart"), e && i !== r) {
1859            if ("reset" === n) return void a.emit("slideResetTransitionStart");
1860            a.emit("slideChangeTransitionStart"), "next" === n ? a.emit("slideNextTransitionStart") : a.emit("slidePrevTransitionStart");
1861          }
1862        }
1863      },
1864      transitionEnd: function transitionEnd(e, t) {
1865        void 0 === e && (e = !0);
1866        var a = this,
1867            i = a.activeIndex,
1868            s = a.previousIndex,
1869            r = a.params;
1870
1871        if (a.animating = !1, !r.cssMode) {
1872          a.setTransition(0);
1873          var n = t;
1874
1875          if (n || (n = i > s ? "next" : i < s ? "prev" : "reset"), a.emit("transitionEnd"), e && i !== s) {
1876            if ("reset" === n) return void a.emit("slideResetTransitionEnd");
1877            a.emit("slideChangeTransitionEnd"), "next" === n ? a.emit("slideNextTransitionEnd") : a.emit("slidePrevTransitionEnd");
1878          }
1879        }
1880      }
1881    },
1882    slide: {
1883      slideTo: function slideTo(e, t, a, i, s) {
1884        if (void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0), "number" != typeof e && "string" != typeof e) throw new Error("The 'index' argument cannot have type other than 'number' or 'string'. [" + _typeof(e) + "] given.");
1885
1886        if ("string" == typeof e) {
1887          var r = parseInt(e, 10);
1888          if (!isFinite(r)) throw new Error("The passed-in 'index' (string) couldn't be converted to 'number'. [" + e + "] given.");
1889          e = r;
1890        }
1891
1892        var n = this,
1893            l = e;
1894        l < 0 && (l = 0);
1895        var o = n.params,
1896            d = n.snapGrid,
1897            p = n.slidesGrid,
1898            u = n.previousIndex,
1899            c = n.activeIndex,
1900            h = n.rtlTranslate,
1901            v = n.wrapperEl,
1902            f = n.enabled;
1903        if (n.animating && o.preventInteractionOnTransition || !f && !i && !s) return !1;
1904        var m = Math.min(n.params.slidesPerGroupSkip, l),
1905            g = m + Math.floor((l - m) / n.params.slidesPerGroup);
1906        g >= d.length && (g = d.length - 1), (c || o.initialSlide || 0) === (u || 0) && a && n.emit("beforeSlideChangeStart");
1907        var b,
1908            w = -d[g];
1909        if (n.updateProgress(w), o.normalizeSlideIndex) for (var y = 0; y < p.length; y += 1) {
1910          var E = -Math.floor(100 * w),
1911              x = Math.floor(100 * p[y]),
1912              T = Math.floor(100 * p[y + 1]);
1913          void 0 !== p[y + 1] ? E >= x && E < T - (T - x) / 2 ? l = y : E >= x && E < T && (l = y + 1) : E >= x && (l = y);
1914        }
1915
1916        if (n.initialized && l !== c) {
1917          if (!n.allowSlideNext && w < n.translate && w < n.minTranslate()) return !1;
1918          if (!n.allowSlidePrev && w > n.translate && w > n.maxTranslate() && (c || 0) !== l) return !1;
1919        }
1920
1921        if (b = l > c ? "next" : l < c ? "prev" : "reset", h && -w === n.translate || !h && w === n.translate) return n.updateActiveIndex(l), o.autoHeight && n.updateAutoHeight(), n.updateSlidesClasses(), "slide" !== o.effect && n.setTranslate(w), "reset" !== b && (n.transitionStart(a, b), n.transitionEnd(a, b)), !1;
1922
1923        if (o.cssMode) {
1924          var C,
1925              S = n.isHorizontal(),
1926              M = -w;
1927          if (h && (M = v.scrollWidth - v.offsetWidth - M), 0 === t) v[S ? "scrollLeft" : "scrollTop"] = M;else if (v.scrollTo) v.scrollTo(((C = {})[S ? "left" : "top"] = M, C.behavior = "smooth", C));else v[S ? "scrollLeft" : "scrollTop"] = M;
1928          return !0;
1929        }
1930
1931        return 0 === t ? (n.setTransition(0), n.setTranslate(w), n.updateActiveIndex(l), n.updateSlidesClasses(), n.emit("beforeTransitionStart", t, i), n.transitionStart(a, b), n.transitionEnd(a, b)) : (n.setTransition(t), n.setTranslate(w), n.updateActiveIndex(l), n.updateSlidesClasses(), n.emit("beforeTransitionStart", t, i), n.transitionStart(a, b), n.animating || (n.animating = !0, n.onSlideToWrapperTransitionEnd || (n.onSlideToWrapperTransitionEnd = function (e) {
1932          n && !n.destroyed && e.target === this && (n.$wrapperEl[0].removeEventListener("transitionend", n.onSlideToWrapperTransitionEnd), n.$wrapperEl[0].removeEventListener("webkitTransitionEnd", n.onSlideToWrapperTransitionEnd), n.onSlideToWrapperTransitionEnd = null, delete n.onSlideToWrapperTransitionEnd, n.transitionEnd(a, b));
1933        }), n.$wrapperEl[0].addEventListener("transitionend", n.onSlideToWrapperTransitionEnd), n.$wrapperEl[0].addEventListener("webkitTransitionEnd", n.onSlideToWrapperTransitionEnd))), !0;
1934      },
1935      slideToLoop: function slideToLoop(e, t, a, i) {
1936        void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0);
1937        var s = this,
1938            r = e;
1939        return s.params.loop && (r += s.loopedSlides), s.slideTo(r, t, a, i);
1940      },
1941      slideNext: function slideNext(e, t, a) {
1942        void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
1943        var i = this,
1944            s = i.params,
1945            r = i.animating;
1946        if (!i.enabled) return i;
1947        var n = i.activeIndex < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup;
1948
1949        if (s.loop) {
1950          if (r && s.loopPreventsSlide) return !1;
1951          i.loopFix(), i._clientLeft = i.$wrapperEl[0].clientLeft;
1952        }
1953
1954        return i.slideTo(i.activeIndex + n, e, t, a);
1955      },
1956      slidePrev: function slidePrev(e, t, a) {
1957        void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
1958        var i = this,
1959            s = i.params,
1960            r = i.animating,
1961            n = i.snapGrid,
1962            l = i.slidesGrid,
1963            o = i.rtlTranslate;
1964        if (!i.enabled) return i;
1965
1966        if (s.loop) {
1967          if (r && s.loopPreventsSlide) return !1;
1968          i.loopFix(), i._clientLeft = i.$wrapperEl[0].clientLeft;
1969        }
1970
1971        function d(e) {
1972          return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e);
1973        }
1974
1975        var p,
1976            u = d(o ? i.translate : -i.translate),
1977            c = n.map(function (e) {
1978          return d(e);
1979        }),
1980            h = n[c.indexOf(u) - 1];
vendor: 5,272 bytes, lines 1981-2096
1981        return void 0 === h && s.cssMode && n.forEach(function (e) {
1982          !h && u >= e && (h = e);
1983        }), void 0 !== h && (p = l.indexOf(h)) < 0 && (p = i.activeIndex - 1), i.slideTo(p, e, t, a);
1984      },
1985      slideReset: function slideReset(e, t, a) {
1986        return void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), this.slideTo(this.activeIndex, e, t, a);
1987      },
1988      slideToClosest: function slideToClosest(e, t, a, i) {
1989        void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), void 0 === i && (i = .5);
1990        var s = this,
1991            r = s.activeIndex,
1992            n = Math.min(s.params.slidesPerGroupSkip, r),
1993            l = n + Math.floor((r - n) / s.params.slidesPerGroup),
1994            o = s.rtlTranslate ? s.translate : -s.translate;
1995
1996        if (o >= s.snapGrid[l]) {
1997          var d = s.snapGrid[l];
1998          o - d > (s.snapGrid[l + 1] - d) * i && (r += s.params.slidesPerGroup);
1999        } else {
2000          var p = s.snapGrid[l - 1];
2001          o - p <= (s.snapGrid[l] - p) * i && (r -= s.params.slidesPerGroup);
2002        }
2003
2004        return r = Math.max(r, 0), r = Math.min(r, s.slidesGrid.length - 1), s.slideTo(r, e, t, a);
2005      },
2006      slideToClickedSlide: function slideToClickedSlide() {
2007        var e,
2008            t = this,
2009            a = t.params,
2010            i = t.$wrapperEl,
2011            s = "auto" === a.slidesPerView ? t.slidesPerViewDynamic() : a.slidesPerView,
2012            r = t.clickedIndex;
2013
2014        if (a.loop) {
2015          if (t.animating) return;
2016          e = parseInt(m(t.clickedSlide).attr("data-swiper-slide-index"), 10), a.centeredSlides ? r < t.loopedSlides - s / 2 || r > t.slides.length - t.loopedSlides + s / 2 ? (t.loopFix(), r = i.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + a.slideDuplicateClass + ")").eq(0).index(), E(function () {
2017            t.slideTo(r);
2018          })) : t.slideTo(r) : r > t.slides.length - s ? (t.loopFix(), r = i.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + a.slideDuplicateClass + ")").eq(0).index(), E(function () {
2019            t.slideTo(r);
2020          })) : t.slideTo(r);
2021        } else t.slideTo(r);
2022      }
2023    },
2024    loop: {
2025      loopCreate: function loopCreate() {
2026        var e = this,
2027            t = r(),
2028            a = e.params,
2029            i = e.$wrapperEl;
2030        i.children("." + a.slideClass + "." + a.slideDuplicateClass).remove();
2031        var s = i.children("." + a.slideClass);
2032
2033        if (a.loopFillGroupWithBlank) {
2034          var n = a.slidesPerGroup - s.length % a.slidesPerGroup;
2035
2036          if (n !== a.slidesPerGroup) {
2037            for (var l = 0; l < n; l += 1) {
2038              var o = m(t.createElement("div")).addClass(a.slideClass + " " + a.slideBlankClass);
2039              i.append(o);
2040            }
2041
2042            s = i.children("." + a.slideClass);
2043          }
2044        }
2045
2046        "auto" !== a.slidesPerView || a.loopedSlides || (a.loopedSlides = s.length), e.loopedSlides = Math.ceil(parseFloat(a.loopedSlides || a.slidesPerView, 10)), e.loopedSlides += a.loopAdditionalSlides, e.loopedSlides > s.length && (e.loopedSlides = s.length);
2047        var d = [],
2048            p = [];
2049        s.each(function (t, a) {
2050          var i = m(t);
2051          a < e.loopedSlides && p.push(t), a < s.length && a >= s.length - e.loopedSlides && d.push(t), i.attr("data-swiper-slide-index", a);
2052        });
2053
2054        for (var u = 0; u < p.length; u += 1) {
2055          i.append(m(p[u].cloneNode(!0)).addClass(a.slideDuplicateClass));
2056        }
2057
2058        for (var c = d.length - 1; c >= 0; c -= 1) {
2059          i.prepend(m(d[c].cloneNode(!0)).addClass(a.slideDuplicateClass));
2060        }
2061      },
2062      loopFix: function loopFix() {
2063        var e = this;
2064        e.emit("beforeLoopFix");
2065        var t,
2066            a = e.activeIndex,
2067            i = e.slides,
2068            s = e.loopedSlides,
2069            r = e.allowSlidePrev,
2070            n = e.allowSlideNext,
2071            l = e.snapGrid,
2072            o = e.rtlTranslate;
2073        e.allowSlidePrev = !0, e.allowSlideNext = !0;
2074        var d = -l[a] - e.getTranslate();
2075        if (a < s) t = i.length - 3 * s + a, t += s, e.slideTo(t, 0, !1, !0) && 0 !== d && e.setTranslate((o ? -e.translate : e.translate) - d);else if (a >= i.length - s) {
2076          t = -i.length + a + s, t += s, e.slideTo(t, 0, !1, !0) && 0 !== d && e.setTranslate((o ? -e.translate : e.translate) - d);
2077        }
2078        e.allowSlidePrev = r, e.allowSlideNext = n, e.emit("loopFix");
2079      },
2080      loopDestroy: function loopDestroy() {
2081        var e = this,
2082            t = e.$wrapperEl,
2083            a = e.params,
2084            i = e.slides;
2085        t.children("." + a.slideClass + "." + a.slideDuplicateClass + ",." + a.slideClass + "." + a.slideBlankClass).remove(), i.removeAttr("data-swiper-slide-index");
2086      }
2087    },
2088    grabCursor: {
2089      setGrabCursor: function setGrabCursor(e) {
2090        var t = this;
2091
2092        if (!(t.support.touch || !t.params.simulateTouch || t.params.watchOverflow && t.isLocked || t.params.cssMode)) {
2093          var a = t.el;
2094          a.style.cursor = "move", a.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", a.style.cursor = e ? "-moz-grabbin" : "-moz-grab", a.style.cursor = e ? "grabbing" : "grab";
2095        }
2096      },
2097      unsetGrabCursor: function unsetGrabCursor() {
2098        var e = this;
2099        e.support.touch || e.params.watchOverflow && e.isLocked || e.params.cssMode || (e.el.style.cursor = "");
2100      }
2101    },
2102    manipulation: {
2103      appendSlide: function appendSlide(e) {
2104        var t = this,
2105            a = t.$wrapperEl,
2106            i = t.params;
2107        if (i.loop && t.loopDestroy(), "object" == _typeof(e) && "length" in e) for (var s = 0; s < e.length; s += 1) {
2108          e[s] && a.append(e[s]);
2109        } else a.append(e);
2110        i.loop && t.loopCreate(), i.observer && t.support.observer || t.update();
2111      },
2112      prependSlide: function prependSlide(e) {
2113        var t = this,
2114            a = t.params,
2115            i = t.$wrapperEl,
2116            s = t.activeIndex;
2117        a.loop && t.loopDestroy();
2118        var r = s + 1;
2119
2120        if ("object" == _typeof(e) && "length" in e) {
2121          for (var n = 0; n < e.length; n += 1) {
2122            e[n] && i.prepend(e[n]);
2123          }
2124
2125          r = s + e.length;
2126        } else i.prepend(e);
2127
2128        a.loop && t.loopCreate(), a.observer && t.support.observer || t.update(), t.slideTo(r, 0, !1);
2129      },
2130      addSlide: function addSlide(e, t) {
2131        var a = this,
2132            i = a.$wrapperEl,
2133            s = a.params,
2134            r = a.activeIndex;
2135        s.loop && (r -= a.loopedSlides, a.loopDestroy(), a.slides = i.children("." + s.slideClass));
2136        var n = a.slides.length;
2137        if (e <= 0) a.prependSlide(t);else if (e >= n) a.appendSlide(t);else {
2138          for (var l = r > e ? r + 1 : r, o = [], d = n - 1; d >= e; d -= 1) {
2139            var p = a.slides.eq(d);
2140            p.remove(), o.unshift(p);
2141          }
2142
2143          if ("object" == _typeof(t) && "length" in t) {
2144            for (var u = 0; u < t.length; u += 1) {
2145              t[u] && i.append(t[u]);
2146            }
2147
2148            l = r > e ? r + t.length : r;
2149          } else i.append(t);
2150
2151          for (var c = 0; c < o.length; c += 1) {
2152            i.append(o[c]);
2153          }
2154
2155          s.loop && a.loopCreate(), s.observer && a.support.observer || a.update(), s.loop ? a.slideTo(l + a.loopedSlides, 0, !1) : a.slideTo(l, 0, !1);
2156        }
2157      },
2158      removeSlide: function removeSlide(e) {
2159        var t = this,
2160            a = t.params,
2161            i = t.$wrapperEl,
2162            s = t.activeIndex;
2163        a.loop && (s -= t.loopedSlides, t.loopDestroy(), t.slides = i.children("." + a.slideClass));
2164        var r,
2165            n = s;
2166
2167        if ("object" == _typeof(e) && "length" in e) {
2168          for (var l = 0; l < e.length; l += 1) {
2169            r = e[l], t.slides[r] && t.slides.eq(r).remove(), r < n && (n -= 1);
2170          }
2171
2172          n = Math.max(n, 0);
2173        } else r = e, t.slides[r] && t.slides.eq(r).remove(), r < n && (n -= 1), n = Math.max(n, 0);
2174
2175        a.loop && t.loopCreate(), a.observer && t.support.observer || t.update(), a.loop ? t.slideTo(n + t.loopedSlides, 0, !1) : t.slideTo(n, 0, !1);
2176      },
2177      removeAllSlides: function removeAllSlides() {
2178        for (var e = [], t = 0; t < this.slides.length; t += 1) {
2179          e.push(t);
2180        }
2181
2182        this.removeSlide(e);
2183      }
2184    },
2185    events: {
2186      attachEvents: function attachEvents() {
2187        var e = this,
2188            t = r(),
2189            a = e.params,
2190            i = e.touchEvents,
2191            s = e.el,
2192            n = e.wrapperEl,
2193            l = e.device,
2194            o = e.support;
2195        e.onTouchStart = N.bind(e), e.onTouchMove = G.bind(e), e.onTouchEnd = B.bind(e), a.cssMode && (e.onScroll = X.bind(e)), e.onClick = R.bind(e);
2196        var d = !!a.nested;
2197        if (!o.touch && o.pointerEvents) s.addEventListener(i.start, e.onTouchStart, !1), t.addEventListener(i.move, e.onTouchMove, d), t.addEventListener(i.end, e.onTouchEnd, !1);else {
2198          if (o.touch) {
2199            var p = !("touchstart" !== i.start || !o.passiveListener || !a.passiveListeners) && {
2200              passive: !0,
2201              capture: !1
2202            };
2203            s.addEventListener(i.start, e.onTouchStart, p), s.addEventListener(i.move, e.onTouchMove, o.passiveListener ? {
2204              passive: !1,
2205              capture: d
2206            } : d), s.addEventListener(i.end, e.onTouchEnd, p), i.cancel && s.addEventListener(i.cancel, e.onTouchEnd, p), Y || (t.addEventListener("touchstart", V), Y = !0);
2207          }
2208
2209          (a.simulateTouch && !l.ios && !l.android || a.simulateTouch && !o.touch && l.ios) && (s.addEventListener("mousedown", e.onTouchStart, !1), t.addEventListener("mousemove", e.onTouchMove, d), t.addEventListener("mouseup", e.onTouchEnd, !1));
2210        }
2211        (a.preventClicks || a.preventClicksPropagation) && s.addEventListener("click", e.onClick, !0), a.cssMode && n.addEventListener("scroll", e.onScroll), a.updateOnWindowResize ? e.on(l.ios || l.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", H, !0) : e.on("observerUpdate", H, !0);
2212      },
2213      detachEvents: function detachEvents() {
2214        var e = this,
2215            t = r(),
2216            a = e.params,
2217            i = e.touchEvents,
2218            s = e.el,
2219            n = e.wrapperEl,
2220            l = e.device,
vendor: 9,056 bytes, lines 2221-2428
2221            o = e.support,
2222            d = !!a.nested;
2223        if (!o.touch && o.pointerEvents) s.removeEventListener(i.start, e.onTouchStart, !1), t.removeEventListener(i.move, e.onTouchMove, d), t.removeEventListener(i.end, e.onTouchEnd, !1);else {
2224          if (o.touch) {
2225            var p = !("onTouchStart" !== i.start || !o.passiveListener || !a.passiveListeners) && {
2226              passive: !0,
2227              capture: !1
2228            };
2229            s.removeEventListener(i.start, e.onTouchStart, p), s.removeEventListener(i.move, e.onTouchMove, d), s.removeEventListener(i.end, e.onTouchEnd, p), i.cancel && s.removeEventListener(i.cancel, e.onTouchEnd, p);
2230          }
2231
2232          (a.simulateTouch && !l.ios && !l.android || a.simulateTouch && !o.touch && l.ios) && (s.removeEventListener("mousedown", e.onTouchStart, !1), t.removeEventListener("mousemove", e.onTouchMove, d), t.removeEventListener("mouseup", e.onTouchEnd, !1));
2233        }
2234        (a.preventClicks || a.preventClicksPropagation) && s.removeEventListener("click", e.onClick, !0), a.cssMode && n.removeEventListener("scroll", e.onScroll), e.off(l.ios || l.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", H);
2235      }
2236    },
2237    breakpoints: {
2238      setBreakpoint: function setBreakpoint() {
2239        var e = this,
2240            t = e.activeIndex,
2241            a = e.initialized,
2242            i = e.loopedSlides,
2243            s = void 0 === i ? 0 : i,
2244            r = e.params,
2245            n = e.$el,
2246            l = r.breakpoints;
2247
2248        if (l && (!l || 0 !== Object.keys(l).length)) {
2249          var o = e.getBreakpoint(l, e.params.breakpointsBase, e.el);
2250
2251          if (o && e.currentBreakpoint !== o) {
2252            var d = o in l ? l[o] : void 0;
2253            d && ["slidesPerView", "spaceBetween", "slidesPerGroup", "slidesPerGroupSkip", "slidesPerColumn"].forEach(function (e) {
2254              var t = d[e];
2255              void 0 !== t && (d[e] = "slidesPerView" !== e || "AUTO" !== t && "auto" !== t ? "slidesPerView" === e ? parseFloat(t) : parseInt(t, 10) : "auto");
2256            });
2257            var p = d || e.originalParams,
2258                u = r.slidesPerColumn > 1,
2259                c = p.slidesPerColumn > 1,
2260                h = r.enabled;
2261            u && !c ? (n.removeClass(r.containerModifierClass + "multirow " + r.containerModifierClass + "multirow-column"), e.emitContainerClasses()) : !u && c && (n.addClass(r.containerModifierClass + "multirow"), (p.slidesPerColumnFill && "column" === p.slidesPerColumnFill || !p.slidesPerColumnFill && "column" === r.slidesPerColumnFill) && n.addClass(r.containerModifierClass + "multirow-column"), e.emitContainerClasses());
2262            var v = p.direction && p.direction !== r.direction,
2263                f = r.loop && (p.slidesPerView !== r.slidesPerView || v);
2264            v && a && e.changeDirection(), M(e.params, p);
2265            var m = e.params.enabled;
2266            M(e, {
2267              allowTouchMove: e.params.allowTouchMove,
2268              allowSlideNext: e.params.allowSlideNext,
2269              allowSlidePrev: e.params.allowSlidePrev
2270            }), h && !m ? e.disable() : !h && m && e.enable(), e.currentBreakpoint = o, e.emit("_beforeBreakpoint", p), f && a && (e.loopDestroy(), e.loopCreate(), e.updateSlides(), e.slideTo(t - s + e.loopedSlides, 0, !1)), e.emit("breakpoint", p);
2271          }
2272        }
2273      },
2274      getBreakpoint: function getBreakpoint(e, t, a) {
2275        if (void 0 === t && (t = "window"), e && ("container" !== t || a)) {
2276          var i = !1,
2277              s = l(),
2278              r = "window" === t ? s.innerHeight : a.clientHeight,
2279              n = Object.keys(e).map(function (e) {
2280            if ("string" == typeof e && 0 === e.indexOf("@")) {
2281              var t = parseFloat(e.substr(1));
2282              return {
2283                value: r * t,
2284                point: e
2285              };
2286            }
2287
2288            return {
2289              value: e,
2290              point: e
2291            };
2292          });
2293          n.sort(function (e, t) {
2294            return parseInt(e.value, 10) - parseInt(t.value, 10);
2295          });
2296
2297          for (var o = 0; o < n.length; o += 1) {
2298            var d = n[o],
2299                p = d.point,
2300                u = d.value;
2301            "window" === t ? s.matchMedia("(min-width: " + u + "px)").matches && (i = p) : u <= a.clientWidth && (i = p);
2302          }
2303
2304          return i || "max";
2305        }
2306      }
2307    },
2308    checkOverflow: {
2309      checkOverflow: function checkOverflow() {
2310        var e = this,
2311            t = e.params,
2312            a = e.isLocked,
2313            i = e.slides.length > 0 && t.slidesOffsetBefore + t.spaceBetween * (e.slides.length - 1) + e.slides[0].offsetWidth * e.slides.length;
2314        t.slidesOffsetBefore && t.slidesOffsetAfter && i ? e.isLocked = i <= e.size : e.isLocked = 1 === e.snapGrid.length, e.allowSlideNext = !e.isLocked, e.allowSlidePrev = !e.isLocked, a !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock"), a && a !== e.isLocked && (e.isEnd = !1, e.navigation && e.navigation.update());
2315      }
2316    },
2317    classes: {
2318      addClasses: function addClasses() {
2319        var e,
2320            t,
2321            a,
2322            i = this,
2323            s = i.classNames,
2324            r = i.params,
2325            n = i.rtl,
2326            l = i.$el,
2327            o = i.device,
2328            d = i.support,
2329            p = (e = ["initialized", r.direction, {
2330          "pointer-events": d.pointerEvents && !d.touch
2331        }, {
2332          "free-mode": r.freeMode
2333        }, {
2334          autoheight: r.autoHeight
2335        }, {
2336          rtl: n
2337        }, {
2338          multirow: r.slidesPerColumn > 1
2339        }, {
2340          "multirow-column": r.slidesPerColumn > 1 && "column" === r.slidesPerColumnFill
2341        }, {
2342          android: o.android
2343        }, {
2344          ios: o.ios
2345        }, {
2346          "css-mode": r.cssMode
2347        }], t = r.containerModifierClass, a = [], e.forEach(function (e) {
2348          "object" == _typeof(e) ? Object.keys(e).forEach(function (i) {
2349            e[i] && a.push(t + i);
2350          }) : "string" == typeof e && a.push(t + e);
2351        }), a);
2352        s.push.apply(s, p), l.addClass([].concat(s).join(" ")), i.emitContainerClasses();
2353      },
2354      removeClasses: function removeClasses() {
2355        var e = this,
2356            t = e.$el,
2357            a = e.classNames;
2358        t.removeClass(a.join(" ")), e.emitContainerClasses();
2359      }
2360    },
2361    images: {
2362      loadImage: function loadImage(e, t, a, i, s, r) {
2363        var n,
2364            o = l();
2365
2366        function d() {
2367          r && r();
2368        }
2369
2370        m(e).parent("picture")[0] || e.complete && s ? d() : t ? ((n = new o.Image()).onload = d, n.onerror = d, i && (n.sizes = i), a && (n.srcset = a), t && (n.src = t)) : d();
2371      },
2372      preloadImages: function preloadImages() {
2373        var e = this;
2374
2375        function t() {
2376          null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(), e.emit("imagesReady")));
2377        }
2378
2379        e.imagesToLoad = e.$el.find("img");
2380
2381        for (var a = 0; a < e.imagesToLoad.length; a += 1) {
2382          var i = e.imagesToLoad[a];
2383          e.loadImage(i, i.currentSrc || i.getAttribute("src"), i.srcset || i.getAttribute("srcset"), i.sizes || i.getAttribute("sizes"), !0, t);
2384        }
2385      }
2386    }
2387  },
2388      _ = {},
2389      q = function () {
2390    function t() {
2391      for (var e, a, i = arguments.length, s = new Array(i), r = 0; r < i; r++) {
2392        s[r] = arguments[r];
2393      }
2394
2395      if (1 === s.length && s[0].constructor && "Object" === Object.prototype.toString.call(s[0]).slice(8, -1) ? a = s[0] : (e = s[0], a = s[1]), a || (a = {}), a = M({}, a), e && !a.el && (a.el = e), a.el && m(a.el).length > 1) {
2396        var n = [];
2397        return m(a.el).each(function (e) {
2398          var i = M({}, a, {
2399            el: e
2400          });
2401          n.push(new t(i));
2402        }), n;
2403      }
2404
2405      var l = this;
2406      l.__swiper__ = !0, l.support = $(), l.device = L({
2407        userAgent: a.userAgent
2408      }), l.browser = I(), l.eventsListeners = {}, l.eventsAnyListeners = [], void 0 === l.modules && (l.modules = {}), Object.keys(l.modules).forEach(function (e) {
2409        var t = l.modules[e];
2410
2411        if (t.params) {
2412          var i = Object.keys(t.params)[0],
2413              s = t.params[i];
2414          if ("object" != _typeof(s) || null === s) return;
2415          if (["navigation", "pagination", "scrollbar"].indexOf(i) >= 0 && !0 === a[i] && (a[i] = {
2416            auto: !0
2417          }), !(i in a) || !("enabled" in s)) return;
2418          !0 === a[i] && (a[i] = {
2419            enabled: !0
2420          }), "object" != _typeof(a[i]) || "enabled" in a[i] || (a[i].enabled = !0), a[i] || (a[i] = {
2421            enabled: !1
2422          });
2423        }
2424      });
2425      var o,
2426          d,
2427          p = M({}, W);
2428      return l.useParams(p), l.params = M({}, p, _, a), l.originalParams = M({}, l.params), l.passedParams = M({}, a), l.params && l.params.on && Object.keys(l.params.on).forEac
2428h(function (e) {
2429        l.on(e, l.params.on[e]);
2430      }), l.params && l.params.onAny && l.onAny(l.params.onAny), l.$ = m, M(l, {
2431        enabled: l.params.enabled,
2432        el: e,
2433        classNames: [],
2434        slides: m(),
2435        slidesGrid: [],
2436        snapGrid: [],
2437        slidesSizesGrid: [],
2438        isHorizontal: function isHorizontal() {
2439          return "horizontal" === l.params.direction;
2440        },
2441        isVertical: function isVertical() {
2442          return "vertical" === l.params.direction;
2443        },
2444        activeIndex: 0,
2445        realIndex: 0,
2446        isBeginning: !0,
2447        isEnd: !1,
2448        translate: 0,
2449        previousTranslate: 0,
2450        progress: 0,
2451        velocity: 0,
2452        animating: !1,
2453        allowSlideNext: l.params.allowSlideNext,
2454        allowSlidePrev: l.params.allowSlidePrev,
2455        touchEvents: (o = ["touchstart", "touchmove", "touchend", "touchcancel"], d = ["mousedown", "mousemove", "mouseup"], l.support.pointerEvents && (d = ["pointerdown", "pointermove", "pointerup"]), l.touchEventsTouch = {
2456          start: o[0],
2457          move: o[1],
2458          end: o[2],
2459          cancel: o[3]
2460        }, l.touchEventsDesktop = {
2461          start: d[0],
2462          move: d[1],
2463          end: d[2]
2464        }, l.support.touch || !l.params.simulateTouch ? l.touchEventsTouch : l.touchEventsDesktop),
2465        touchEventsData: {
2466          isTouched: void 0,
2467          isMoved: void 0,
2468          allowTouchCallbacks: void 0,
2469          touchStartTime: void 0,
2470          isScrolling: void 0,
2471          currentTranslate: void 0,
2472          startTranslate: void 0,
2473          allowThresholdMove: void 0,
2474          focusableElements: l.params.focusableElements,
2475          lastClickTime: x(),
2476          clickTimeout: void 0,
2477          velocities: [],
2478          allowMomentumBounce: void 0,
2479          isTouchEvent: void 0,
2480          startMoving: void 0
2481        },
2482        allowClick: !0,
2483        allowTouchMove: l.params.allowTouchMove,
2484        touches: {
2485          startX: 0,
2486          startY: 0,
2487          currentX: 0,
2488          currentY: 0,
2489          diff: 0
2490        },
2491        imagesToLoad: [],
2492        imagesLoaded: 0
2493      }), l.useModules(), l.emit("_swiper"), l.params.init && l.init(), l;
2494    }
2495
2496    var a,
2497        i,
2498        s,
2499        n = t.prototype;
2500    return n.enable = function () {
2501      var e = this;
2502      e.enabled || (e.enabled = !0, e.params.grabCursor && e.setGrabCursor(), e.emit("enable"));
2503    }, n.disable = function () {
2504      var e = this;
2505      e.enabled && (e.enabled = !1, e.params.grabCursor && e.unsetGrabCursor(), e.emit("disable"));
2506    }, n.setProgress = function (e, t) {
2507      var a = this;
2508      e = Math.min(Math.max(e, 0), 1);
2509      var i = a.minTranslate(),
2510          s = (a.maxTranslate() - i) * e + i;
2511      a.translateTo(s, void 0 === t ? 0 : t), a.updateActiveIndex(), a.updateSlidesClasses();
2512    }, n.emitContainerClasses = function () {
2513      var e = this;
2514
2515      if (e.params._emitClasses && e.el) {
2516        var t = e.el.className.split(" ").filter(function (t) {
2517          return 0 === t.indexOf("swiper-container") || 0 === t.indexOf(e.params.containerModifierClass);
2518        });
2519        e.emit("_containerClasses", t.join(" "));
2520      }
2521    }, n.getSlideClasses = function (e) {
2522      var t = this;
2523      return e.className.split(" ").filter(function (e) {
2524        return 0 === e.indexOf("swiper-slide") || 0 === e.indexOf(t.params.slideClass);
2525      }).join(" ");
2526    }, n.emitSlidesClasses = function () {
2527      var e = this;
2528
2529      if (e.params._emitClasses && e.el) {
2530        var t = [];
2531        e.slides.each(function (a) {
2532          var i = e.getSlideClasses(a);
2533          t.push({
2534            slideEl: a,
2535            classNames: i
2536          }), e.emit("_slideClass", a, i);
2537        }), e.emit("_slideClasses", t);
2538      }
2539    }, n.slidesPerViewDynamic = function () {
2540      var e = this,
2541          t = e.params,
2542          a = e.slides,
2543          i = e.slidesGrid,
2544          s = e.size,
2545          r = e.activeIndex,
2546          n = 1;
2547
2548      if (t.centeredSlides) {
2549        for (var l, o = a[r].swiperSlideSize, d = r + 1; d < a.length; d += 1) {
2550          a[d] && !l && (n += 1, (o += a[d].swiperSlideSize) > s && (l = !0));
2551        }
2552
2553        for (var p = r - 1; p >= 0; p -= 1) {
2554          a[p] && !l && (n += 1, (o += a[p].swiperSlideSize) > s && (l = !0));
2555        }
2556      } else for (var u = r + 1; u < a.length; u += 1) {
2557        i[u] - i[r] < s && (n += 1);
2558      }
2559
2560      return n;
2561    }, n.update = function () {
2562      var e = this;
2563
2564      if (e && !e.destroyed) {
2565        var t = e.snapGrid,
2566            a = e.params;
2567        a.breakpoints && e.setBreakpoint(), e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), e.params.freeMode ? (i(), e.params.autoHeight && e.updateAutoHeight()) : (("auto" === e.params.slidesPerView || e.params.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0)) || i(), a.watchOverflow && t !== e.snapGrid && e.checkOverflow(), e.emit("update");
2568      }
2569
2570      function i() {
2571        var t = e.rtlTranslate ? -1 * e.translate : e.translate,
2572            a = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
2573        e.setTranslate(a), e.updateActiveIndex(), e.updateSlidesClasses();
2574      }
2575    }, n.changeDirection = function (e, t) {
2576      void 0 === t && (t = !0);
2577      var a = this,
2578          i = a.params.direction;
2579      return e || (e = "horizontal" === i ? "vertical" : "horizontal"), e === i || "horizontal" !== e && "vertical" !== e || (a.$el.removeClass("" + a.params.containerModifierClass + i
2579).addClass("" + a.params.containerModifierClass + e), a.emitContainerClasses(), a.params.direction = e, a.slides.each(function (t) {
2580        "vertical" === e ? t.style.width = "" : t.style.height = "";
2581      }), a.emit("changeDirection"), t && a.update()), a;
2582    }, n.mount = function (e) {
2583      var t = this;
2584      if (t.mounted) return !0;
2585      var a = m(e || t.params.el);
2586      if (!(e = a[0])) return !1;
2587      e.swiper = t;
2588
2589      var i = function i() {
2590        return "." + (t.params.wrapperClass || "").trim().split(" ").join(".");
2591      },
2592          s = function () {
2593        if (e && e.shadowRoot && e.shadowRoot.querySelector) {
2594          var t = m(e.shadowRoot.querySelector(i()));
2595          return t.children = function (e) {
2596            return a.children(e);
2597          }, t;
2598        }
2599
2600        return a.children(i());
2601      }();
2602
2603      if (0 === s.length && t.params.createElements) {
2604        var n = r().createElement("div");
2605        s = m(n), n.className = t.params.wrapperClass, a.append(n), a.children("." + t.params.slideClass).each(function (e) {
2606          s.append(e);
2607        });
2608      }
2609
2610      return M(t, {
2611        $el: a,
2612        el: e,
2613        $wrapperEl: s,
2614        wrapperEl: s[0],
2615        mounted: !0,
2616        rtl: "rtl" === e.dir.toLowerCase() || "rtl" === a.css("direction"),
2617        rtlTranslate: "horizontal" === t.params.direction && ("rtl" === e.dir.toLowerCase() || "rtl" === a.css("direction")),
2618        wrongRTL: "-webkit-box" === s.css("display")
2619      }), !0;
2620    }, n.init = function (e) {
2621      var t = this;
2622      return t.initialized || !1 === t.mount(e) || (t.emit("beforeInit"), t.params.breakpoints && t.setBreakpoint(), t.addClasses(), t.params.loop && t.loopCreate(), t.updateSize(), t.updateSlides(), t.params.watchOverflow && t.checkOverflow(), t.params.grabCursor && t.enabled && t.setGrabCursor(), t.params.preloadImages && t.preloadImages(), t.params.loop ? t.slideTo(t.params.initialSlide + t.loopedSlides, 0, t.params.runCallbacksOnInit, !1, !0) : t.slideTo(t.params.initialSlide, 0, t.params.runCallbacksOnInit, !1, !0), t.attachEvents(), t.initialized = !0, t.emit("init"), t.emit("afterInit")), t;
2623    }, n.destroy = function (e, t) {
2624      void 0 === e && (e = !0), void 0 === t && (t = !0);
2625      var a,
2626          i = this,
2627          s = i.params,
2628          r = i.$el,
2629          n = i.$wrapperEl,
2630          l = i.slides;
2631      return void 0 === i.params || i.destroyed || (i.emit("beforeDestroy"), i.initialized = !1, i.detachEvents(), s.loop && i.loopDestroy(), t && (i.removeClasses(), r.removeAttr("style"), n.removeAttr("style"), l && l.length && l.removeClass([s.slideVisibleClass, s.slideActiveClass, s.slideNextClass, s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")), i.emit("destroy"), Object.keys(i.eventsListeners).forEach(function (e) {
2632        i.off(e);
2633      }), !1 !== e && (i.$el[0].swiper = null, a = i, Object.keys(a).forEach(function (e) {
2634        try {
2635          a[e] = null;
2636        } catch (e) {}
2637
2638        try {
2639          delete a[e];
2640        } catch (e) {}
2641      })), i.destroyed = !0), null;
2642    }, t.extendDefaults = function (e) {
2643      M(_, e);
2644    }, t.installModule = function (e) {
2645      t.prototype.modules || (t.prototype.modules = {});
2646      var a = e.name || Object.keys(t.prototype.modules).length + "_" + x();
2647      t.prototype.modules[a] = e;
2648    }, t.use = function (e) {
2649      return Array.isArray(e) ? (e.forEach(function (e) {
2650        return t.installModule(e);
2651      }), t) : (t.installModule(e), t);
2652    }, a = t, s = [{
2653      key: "extendedDefaults",
2654      get: function get() {
2655        return _;
2656      }
2657    }, {
2658      key: "defaults",
2659      get: function get() {
2660        return W;
2661      }
2662    }], (i = null) && e(a.prototype, i), s && e(a, s), t;
2663  }();
2664
2665  Object.keys(F).forEach(function (e) {
2666    Object.keys(F[e]).forEach(function (t) {
2667      q.prototype[t] = F[e][t];
2668    });
2669  }), q.use([O, D]);
2670  var j = {
2671    update: function update(e) {
2672      var t = this,
2673          a = t.params,
2674          i = a.slidesPerView,
2675          s = a.slidesPerGroup,
vendor: 2,053 bytes, lines 2676-2733
2676          r = a.centeredSlides,
2677          n = t.params.virtual,
2678          l = n.addSlidesBefore,
2679          o = n.addSlidesAfter,
2680          d = t.virtual,
2681          p = d.from,
2682          u = d.to,
2683          c = d.slides,
2684          h = d.slidesGrid,
2685          v = d.renderSlide,
2686          f = d.offset;
2687      t.updateActiveIndex();
2688      var m,
2689          g,
2690          b,
2691          w = t.activeIndex || 0;
2692      m = t.rtlTranslate ? "right" : t.isHorizontal() ? "left" : "top", r ? (g = Math.floor(i / 2) + s + o, b = Math.floor(i / 2) + s + l) : (g = i + (s - 1) + o, b = s + l);
2693      var y = Math.max((w || 0) - b, 0),
2694          E = Math.min((w || 0) + g, c.length - 1),
2695          x = (t.slidesGrid[y] || 0) - (t.slidesGrid[0] || 0);
2696
2697      function T() {
2698        t.updateSlides(), t.updateProgress(), t.updateSlidesClasses(), t.lazy && t.params.lazy.enabled && t.lazy.load();
2699      }
2700
2701      if (M(t.virtual, {
2702        from: y,
2703        to: E,
2704        offset: x,
2705        slidesGrid: t.slidesGrid
2706      }), p === y && u === E && !e) return t.slidesGrid !== h && x !== f && t.slides.css(m, x + "px"), void t.updateProgress();
2707      if (t.params.virtual.renderExternal) return t.params.virtual.renderExternal.call(t, {
2708        offset: x,
2709        from: y,
2710        to: E,
2711        slides: function () {
2712          for (var e = [], t = y; t <= E; t += 1) {
2713            e.push(c[t]);
2714          }
2715
2716          return e;
2717        }()
2718      }), void (t.params.virtual.renderExternalUpdate && T());
2719      var C = [],
2720          S = [];
2721      if (e) t.$wrapperEl.find("." + t.params.slideClass).remove();else for (var z = p; z <= u; z += 1) {
2722        (z < y || z > E) && t.$wrapperEl.find("." + t.params.slideClass + '[data-swiper-slide-index="' + z + '"]').remove();
2723      }
2724
2725      for (var P = 0; P < c.length; P += 1) {
2726        P >= y && P <= E && (void 0 === u || e ? S.push(P) : (P > u && S.push(P), P < p && C.push(P)));
2727      }
2728
2729      S.forEach(function (e) {
2730        t.$wrapperEl.append(v(c[e], e));
2731      }), C.sort(function (e, t) {
2732        return t - e;
2733      }
2733).forEach(function (e) {
2734        t.$wrapperEl.prepend(v(c[e], e));
2735      }), t.$wrapperEl.children(".swiper-slide").css(m, x + "px"), T();
2736    },
2737    renderSlide: function renderSlide(e, t) {
2738      var a = this,
2739          i = a.params.virtual;
2740      if (i.cache && a.virtual.cache[t]) return a.virtual.cache[t];
2741      var s = i.renderSlide ? m(i.renderSlide.call(a, e, t)) : m('<div class="' + a.params.slideClass + '" data-swiper-slide-index="' + t + '">' + e + "</div>");
2742      return s.attr("data-swiper-slide-index") || s.attr("data-swiper-slide-index", t), i.cache && (a.virtual.cache[t] = s), s;
2743    },
2744    appendSlide: function appendSlide(e) {
2745      var t = this;
2746      if ("object" == _typeof(e) && "length" in e) for (var a = 0; a < e.length; a += 1) {
2747        e[a] && t.virtual.slides.push(e[a]);
2748      } else t.virtual.slides.push(e);
2749      t.virtual.update(!0);
2750    },
2751    prependSlide: function prependSlide(e) {
2752      var t = this,
2753          a = t.activeIndex,
2754          i = a + 1,
2755          s = 1;
2756
2757      if (Array.isArray(e)) {
2758        for (var r = 0; r < e.length; r += 1) {
2759          e[r] && t.virtual.slides.unshift(e[r]);
2760        }
2761
2762        i = a + e.length, s = e.length;
2763      } else t.virtual.slides.unshift(e);
2764
2765      if (t.params.virtual.cache) {
2766        var n = t.virtual.cache,
2767            l = {};
2768        Object.keys(n).forEach(function (e) {
2769          var t = n[e],
2770              a = t.attr("data-swiper-slide-index");
2771          a && t.attr("data-swiper-slide-index", parseInt(a, 10) + 1), l[parseInt(e, 10) + s] = t;
2772        }), t.virtual.cache = l;
2773      }
2774
2775      t.virtual.update(!0), t.slideTo(i, 0);
2776    },
2777    removeSlide: function removeSlide(e) {
2778      var t = this;
2779
2780      if (null != e) {
2781        var a = t.activeIndex;
2782        if (Array.isArray(e)) for (var i = e.length - 1; i >= 0; i -= 1) {
2783          t.virtual.slides.splice(e[i], 1), t.params.virtual.cache && delete t.virtual.cache[e[i]], e[i] < a && (a -= 1), a = Math.max(a, 0);
2784        } else t.virtual.slides.splice(e, 1), t.params.virtual.cache && delete t.virtual.cache[e], e < a && (a -= 1), a = Math.max(a, 0);
2785        t.virtual.update(!0), t.slideTo(a, 0);
2786      }
2787    },
2788    removeAllSlides: function removeAllSlides() {
2789      var e = this;
2790      e.virtual.slides = [], e.params.virtual.cache && (e.virtual.cache = {}), e.virtual.update(!0), e.slideTo(0, 0);
2791    }
2792  },
2793      U = {
2794    name: "virtual",
2795    params: {
2796      virtual: {
2797        enabled: !1,
2798        slides: [],
2799        cache: !0,
2800        renderSlide: null,
2801        renderExternal: null,
2802        renderExternalUpdate: !0,
2803        addSlidesBefore: 0,
2804        addSlidesAfter: 0
2805      }
2806    },
2807    create: function create() {
2808      z(this, {
2809        virtual: t({}, j, {
2810          slides: this.params.virtual.slides,
2811          cache: {}
2812        })
2813      });
2814    },
2815    on: {
2816      beforeInit: function beforeInit(e) {
2817        if (e.params.virtual.enabled) {
2818          e.classNames.push(e.params.containerModifierClass + "virtual");
2819          var t = {
2820            watchSlidesProgress: !0
2821          };
2822          M(e.params, t), M(e.originalParams, t), e.params.initialSlide || e.virtual.update(
vendor: 47,642 bytes, lines 2822-3712
2822);
2823        }
2824      },
2825      setTranslate: function setTranslate(e) {
2826        e.params.virtual.enabled && e.virtual.update();
2827      }
2828    }
2829  },
2830      K = {
2831    handle: function handle(e) {
2832      var t = this;
2833
2834      if (t.enabled) {
2835        var a = l(),
2836            i = r(),
2837            s = t.rtlTranslate,
2838            n = e;
2839        n.originalEvent && (n = n.originalEvent);
2840        var o = n.keyCode || n.charCode,
2841            d = t.params.keyboard.pageUpDown,
2842            p = d && 33 === o,
2843            u = d && 34 === o,
2844            c = 37 === o,
2845            h = 39 === o,
2846            v = 38 === o,
2847            f = 40 === o;
2848        if (!t.allowSlideNext && (t.isHorizontal() && h || t.isVertical() && f || u)) return !1;
2849        if (!t.allowSlidePrev && (t.isHorizontal() && c || t.isVertical() && v || p)) return !1;
2850
2851        if (!(n.shiftKey || n.altKey || n.ctrlKey || n.metaKey || i.activeElement && i.activeElement.nodeName && ("input" === i.activeElement.nodeName.toLowerCase() || "textarea" === i.activeElement.nodeName.toLowerCase()))) {
2852          if (t.params.keyboard.onlyInViewport && (p || u || c || h || v || f)) {
2853            var m = !1;
2854            if (t.$el.parents("." + t.params.slideClass).length > 0 && 0 === t.$el.parents("." + t.params.slideActiveClass).length) return;
2855            var g = t.$el,
2856                b = g[0].clientWidth,
2857                w = g[0].clientHeight,
2858                y = a.innerWidth,
2859                E = a.innerHeight,
2860                x = t.$el.offset();
2861            s && (x.left -= t.$el[0].scrollLeft);
2862
2863            for (var T = [[x.left, x.top], [x.left + b, x.top], [x.left, x.top + w], [x.left + b, x.top + w]], C = 0; C < T.length; C += 1) {
2864              var S = T[C];
2865
2866              if (S[0] >= 0 && S[0] <= y && S[1] >= 0 && S[1] <= E) {
2867                if (0 === S[0] && 0 === S[1]) continue;
2868                m = !0;
2869              }
2870            }
2871
2872            if (!m) return;
2873          }
2874
2875          t.isHorizontal() ? ((p || u || c || h) && (n.preventDefault ? n.preventDefault() : n.returnValue = !1), ((u || h) && !s || (p || c) && s) && t.slideNext(), ((p || c) && !s || (u || h) && s) && t.slidePrev()) : ((p || u || v || f) && (n.preventDefault ? n.preventDefault() : n.returnValue = !1), (u || f) && t.slideNext(), (p || v) && t.slidePrev()), t.emit("keyPress", o);
2876        }
2877      }
2878    },
2879    enable: function enable() {
2880      var e = this,
2881          t = r();
2882      e.keyboard.enabled || (m(t).on("keydown", e.keyboard.handle), e.keyboard.enabled = !0);
2883    },
2884    disable: function disable() {
2885      var e = this,
2886          t = r();
2887      e.keyboard.enabled && (m(t).off("keydown", e.keyboard.handle), e.keyboard.enabled = !1);
2888    }
2889  },
2890      Z = {
2891    name: "keyboard",
2892    params: {
2893      keyboard: {
2894        enabled: !1,
2895        onlyInViewport: !0,
2896        pageUpDown: !0
2897      }
2898    },
2899    create: function create() {
2900      z(this, {
2901        keyboard: t({
2902          enabled: !1
2903        }, K)
2904      });
2905    },
2906    on: {
2907      init: function init(e) {
2908        e.params.keyboard.enabled && e.keyboard.enable();
2909      },
2910      destroy: function destroy(e) {
2911        e.keyboard.enabled && e.keyboard.disable();
2912      }
2913    }
2914  };
2915  var J = {
2916    lastScrollTime: x(),
2917    lastEventBeforeSnap: void 0,
2918    recentWheelEvents: [],
2919    event: function event() {
2920      return l().navigator.userAgent.indexOf("firefox") > -1 ? "DOMMouseScroll" : function () {
2921        var e = r(),
2922            t = "onwheel",
2923            a = (t in e);
2924
2925        if (!a) {
2926          var i = e.createElement("div");
2927          i.setAttribute(t, "return;"), a = "function" == typeof i.onwheel;
2928        }
2929
2930        return !a && e.implementation && e.implementation.hasFeature && !0 !== e.implementation.hasFeature("", "") && (a = e.implementation.hasFeature("Events.wheel", "3.0")), a;
2931      }() ? "wheel" : "mousewheel";
2932    },
2933    normalize: function normalize(e) {
2934      var t = 0,
2935          a = 0,
2936          i = 0,
2937          s = 0;
2938      return "detail" in e && (a = e.detail), "wheelDelta" in e && (a = -e.wheelDelta / 120), "wheelDeltaY" in e && (a = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && (t = a, a = 0), i = 10 * t, s = 10 * a, "deltaY" in e && (s = e.deltaY), "deltaX" in e && (i = e.deltaX), e.shiftKey && !i && (i = s, s = 0), (i || s) && e.deltaMode && (1 === e.deltaMode ? (i *= 40, s *= 40) : (i *= 800, s *= 800)), i && !t && (t = i < 1 ? -1 : 1), s && !a && (a = s < 1 ? -1 : 1), {
2939        spinX: t,
2940        spinY: a,
2941        pixelX: i,
2942        pixelY: s
2943      };
2944    },
2945    handleMouseEnter: function handleMouseEnter() {
2946      this.enabled && (this.mouseEntered = !0);
2947    },
2948    handleMouseLeave: function handleMouseLeave() {
2949      this.enabled && (this.mouseEntered = !1);
2950    },
2951    handle: function handle(e) {
2952      var t = e,
2953          a = this;
2954
2955      if (a.enabled) {
2956        var i = a.params.mousewheel;
2957        a.params.cssMode && t.preventDefault();
2958        var s = a.$el;
2959        if ("container" !== a.params.mousewheel.eventsTarget && (s = m(a.params.mousewheel.eventsTarget)), !a.mouseEntered && !s[0].contains(t.target) && !i.releaseOnEdges) return !0;
2960        t.originalEvent && (t = t.originalEvent);
2961        var r = 0,
2962            n = a.rtlTranslate ? -1 : 1,
2963            l = J.normalize(t);
2964        if (i.forceToAxis) {
2965          if (a.isHorizontal()) {
2966            if (!(Math.abs(l.pixelX) > Math.abs(l.pixelY))) return !0;
2967            r = -l.pixelX * n;
2968          } else {
2969            if (!(Math.abs(l.pixelY) > Math.abs(l.pixelX))) return !0;
2970            r = -l.pixelY;
2971          }
2972        } else r = Math.abs(l.pixelX) > Math.abs(l.pixelY) ? -l.pixelX * n : -l.pixelY;
2973        if (0 === r) return !0;
2974        i.invert && (r = -r);
2975        var o = a.getTranslate() + r * i.sensitivity;
2976
2977        if (o >= a.minTranslate() && (o = a.minTranslate()), o <= a.maxTranslate() && (o = a.maxTranslate()), (!!a.params.loop || !(o === a.minTranslate() || o === a.maxTranslate())) && a.params.nested && t.stopPropagation(), a.params.freeMode) {
2978          var d = {
2979            time: x(),
2980            delta: Math.abs(r),
2981            direction: Math.sign(r)
2982          },
2983              p = a.mousewheel.lastEventBeforeSnap,
2984              u = p && d.time < p.time + 500 && d.delta <= p.delta && d.direction === p.direction;
2985
2986          if (!u) {
2987            a.mousewheel.lastEventBeforeSnap = void 0, a.params.loop && a.loopFix();
2988            var c = a.getTranslate() + r * i.sensitivity,
2989                h = a.isBeginning,
2990                v = a.isEnd;
2991
2992            if (c >= a.minTranslate() && (c = a.minTranslate()), c <= a.maxTranslate() && (c = a.maxTranslate()), a.setTransition(0), a.setTranslate(c), a.updateProgress(), a.updateActiveIndex(), a.updateSlidesClasses(), (!h && a.isBeginning || !v && a.isEnd) && a.updateSlidesClasses(), a.params.freeModeSticky) {
2993              clearTimeout(a.mousewheel.timeout), a.mousewheel.timeout = void 0;
2994              var f = a.mousewheel.recentWheelEvents;
2995              f.length >= 15 && f.shift();
2996              var g = f.length ? f[f.length - 1] : void 0,
2997                  b = f[0];
2998              if (f.push(d), g && (d.delta > g.delta || d.direction !== g.direction)) f.splice(0);else if (f.length >= 15 && d.time - b.time < 500 && b.delta - d.delta >= 1 && d.delta <= 6) {
2999                var w = r > 0 ? .8 : .2;
3000                a.mousewheel.lastEventBeforeSnap = d, f.splice(0), a.mousewheel.timeout = E(function () {
3001                  a.slideToClosest(a.params.speed, !0, void 0, w);
3002                }, 0);
3003              }
3004              a.mousewheel.timeout || (a.mousewheel.timeout = E(function () {
3005                a.mousewheel.lastEventBeforeSnap = d, f.splice(0), a.slideToClosest(a.params.speed, !0, void 0, .5);
3006              }, 500));
3007            }
3008
3009            if (u || a.emit("scroll", t), a.params.autoplay && a.params.autoplayDisableOnInteraction && a.autoplay.stop(), c === a.minTranslate() || c === a.maxTranslate()) return !0;
3010          }
3011        } else {
3012          var y = {
3013            time: x(),
3014            delta: Math.abs(r),
3015            direction: Math.sign(r),
3016            raw: e
3017          },
3018              T = a.mousewheel.recentWheelEvents;
3019          T.length >= 2 && T.shift();
3020          var C = T.length ? T[T.length - 1] : void 0;
3021          if (T.push(y), C ? (y.direction !== C.direction || y.delta > C.delta || y.time > C.time + 150) && a.mousewheel.animateSlider(y) : a.mousewheel.animateSlider(y), a.mousewheel.releaseScroll(y)) return !0;
3022        }
3023
3024        return t.preventDefault ? t.preventDefault() : t.returnValue = !1, !1;
3025      }
3026    },
3027    animateSlider: function animateSlider(e) {
3028      var t = this,
3029          a = l();
3030      return !(this.params.mousewheel.thresholdDelta && e.delta < this.params.mousewheel.thresholdDelta) && !(this.params.mousewheel.thresholdTime && x() - t.mousewheel.lastScrollTime < this.params.mousewheel.thresholdTime) && (e.delta >= 6 && x() - t.mousewheel.lastScrollTime < 60 || (e.direction < 0 ? t.isEnd && !t.params.loop || t.animating || (t.slideNext(), t.emit("scroll", e.raw)) : t.isBeginning && !t.params.loop || t.animating || (t.slidePrev(), t.emit("scroll", e.raw)), t.mousewheel.lastScrollTime = new a.Date().getTime(), !1));
3031    },
3032    releaseScroll: function releaseScroll(e) {
3033      var t = this,
3034          a = t.params.mousewheel;
3035
3036      if (e.direction < 0) {
3037        if (t.isEnd && !t.params.loop && a.releaseOnEdges) return !0;
3038      } else if (t.isBeginning && !t.params.loop && a.releaseOnEdges) return !0;
3039
3040      return !1;
3041    },
3042    enable: function enable() {
3043      var e = this,
3044          t = J.event();
3045      if (e.params.cssMode) return e.wrapperEl.removeEventListener(t, e.mousewheel.handle), !0;
3046      if (!t) return !1;
3047      if (e.mousewheel.enabled) return !1;
3048      var a = e.$el;
3049      return "container" !== e.params.mousewheel.eventsTarget && (a = m(e.params.mousewheel.eventsTarget)), a.on("mouseenter", e.mousewheel.handleMouseEnter), a.on("mouseleave", e.mousewheel.handleMouseLeave), a.on(t, e.mousewheel.handle), e.mousewheel.enabled = !0, !0;
3050    },
3051    disable: function disable() {
3052      var e = this,
3053          t = J.event();
3054      if (e.params.cssMode) return e.wrapperEl.addEventListener(t, e.mousewheel.handle), !0;
3055      if (!t) return !1;
3056      if (!e.mousewheel.enabled) return !1;
3057      var a = e.$el;
3058      return "container" !== e.params.mousewheel.eventsTarget && (a = m(e.params.mousewheel.eventsTarget)), a.off(t, e.mousewheel.handle), e.mousewheel.enabled = !1, !0;
3059    }
3060  },
3061      Q = {
3062    toggleEl: function toggleEl(e, t) {
3063      e[t ? "addClass" : "removeClass"](this.params.navigation.disabledClass), e[0] && "BUTTON" === e[0].tagName && (e[0].disabled = t);
3064    },
3065    update: function update() {
3066      var e = this,
3067          t = e.params.navigation,
3068          a = e.navigation.toggleEl;
3069
3070      if (!e.params.loop) {
3071        var i = e.navigation,
3072            s = i.$nextEl,
3073            r = i.$prevEl;
3074        r && r.length > 0 && (e.isBeginning ? a(r, !0) : a(r, !1), e.params.watchOverflow && e.enabled && r[e.isLocked ? "addClass" : "removeClass"](t.lockClass)), s && s.length > 0 && (e.isEnd ? a(s, !0) : a(s, !1), e.params.watchOverflow && e.enabled && s[e.isLocked ? "addClass" : "removeClass"](t.lockClass));
3075      }
3076    },
3077    onPrevClick: function onPrevClick(e) {
3078      var t = this;
3079      e.preventDefault(), t.isBeginning && !t.params.loop || t.slidePrev();
3080    },
3081    onNextClick: function onNextClick(e) {
3082      var t = this;
3083      e.preventDefault(), t.isEnd && !t.params.loop || t.slideNext();
3084    },
3085    init: function init() {
3086      var e,
3087          t,
3088          a = this,
3089          i = a.params.navigation;
3090      (a.params.navigation = k(a.$el, a.params.navigation, a.params.createElements, {
3091        nextEl: "swiper-button-next",
3092        prevEl: "swiper-button-prev"
3093      }), i.nextEl || i.prevEl) && (i.nextEl && (e = m(i.nextEl), a.params.uniqueNavElements && "string" == typeof i.nextEl && e.length > 1 && 1 === a.$el.find(i.nextEl).length && (e = a.$el.find(i.nextEl))), i.prevEl && (t = m(i.prevEl), a.params.uniqueNavElements && "string" == typeof i.prevEl && t.length > 1 && 1 === a.$el.find(i.prevEl).length && (t = a.$el.find(i.prevEl))), e && e.length > 0 && e.on("click", a.navigation.onNextClick), t && t.length > 0 && t.on("click", a.navigation.onPrevClick), M(a.navigation, {
3094        $nextEl: e,
3095        nextEl: e && e[0],
3096        $prevEl: t,
3097        prevEl: t && t[0]
3098      }), a.enabled || (e && e.addClass(i.lockClass), t && t.addClass(i.lockClass)));
3099    },
3100    destroy: function destroy() {
3101      var e = this,
3102          t = e.navigation,
3103          a = t.$nextEl,
3104          i = t.$prevEl;
3105      a && a.length && (a.off("click", e.navigation.onNextClick), a.removeClass(e.params.navigation.disabledClass)), i && i.length && (i.off("click", e.navigation.onPrevClick), i.removeClass(e.params.navigation.disabledClass));
3106    }
3107  },
3108      ee = {
3109    update: function update() {
3110      var e = this,
3111          t = e.rtl,
3112          a = e.params.pagination;
3113
3114      if (a.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) {
3115        var i,
3116            s = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length,
3117            r = e.pagination.$el,
3118            n = e.params.loop ? Math.ceil((s - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length;
3119
3120        if (e.params.loop ? ((i = Math.ceil((e.activeIndex - e.loopedSlides) / e.params.slidesPerGroup)) > s - 1 - 2 * e.loopedSlides && (i -= s - 2 * e.loopedSlides), i > n - 1 && (i -= n), i < 0 && "bullets" !== e.params.paginationType && (i = n + i)) : i = void 0 !== e.snapIndex ? e.snapIndex : e.activeIndex || 0, "bullets" === a.type && e.pagination.bullets && e.pagination.bullets.length > 0) {
3121          var l,
3122              o,
3123              d,
3124              p = e.pagination.bullets;
3125          if (a.dynamicBullets && (e.pagination.bulletSize = p.eq(0)[e.isHorizontal() ? "outerWidth" : "outerHeight"](!0), r.css(e.isHorizontal() ? "width" : "height", e.pagination.bulletSize * (a.dynamicMainBullets + 4) + "px"), a.dynamicMainBullets > 1 && void 0 !== e.previousIndex && (e.pagination.dynamicBulletIndex += i - e.previousIndex, e.pagination.dynamicBulletIndex > a.dynamicMainBullets - 1 ? e.pagination.dynamicBulletIndex = a.dynamicMainBullets - 1 : e.pagination.dynamicBulletIndex < 0 && (e.pagination.dynamicBulletIndex = 0)), l = i - e.pagination.dynamicBulletIndex, d = ((o = l + (Math.min(p.length, a.dynamicMainBullets) - 1)) + l) / 2), p.removeClass(a.bulletActiveClass + " " + a.bulletActiveClass + "-next " + a.bulletActiveClass + "-next-next " + a.bulletActiveClass + "-prev " + a.bulletActiveClass + "-prev-prev " + a.bulletActiveClass + "-main"), r.length > 1) p.each(function (e) {
3126            var t = m(e),
3127                s = t.index();
3128            s === i && t.addClass(a.bulletActiveClass), a.dynamicBullets && (s >= l && s <= o && t.addClass(a.bulletActiveClass + "-main"), s === l && t.prev().addClass(a.bulletActiveClass + "-prev").prev().addClass(a.bulletActiveClass + "-prev-prev"), s === o && t.next().addClass(a.bulletActiveClass + "-next").next().addClass(a.bulletActiveClass + "-next-next"));
3129          });else {
3130            var u = p.eq(i),
3131                c = u.index();
3132
3133            if (u.addClass(a.bulletActiveClass), a.dynamicBullets) {
3134              for (var h = p.eq(l), v = p.eq(o), f = l; f <= o; f += 1) {
3135                p.eq(f).addClass(a.bulletActiveClass + "-main");
3136              }
3137
3138              if (e.params.loop) {
3139                if (c >= p.length - a.dynamicMainBullets) {
3140                  for (var g = a.dynamicMainBullets; g >= 0; g -= 1) {
3141                    p.eq(p.length - g).addClass(a.bulletActiveClass + "-main");
3142                  }
3143
3144                  p.eq(p.length - a.dynamicMainBullets - 1).addClass(a.bulletActiveClass + "-prev");
3145                } else h.prev().addClass(a.bulletActiveClass + "-prev").prev().addClass(a.bulletActiveClass + "-prev-prev"), v.next().addClass(a.bulletActiveClass + "-next").next().addClass(a.bulletActiveClass + "-next-next");
3146              } else h.prev().addClass(a.bulletActiveClass + "-prev").prev().addClass(a.bulletActiveClass + "-prev-prev"), v.next().addClass(a.bulletActiveClass + "-next").next().addClass(a.bulletActiveClass + "-next-next");
3147            }
3148          }
3149
3150          if (a.dynamicBullets) {
3151            var b = Math.min(p.length, a.dynamicMainBullets + 4),
3152                w = (e.pagination.bulletSize * b - e.pagination.bulletSize) / 2 - d * e.pagination.bulletSize,
3153                y = t ? "right" : "left";
3154            p.css(e.isHorizontal() ? y : "top", w + "px");
3155          }
3156        }
3157
3158        if ("fraction" === a.type && (r.find(P(a.currentClass)).text(a.formatFractionCurrent(i + 1)), r.find(P(a.totalClass)).text(a.formatFractionTotal(n))), "progressbar" === a.type) {
3159          var E;
3160          E = a.progressbarOpposite ? e.isHorizontal() ? "vertical" : "horizontal" : e.isHorizontal() ? "horizontal" : "vertical";
3161          var x = (i + 1) / n,
3162              T = 1,
3163              C = 1;
3164          "horizontal" === E ? T = x : C = x, r.find(P(a.progressbarFillClass)).transform("translate3d(0,0,0) scaleX(" + T + ") scaleY(" + C + ")").transition(e.params.speed);
3165        }
3166
3167        "custom" === a.type && a.renderCustom ? (r.html(a.renderCustom(e, i + 1, n)), e.emit("paginationRender", r[0])) : e.emit("paginationUpdate", r[0]), e.params.watchOverflow && e.enabled && r[e.isLocked ? "addClass" : "removeClass"](a.lockClass);
3168      }
3169    },
3170    render: function render() {
3171      var e = this,
3172          t = e.params.pagination;
3173
3174      if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) {
3175        var a = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length,
3176            i = e.pagination.$el,
3177            s = "";
3178
3179        if ("bullets" === t.type) {
3180          var r = e.params.loop ? Math.ceil((a - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length;
3181          e.params.freeMode && !e.params.loop && r > a && (r = a);
3182
3183          for (var n = 0; n < r; n += 1) {
3184            t.renderBullet ? s += t.renderBullet.call(e, n, t.bulletClass) : s += "<" + t.bulletElement + ' class="' + t.bulletClass + '"></' + t.bulletElement + ">";
3185          }
3186
3187          i.html(s), e.pagination.bullets = i.find(P(t.bulletClass));
3188        }
3189
3190        "fraction" === t.type && (s = t.renderFraction ? t.renderFraction.call(e, t.currentClass, t.totalClass) : '<span class="' + t.currentClass + '"></span> / <span class="' + t.totalClass + '"></span>', i.html(s)), "progressbar" === t.type && (s = t.renderProgressbar ? t.renderProgressbar.call(e, t.progressbarFillClass) : '<span class="' + t.progressbarFillClass + '"></span>', i.html(s)), "custom" !== t.type && e.emit("paginationRender", e.pagination.$el[0]);
3191      }
3192    },
3193    init: function init() {
3194      var e = this;
3195      e.params.pagination = k(e.$el, e.params.pagination, e.params.createElements, {
3196        el: "swiper-pagination"
3197      });
3198      var t = e.params.pagination;
3199
3200      if (t.el) {
3201        var a = m(t.el);
3202        0 !== a.length && (e.params.uniqueNavElements && "string" == typeof t.el && a.length > 1 && (a = e.$el.find(t.el)), "bullets" === t.type && t.clickable && a.addClass(t.clickableClass), a.addClass(t.modifierClass + t.type), "bullets" === t.type && t.dynamicBullets && (a.addClass("" + t.modifierClass + t.type + "-dynamic"), e.pagination.dynamicBulletIndex = 0, t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)), "progressbar" === t.type && t.progressbarOpposite && a.addClass(t.progressbarOppositeClass), t.clickable && a.on("click", P(t.bulletClass), function (t) {
3203          t.preventDefault();
3204          var a = m(this).index() * e.params.slidesPerGroup;
3205          e.params.loop && (a += e.loopedSlides), e.slideTo(a);
3206        }), M(e.pagination, {
3207          $el: a,
3208          el: a[0]
3209        }), e.enabled || a.addClass(t.lockClass));
3210      }
3211    },
3212    destroy: function destroy() {
3213      var e = this,
3214          t = e.params.pagination;
3215
3216      if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) {
3217        var a = e.pagination.$el;
3218        a.removeClass(t.hiddenClass), a.removeClass(t.modifierClass + t.type), e.pagination.bullets && e.pagination.bullets.removeClass(t.bulletActiveClass), t.clickable && a.off("click", P(t.bulletClass));
3219      }
3220    }
3221  },
3222      te = {
3223    setTranslate: function setTranslate() {
3224      var e = this;
3225
3226      if (e.params.scrollbar.el && e.scrollbar.el) {
3227        var t = e.scrollbar,
3228            a = e.rtlTranslate,
3229            i = e.progress,
3230            s = t.dragSize,
3231            r = t.trackSize,
3232            n = t.$dragEl,
3233            l = t.$el,
3234            o = e.params.scrollbar,
3235            d = s,
3236            p = (r - s) * i;
3237        a ? (p = -p) > 0 ? (d = s - p, p = 0) : -p + s > r && (d = r + p) : p < 0 ? (d = s + p, p = 0) : p + s > r && (d = r - p), e.isHorizontal() ? (n.transform("translate3d(" + p + "px, 0, 0)"), n[0].style.width = d + "px") : (n.transform("translate3d(0px, " + p + "px, 0)"), n[0].style.height = d + "px"), o.hide && (clearTimeout(e.scrollbar.timeout), l[0].style.opacity = 1, e.scrollbar.timeout = setTimeout(function () {
3238          l[0].style.opacity = 0, l.transition(400);
3239        }, 1e3));
3240      }
3241    },
3242    setTransition: function setTransition(e) {
3243      var t = this;
3244      t.params.scrollbar.el && t.scrollbar.el && t.scrollbar.$dragEl.transition(e);
3245    },
3246    updateSize: function updateSize() {
3247      var e = this;
3248
3249      if (e.params.scrollbar.el && e.scrollbar.el) {
3250        var t = e.scrollbar,
3251            a = t.$dragEl,
3252            i = t.$el;
3253        a[0].style.width = "", a[0].style.height = "";
3254        var s,
3255            r = e.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight,
3256            n = e.size / e.virtualSize,
3257            l = n * (r / e.size);
3258        s = "auto" === e.params.scrollbar.dragSize ? r * n : parseInt(e.params.scrollbar.dragSize, 10), e.isHorizontal() ? a[0].style.width = s + "px" : a[0].style.height = s + "px", i[0].style.display = n >= 1 ? "none" : "", e.params.scrollbar.hide && (i[0].style.opacity = 0), M(t, {
3259          trackSize: r,
3260          divider: n,
3261          moveDivider: l,
3262          dragSize: s
3263        }), e.params.watchOverflow && e.enabled && t.$el[e.isLocked ? "addClass" : "removeClass"](e.params.scrollbar.lockClass);
3264      }
3265    },
3266    getPointerPosition: function getPointerPosition(e) {
3267      return this.isHorizontal() ? "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].clientX : e.clientX : "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].clientY : e.clientY;
3268    },
3269    setDragPosition: function setDragPosition(e) {
3270      var t,
3271          a = this,
3272          i = a.scrollbar,
3273          s = a.rtlTranslate,
3274          r = i.$el,
3275          n = i.dragSize,
3276          l = i.trackSize,
3277          o = i.dragStartPos;
3278      t = (i.getPointerPosition(e) - r.offset()[a.isHorizontal() ? "left" : "top"] - (null !== o ? o : n / 2)) / (l - n), t = Math.max(Math.min(t, 1), 0), s && (t = 1 - t);
3279      var d = a.minTranslate() + (a.maxTranslate() - a.minTranslate()) * t;
3280      a.updateProgress(d), a.setTranslate(d), a.updateActiveIndex(), a.updateSlidesClasses();
3281    },
3282    onDragStart: function onDragStart(e) {
3283      var t = this,
3284          a = t.params.scrollbar,
3285          i = t.scrollbar,
3286          s = t.$wrapperEl,
3287          r = i.$el,
3288          n = i.$dragEl;
3289      t.scrollbar.isTouched = !0, t.scrollbar.dragStartPos = e.target === n[0] || e.target === n ? i.getPointerPosition(e) - e.target.getBoundingClientRect()[t.isHorizontal() ? "left" : "top"] : null, e.preventDefault(), e.stopPropagation(), s.transition(100), n.transition(100), i.setDragPosition(e), clearTimeout(t.scrollbar.dragTimeout), r.transition(0), a.hide && r.css("opacity", 1), t.params.cssMode && t.$wrapperEl.css("scroll-snap-type", "none"), t.emit("scrollbarDragStart", e);
3290    },
3291    onDragMove: function onDragMove(e) {
3292      var t = this,
3293          a = t.scrollbar,
3294          i = t.$wrapperEl,
3295          s = a.$el,
3296          r = a.$dragEl;
3297      t.scrollbar.isTouched && (e.preventDefault ? e.preventDefault() : e.returnValue = !1, a.setDragPosition(e), i.transition(0), s.transition(0), r.transition(0), t.emit("scrollbarDragMove", e));
3298    },
3299    onDragEnd: function onDragEnd(e) {
3300      var t = this,
3301          a = t.params.scrollbar,
3302          i = t.scrollbar,
3303          s = t.$wrapperEl,
3304          r = i.$el;
3305      t.scrollbar.isTouched && (t.scrollbar.isTouched = !1, t.params.cssMode && (t.$wrapperEl.css("scroll-snap-type", ""), s.transition("")), a.hide && (clearTimeout(t.scrollbar.dragTimeout), t.scrollbar.dragTimeout = E(function () {
3306        r.css("opacity", 0), r.transition(400);
3307      }, 1e3)), t.emit("scrollbarDragEnd", e), a.snapOnRelease && t.slideToClosest());
3308    },
3309    enableDraggable: function enableDraggable() {
3310      var e = this;
3311
3312      if (e.params.scrollbar.el) {
3313        var t = r(),
3314            a = e.scrollbar,
3315            i = e.touchEventsTouch,
3316            s = e.touchEventsDesktop,
3317            n = e.params,
3318            l = e.support,
3319            o = a.$el[0],
3320            d = !(!l.passiveListener || !n.passiveListeners) && {
3321          passive: !1,
3322          capture: !1
3323        },
3324            p = !(!l.passiveListener || !n.passiveListeners) && {
3325          passive: !0,
3326          capture: !1
3327        };
3328        o && (l.touch ? (o.addEventListener(i.start, e.scrollbar.onDragStart, d), o.addEventListener(i.move, e.scrollbar.onDragMove, d), o.addEventListener(i.end, e.scrollbar.onDragEnd, p)) : (o.addEventListener(s.start, e.scrollbar.onDragStart, d), t.addEventListener(s.move, e.scrollbar.onDragMove, d), t.addEventListener(s.end, e.scrollbar.onDragEnd, p)));
3329      }
3330    },
3331    disableDraggable: function disableDraggable() {
3332      var e = this;
3333
3334      if (e.params.scrollbar.el) {
3335        var t = r(),
3336            a = e.scrollbar,
3337            i = e.touchEventsTouch,
3338            s = e.touchEventsDesktop,
3339            n = e.params,
3340            l = e.support,
3341            o = a.$el[0],
3342            d = !(!l.passiveListener || !n.passiveListeners) && {
3343          passive: !1,
3344          capture: !1
3345        },
3346            p = !(!l.passiveListener || !n.passiveListeners) && {
3347          passive: !0,
3348          capture: !1
3349        };
3350        o && (l.touch ? (o.removeEventListener(i.start, e.scrollbar.onDragStart, d), o.removeEventListener(i.move, e.scrollbar.onDragMove, d), o.removeEventListener(i.end, e.scrollbar.onDragEnd, p)) : (o.removeEventListener(s.start, e.scrollbar.onDragStart, d), t.removeEventListener(s.move, e.scrollbar.onDragMove, d), t.removeEventListener(s.end, e.scrollbar.onDragEnd, p)));
3351      }
3352    },
3353    init: function init() {
3354      var e = this,
3355          t = e.scrollbar,
3356          a = e.$el;
3357      e.params.scrollbar = k(a, e.params.scrollbar, e.params.createElements, {
3358        el: "swiper-scrollbar"
3359      });
3360      var i = e.params.scrollbar;
3361
3362      if (i.el) {
3363        var s = m(i.el);
3364        e.params.uniqueNavElements && "string" == typeof i.el && s.length > 1 && 1 === a.find(i.el).length && (s = a.find(i.el));
3365        var r = s.find("." + e.params.scrollbar.dragClass);
3366        0 === r.length && (r = m('<div class="' + e.params.scrollbar.dragClass + '"></div>'), s.append(r)), M(t, {
3367          $el: s,
3368          el: s[0],
3369          $dragEl: r,
3370          dragEl: r[0]
3371        }), i.draggable && t.enableDraggable(), s && s[e.enabled ? "removeClass" : "addClass"](e.params.scrollbar.lockClass);
3372      }
3373    },
3374    destroy: function destroy() {
3375      this.scrollbar.disableDraggable();
3376    }
3377  },
3378      ae = {
3379    setTransform: function setTransform(e, t) {
3380      var a = this.rtl,
3381          i = m(e),
3382          s = a ? -1 : 1,
3383          r = i.attr("data-swiper-parallax") || "0",
3384          n = i.attr("data-swiper-parallax-x"),
3385          l = i.attr("data-swiper-parallax-y"),
3386          o = i.attr("data-swiper-parallax-scale"),
3387          d = i.attr("data-swiper-parallax-opacity");
3388
3389      if (n || l ? (n = n || "0", l = l || "0") : this.isHorizontal() ? (n = r, l = "0") : (l = r, n = "0"), n = n.indexOf("%") >= 0 ? parseInt(n, 10) * t * s + "%" : n * t * s + "px", l = l.indexOf("%") >= 0 ? parseInt(l, 10) * t + "%" : l * t + "px", null != d) {
3390        var p = d - (d - 1) * (1 - Math.abs(t));
3391        i[0].style.opacity = p;
3392      }
3393
3394      if (null == o) i.transform("translate3d(" + n + ", " + l + ", 0px)");else {
3395        var u = o - (o - 1) * (1 - Math.abs(t));
3396        i.transform("translate3d(" + n + ", " + l + ", 0px) scale(" + u + ")");
3397      }
3398    },
3399    setTranslate: function setTranslate() {
3400      var e = this,
3401          t = e.$el,
3402          a = e.slides,
3403          i = e.progress,
3404          s = e.snapGrid;
3405      t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each(function (t) {
3406        e.parallax.setTransform(t, i);
3407      }), a.each(function (t, a) {
3408        var r = t.progress;
3409        e.params.slidesPerGroup > 1 && "auto" !== e.params.slidesPerView && (r += Math.ceil(a / 2) - i * (s.length - 1)), r = Math.min(Math.max(r, -1), 1), m(t).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each(function (t) {
3410          e.parallax.setTransform(t, r);
3411        });
3412      });
3413    },
3414    setTransition: function setTransition(e) {
3415      void 0 === e && (e = this.params.speed);
3416      this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each(function (t) {
3417        var a = m(t),
3418            i = parseInt(a.attr("data-swiper-parallax-duration"), 10) || e;
3419        0 === e && (i = 0), a.transition(i);
3420      });
3421    }
3422  },
3423      ie = {
3424    getDistanceBetweenTouches: function getDistanceBetweenTouches(e) {
3425      if (e.targetTouches.length < 2) return 1;
3426      var t = e.targetTouches[0].pageX,
3427          a = e.targetTouches[0].pageY,
3428          i = e.targetTouches[1].pageX,
3429          s = e.targetTouches[1].pageY;
3430      return Math.sqrt(Math.pow(i - t, 2) + Math.pow(s - a, 2));
3431    },
3432    onGestureStart: function onGestureStart(e) {
3433      var t = this,
3434          a = t.support,
3435          i = t.params.zoom,
3436          s = t.zoom,
3437          r = s.gesture;
3438
3439      if (s.fakeGestureTouched = !1, s.fakeGestureMoved = !1, !a.gestures) {
3440        if ("touchstart" !== e.type || "touchstart" === e.type && e.targetTouches.length < 2) return;
3441        s.fakeGestureTouched = !0, r.scaleStart = ie.getDistanceBetweenTouches(e);
3442      }
3443
3444      r.$slideEl && r.$slideEl.length || (r.$slideEl = m(e.target).closest("." + t.params.slideClass), 0 === r.$slideEl.length && (r.$slideEl = t.slides.eq(t.activeIndex)), r.$imageEl = r.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), r.$imageWrapEl = r.$imageEl.parent("." + i.containerClass), r.maxRatio = r.$imageWrapEl.attr("data-swiper-zoom") || i.maxRatio, 0 !== r.$imageWrapEl.length) ? (r.$imageEl && r.$imageEl.transition(0), t.zoom.isScaling = !0) : r.$imageEl = void 0;
3445    },
3446    onGestureChange: function onGestureChange(e) {
3447      var t = this,
3448          a = t.support,
3449          i = t.params.zoom,
3450          s = t.zoom,
3451          r = s.gesture;
3452
3453      if (!a.gestures) {
3454        if ("touchmove" !== e.type || "touchmove" === e.type && e.targetTouches.length < 2) return;
3455        s.fakeGestureMoved = !0, r.scaleMove = ie.getDistanceBetweenTouches(e);
3456      }
3457
3458      r.$imageEl && 0 !== r.$imageEl.length ? (a.gestures ? s.scale = e.scale * s.currentScale : s.scale = r.scaleMove / r.scaleStart * s.currentScale, s.scale > r.maxRatio && (s.scale = r.maxRatio - 1 + Math.pow(s.scale - r.maxRatio + 1, .5)), s.scale < i.minRatio && (s.scale = i.minRatio + 1 - Math.pow(i.minRatio - s.scale + 1, .5)), r.$imageEl.transform("translate3d(0,0,0) scale(" + s.scale + ")")) : "gesturechange" === e.type && s.onGestureStart(e);
3459    },
3460    onGestureEnd: function onGestureEnd(e) {
3461      var t = this,
3462          a = t.device,
3463          i = t.support,
3464          s = t.params.zoom,
3465          r = t.zoom,
3466          n = r.gesture;
3467
3468      if (!i.gestures) {
3469        if (!r.fakeGestureTouched || !r.fakeGestureMoved) return;
3470        if ("touchend" !== e.type || "touchend" === e.type && e.changedTouches.length < 2 && !a.android) return;
3471        r.fakeGestureTouched = !1, r.fakeGestureMoved = !1;
3472      }
3473
3474      n.$imageEl && 0 !== n.$imageEl.length && (r.scale = Math.max(Math.min(r.scale, n.maxRatio), s.minRatio), n.$imageEl.transition(t.params.speed).transform("translate3d(0,0,0) scale(" + r.scale + ")"), r.currentScale = r.scale, r.isScaling = !1, 1 === r.scale && (n.$slideEl = void 0));
3475    },
3476    onTouchStart: function onTouchStart(e) {
3477      var t = this.device,
3478          a = this.zoom,
3479          i = a.gesture,
3480          s = a.image;
3481      i.$imageEl && 0 !== i.$imageEl.length && (s.isTouched || (t.android && e.cancelable && e.preventDefault(), s.isTouched = !0, s.touchesStart.x = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesStart.y = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY));
3482    },
3483    onTouchMove: function onTouchMove(e) {
3484      var t = this,
3485          a = t.zoom,
3486          i = a.gesture,
3487          s = a.image,
3488          r = a.velocity;
3489
3490      if (i.$imageEl && 0 !== i.$imageEl.length && (t.allowClick = !1, s.isTouched && i.$slideEl)) {
3491        s.isMoved || (s.width = i.$imageEl[0].offsetWidth, s.height = i.$imageEl[0].offsetHeight, s.startX = T(i.$imageWrapEl[0], "x") || 0, s.startY = T(i.$imageWrapEl[0], "y") || 0, i.slideWidth = i.$slideEl[0].offsetWidth, i.slideHeight = i.$slideEl[0].offsetHeight, i.$imageWrapEl.transition(0));
3492        var n = s.width * a.scale,
3493            l = s.height * a.scale;
3494
3495        if (!(n < i.slideWidth && l < i.slideHeight)) {
3496          if (s.minX = Math.min(i.slideWidth / 2 - n / 2, 0), s.maxX = -s.minX, s.minY = Math.min(i.slideHeight / 2 - l / 2, 0), s.maxY = -s.minY, s.touchesCurrent.x = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesCurrent.y = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, !s.isMoved && !a.isScaling) {
3497            if (t.isHorizontal() && (Math.floor(s.minX) === Math.floor(s.startX) && s.touchesCurrent.x < s.touchesStart.x || Math.floor(s.maxX) === Math.floor(s.startX) && s.touchesCurrent.x > s.touchesStart.x)) return void (s.isTouched = !1);
3498            if (!t.isHorizontal() && (Math.floor(s.minY) === Math.floor(s.startY) && s.touchesCurrent.y < s.touchesStart.y || Math.floor(s.maxY) === Math.floor(s.startY) && s.touchesCurrent.y > s.touchesStart.y)) return void (s.isTouched = !1);
3499          }
3500
3501          e.cancelable && e.preventDefault(), e.stopPropagation(), s.isMoved = !0, s.currentX = s.touchesCurrent.x - s.touchesStart.x + s.startX, s.currentY = s.touchesCurrent.y - s.touchesStart.y + s.startY, s.currentX < s.minX && (s.currentX = s.minX + 1 - Math.pow(s.minX - s.currentX + 1, .8)), s.currentX > s.maxX && (s.currentX = s.maxX - 1 + Math.pow(s.currentX - s.maxX + 1, .8)), s.currentY < s.minY && (s.currentY = s.minY + 1 - Math.pow(s.minY - s.currentY + 1, .8)), s.currentY > s.maxY && (s.currentY = s.maxY - 1 + Math.pow(s.currentY - s.maxY + 1, .8)), r.prevPositionX || (r.prevPositionX = s.touchesCurrent.x), r.prevPositionY || (r.prevPositionY = s.touchesCurrent.y), r.prevTime || (r.prevTime = Date.now()), r.x = (s.touchesCurrent.x - r.prevPositionX) / (Date.now() - r.prevTime) / 2, r.y = (s.touchesCurrent.y - r.prevPositionY) / (Date.now() - r.prevTime) / 2, Math.abs(s.touchesCurrent.x - r.prevPositionX) < 2 && (r.x = 0), Math.abs(s.touchesCurrent.y - r.prevPositionY) < 2 && (r.y = 0), r.prevPositionX = s.touchesCurrent.x, r.prevPositionY = s.touchesCurrent.y, r.prevTime = Date.now(), i.$imageWrapEl.transform("translate3d(" + s.currentX + "px, " + s.currentY + "px,0)");
3502        }
3503      }
3504    },
3505    onTouchEnd: function onTouchEnd() {
3506      var e = this.zoom,
3507          t = e.gesture,
3508          a = e.image,
3509          i = e.velocity;
3510
3511      if (t.$imageEl && 0 !== t.$imageEl.length) {
3512        if (!a.isTouched || !a.isMoved) return a.isTouched = !1, void (a.isMoved = !1);
3513        a.isTouched = !1, a.isMoved = !1;
3514        var s = 300,
3515            r = 300,
3516            n = i.x * s,
3517            l = a.currentX + n,
3518            o = i.y * r,
3519            d = a.currentY + o;
3520        0 !== i.x && (s = Math.abs((l - a.currentX) / i.x)), 0 !== i.y && (r = Math.abs((d - a.currentY) / i.y));
3521        var p = Math.max(s, r);
3522        a.currentX = l, a.currentY = d;
3523        var u = a.width * e.scale,
3524            c = a.height * e.scale;
3525        a.minX = Math.min(t.slideWidth / 2 - u / 2, 0), a.maxX = -a.minX, a.minY = Math.min(t.slideHeight / 2 - c / 2, 0), a.maxY = -a.minY, a.currentX = Math.max(Math.min(a.currentX, a.maxX), a.minX), a.currentY = Math.max(Math.min(a.currentY, a.maxY), a.minY), t.$imageWrapEl.transition(p).transform("translate3d(" + a.currentX + "px, " + a.currentY + "px,0)");
3526      }
3527    },
3528    onTransitionEnd: function onTransitionEnd() {
3529      var e = this,
3530          t = e.zoom,
3531          a = t.gesture;
3532      a.$slideEl && e.previousIndex !== e.activeIndex && (a.$imageEl && a.$imageEl.transform("translate3d(0,0,0) scale(1)"), a.$imageWrapEl && a.$imageWrapEl.transform("translate3d(0,0,0)"), t.scale = 1, t.currentScale = 1, a.$slideEl = void 0, a.$imageEl = void 0, a.$imageWrapEl = void 0);
3533    },
3534    toggle: function toggle(e) {
3535      var t = this.zoom;
3536      t.scale && 1 !== t.scale ? t.out() : t.in(e);
3537    },
3538    in: function _in(e) {
3539      var t,
3540          a,
3541          i,
3542          s,
3543          r,
3544          n,
3545          o,
3546          d,
3547          p,
3548          u,
3549          c,
3550          h,
3551          v,
3552          f,
3553          g,
3554          b,
3555          w = this,
3556          y = l(),
3557          E = w.zoom,
3558          x = w.params.zoom,
3559          T = E.gesture,
3560          C = E.image;
3561      (T.$slideEl || (e && e.target && (T.$slideEl = m(e.target).closest("." + w.params.slideClass)), T.$slideEl || (w.params.virtual && w.params.virtual.enabled && w.virtual ? T.$slideEl = w.$wrapperEl.children("." + w.params.slideActiveClass) : T.$slideEl = w.slides.eq(w.activeIndex)), T.$imageEl = T.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), T.$imageWrapEl = T.$imageEl.parent("." + x.containerClass)), T.$imageEl && 0 !== T.$imageEl.length && T.$imageWrapEl && 0 !== T.$imageWrapEl.length) && (T.$slideEl.addClass("" + x.zoomedSlideClass), void 0 === C.touchesStart.x && e ? (t = "touchend" === e.type ? e.changedTouches[0].pageX : e.pageX, a = "touchend" === e.type ? e.changedTouches[0].pageY : e.pageY) : (t = C.touchesStart.x, a = C.touchesStart.y), E.scale = T.$imageWrapEl.attr("data-swiper-zoom") || x.maxRatio, E.currentScale = T.$imageWrapEl.attr("data-swiper-zoom") || x.maxRatio, e ? (g = T.$slideEl[0].offsetWidth, b = T.$slideEl[0].offsetHeight, i = T.$slideEl.offset().left + y.scrollX + g / 2 - t, s = T.$slideEl.offset().top + y.scrollY + b / 2 - a, o = T.$imageEl[0].offsetWidth, d = T.$imageEl[0].offsetHeight, p = o * E.scale, u = d * E.scale, v = -(c = Math.min(g / 2 - p / 2, 0)), f = -(h = Math.min(b / 2 - u / 2, 0)), (r = i * E.scale) < c && (r = c), r > v && (r = v), (n = s * E.scale) < h && (n = h), n > f && (n = f)) : (r = 0, n = 0), T.$imageWrapEl.transition(300).transform("translate3d(" + r + "px, " + n + "px,0)"), T.$imageEl.transition(300).transform("translate3d(0,0,0) scale(" + E.scale + ")"));
3562    },
3563    out: function out() {
3564      var e = this,
3565          t = e.zoom,
3566          a = e.params.zoom,
3567          i = t.gesture;
3568      i.$slideEl || (e.params.virtual && e.params.virtual.enabled && e.virtual ? i.$slideEl = e.$wrapperEl.children("." + e.params.slideActiveClass) : i.$slideEl = e.slides.eq(e.activeIndex), i.$imageEl = i.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), i.$imageWrapEl = i.$imageEl.parent("." + a.containerClass)), i.$imageEl && 0 !== i.$imageEl.length && i.$imageWrapEl && 0 !== i.$imageWrapEl.length && (t.scale = 1, t.currentScale = 1, i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"), i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"), i.$slideEl.removeClass("" + a.zoomedSlideClass), i.$slideEl = void 0);
3569    },
3570    toggleGestures: function toggleGestures(e) {
3571      var t = this,
3572          a = t.zoom,
3573          i = a.slideSelector,
3574          s = a.passiveListener;
3575      t.$wrapperEl[e]("gesturestart", i, a.onGestureStart, s), t.$wrapperEl[e]("gesturechange", i, a.onGestureChange, s), t.$wrapperEl[e]("gestureend", i, a.onGestureEnd, s);
3576    },
3577    enableGestures: function enableGestures() {
3578      this.zoom.gesturesEnabled || (this.zoom.gesturesEnabled = !0, this.zoom.toggleGestures("on"));
3579    },
3580    disableGestures: function disableGestures() {
3581      this.zoom.gesturesEnabled && (this.zoom.gesturesEnabled = !1, this.zoom.toggleGestures("off"));
3582    },
3583    enable: function enable() {
3584      var e = this,
3585          t = e.support,
3586          a = e.zoom;
3587
3588      if (!a.enabled) {
3589        a.enabled = !0;
3590        var i = !("touchstart" !== e.touchEvents.start || !t.passiveListener || !e.params.passiveListeners) && {
3591          passive: !0,
3592          capture: !1
3593        },
3594            s = !t.passiveListener || {
3595          passive: !1,
3596          capture: !0
3597        },
3598            r = "." + e.params.slideClass;
3599        e.zoom.passiveListener = i, e.zoom.slideSelector = r, t.gestures ? (e.$wrapperEl.on(e.touchEvents.start, e.zoom.enableGestures, i), e.$wrapperEl.on(e.touchEvents.end, e.zoom.disableGestures, i)) : "touchstart" === e.touchEvents.start && (e.$wrapperEl.on(e.touchEvents.start, r, a.onGestureStart, i), e.$wrapperEl.on(e.touchEvents.move, r, a.onGestureChange, s), e.$wrapperEl.on(e.touchEvents.end, r, a.onGestureEnd, i), e.touchEvents.cancel && e.$wrapperEl.on(e.touchEvents.cancel, r, a.onGestureEnd, i)), e.$wrapperEl.on(e.touchEvents.move, "." + e.params.zoom.containerClass, a.onTouchMove, s);
3600      }
3601    },
3602    disable: function disable() {
3603      var e = this,
3604          t = e.zoom;
3605
3606      if (t.enabled) {
3607        var a = e.support;
3608        e.zoom.enabled = !1;
3609        var i = !("touchstart" !== e.touchEvents.start || !a.passiveListener || !e.params.passiveListeners) && {
3610          passive: !0,
3611          capture: !1
3612        },
3613            s = !a.passiveListener || {
3614          passive: !1,
3615          capture: !0
3616        },
3617            r = "." + e.params.slideClass;
3618        a.gestures ? (e.$wrapperEl.off(e.touchEvents.start, e.zoom.enableGestures, i), e.$wrapperEl.off(e.touchEvents.end, e.zoom.disableGestures, i)) : "touchstart" === e.touchEvents.start && (e.$wrapperEl.off(e.touchEvents.start, r, t.onGestureStart, i), e.$wrapperEl.off(e.touchEvents.move, r, t.onGestureChange, s), e.$wrapperEl.off(e.touchEvents.end, r, t.onGestureEnd, i), e.touchEvents.cancel && e.$wrapperEl.off(e.touchEvents.cancel, r, t.onGestureEnd, i)), e.$wrapperEl.off(e.touchEvents.move, "." + e.params.zoom.containerClass, t.onTouchMove, s);
3619      }
3620    }
3621  },
3622      se = {
3623    loadInSlide: function loadInSlide(e, t) {
3624      void 0 === t && (t = !0);
3625      var a = this,
3626          i = a.params.lazy;
3627
3628      if (void 0 !== e && 0 !== a.slides.length) {
3629        var s = a.virtual && a.params.virtual.enabled ? a.$wrapperEl.children("." + a.params.slideClass + '[data-swiper-slide-index="' + e + '"]') : a.slides.eq(e),
3630            r = s.find("." + i.elementClass + ":not(." + i.loadedClass + "):not(." + i.loadingClass + ")");
3631        !s.hasClass(i.elementClass) || s.hasClass(i.loadedClass) || s.hasClass(i.loadingClass) || r.push(s[0]), 0 !== r.length && r.each(function (e) {
3632          var r = m(e);
3633          r.addClass(i.loadingClass);
3634          var n = r.attr("data-background"),
3635              l = r.attr("data-src"),
3636              o = r.attr("data-srcset"),
3637              d = r.attr("data-sizes"),
3638              p = r.parent("picture");
3639          a.loadImage(r[0], l || n, o, d, !1, function () {
3640            if (null != a && a && (!a || a.params) && !a.destroyed) {
3641              if (n ? (r.css("background-image", 'url("' + n + '")'), r.removeAttr("data-background")) : (o && (r.attr("srcset", o), r.removeAttr("data-srcset")), d && (r.attr("sizes", d), r.removeAttr("data-sizes")), p.length && p.children("source").each(function (e) {
3642                var t = m(e);
3643                t.attr("data-srcset") && (t.attr("srcset", t.attr("data-srcset")), t.removeAttr("data-srcset"));
3644              }), l && (r.attr("src", l), r.removeAttr("data-src"))), r.addClass(i.loadedClass).removeClass(i.loadingClass), s.find("." + i.preloaderClass).remove(), a.params.loop && t) {
3645                var e = s.attr("data-swiper-slide-index");
3646
3647                if (s.hasClass(a.params.slideDuplicateClass)) {
3648                  var u = a.$wrapperEl.children('[data-swiper-slide-index="' + e + '"]:not(.' + a.params.slideDuplicateClass + ")");
3649                  a.lazy.loadInSlide(u.index(), !1);
3650                } else {
3651                  var c = a.$wrapperEl.children("." + a.params.slideDuplicateClass + '[data-swiper-slide-index="' + e + '"]');
3652                  a.lazy.loadInSlide(c.index(), !1);
3653                }
3654              }
3655
3656              a.emit("lazyImageReady", s[0], r[0]), a.params.autoHeight && a.updateAutoHeight();
3657            }
3658          }), a.emit("lazyImageLoad", s[0], r[0]);
3659        });
3660      }
3661    },
3662    load: function load() {
3663      var e = this,
3664          t = e.$wrapperEl,
3665          a = e.params,
3666          i = e.slides,
3667          s = e.activeIndex,
3668          r = e.virtual && a.virtual.enabled,
3669          n = a.lazy,
3670          l = a.slidesPerView;
3671
3672      function o(e) {
3673        if (r) {
3674          if (t.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]').length) return !0;
3675        } else if (i[e]) return !0;
3676
3677        return !1;
3678      }
3679
3680      function d(e) {
3681        return r ? m(e).attr("data-swiper-slide-index") : m(e).index();
3682      }
3683
3684      if ("auto" === l && (l = 0), e.lazy.initialImageLoaded || (e.lazy.initialImageLoaded = !0), e.params.watchSlidesVisibility) t.children("." + a.slideVisibleClass).each(function (t) {
3685        var a = r ? m(t).attr("data-swiper-slide-index") : m(t).index();
3686        e.lazy.loadInSlide(a);
3687      });else if (l > 1) for (var p = s; p < s + l; p += 1) {
3688        o(p) && e.lazy.loadInSlide(p);
3689      } else e.lazy.loadInSlide(s);
3690      if (n.loadPrevNext) if (l > 1 || n.loadPrevNextAmount && n.loadPrevNextAmount > 1) {
3691        for (var u = n.loadPrevNextAmount, c = l, h = Math.min(s + c + Math.max(u, c), i.length), v = Math.max(s - Math.max(c, u), 0), f = s + l; f < h; f += 1) {
3692          o(f) && e.lazy.loadInSlide(f);
3693        }
3694
3695        for (var g = v; g < s; g += 1) {
3696          o(g) && e.lazy.loadInSlide(g);
3697        }
3698      } else {
3699        var b = t.children("." + a.slideNextClass);
3700        b.length > 0 && e.lazy.loadInSlide(d(b));
3701        var w = t.children("." + a.slidePrevClass);
3702        w.length > 0 && e.lazy.loadInSlide(d(w));
3703      }
3704    },
3705    checkInViewOnLoad: function checkInViewOnLoad() {
3706      var e = l(),
3707          t = this;
3708
3709      if (t && !t.destroyed) {
3710        var a = t.params.lazy.scrollingElement ? m(t.params.lazy.scrollingElement) : m(e),
3711            i = a[0] === e,
3712            s = i ? e.innerWidth : a[0].offsetWidth,
3713            r = i ? e.innerHeight : a[0].offsetHeight,
3714            n = t.$el.offset(),
3715            o = !1;
3716        t.rtlTranslate && (n.left -= t.$el[0].scrollLeft);
3717
3718        for (var d = [[n.left, n.top], [n.left + t.width, n.top], [n.left, n.top + t.height], [n.left + t.width, n.top + t.height]], p = 0; p < d.length; p += 1) {
3719          var u = d[p];
3720
3721          if (u[0] >= 0 && u[0] <= s && u[1] >= 0 && u[1] <= r) {
3722            if (0 === u[0] && 0 === u[1]) continue;
3723            o = !0;
3724          }
3725        }
3726
3727        var c = !("touchstart" !== t.touchEvents.start || !t.support.passiveListener || !t.params.passiveListeners) && {
3728          passive: !0,
3729          capture: !1
3730        };
3731        o ? (t.lazy.load(), a.off("scroll", t.lazy.checkInViewOnLoad, c)) : t.lazy.scrollHandlerAttached || (t.lazy.scrollHandlerAttached = !0, a.on("scroll", t.lazy.checkInViewOnLoad, c));
3732      }
3733    }
3734  },
3735      re = {
3736    LinearSpline: function LinearSpline(e, t) {
3737      var a,
3738          i,
3739          s,
3740          r,
3741          n,
3742          l = function l(e, t) {
3743        for (i = -1, a = e.length; a - i > 1;) {
3744          e[s = a + i >> 1] <= t ? i = s : a = s;
3745        }
3746
3747        return a;
3748      };
3749
3750      return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate = function (e) {
3751        return e ? (n = l(this.x, e), r = n - 1, (e - this.x[r]) * (this.y[n] - this.y[r]) / (this.x[n] - this.x[r]) + this.y[r]) : 0;
3752      }, this;
3753    },
3754    getInterpolateFunction: function getInterpolateFunction(e) {
3755      var t = this;
3756      t.controller.spline || (t.controller.spline = t.params.loop ? new re.LinearSpline(t.slidesGrid, e.slidesGrid) : new re.LinearSpline(t.snapGrid, e.snapGrid));
3757    },
3758    setTranslate: function setTranslate(e, t) {
3759      var a,
3760          i,
3761          s = this,
3762          r = s.controller.control,
3763          n = s.constructor;
3764
3765      function l(e) {
3766        var t = s.rtlTranslate ? -s.translate : s.translate;
3767        "slide" === s.params.controller.by && (s.controller.getInterpolateFunction(e), i = -s.controller.spline.interpolate(-t)), i && "container" !== s.params.controller.by || (a = (e.maxTranslate() - e.minTranslate()) / (s.maxTranslate() - s.minTranslate()), i = (t - s.minTranslate()) * a + e.minTranslate()), s.params.controller.inverse && (i = e.maxTranslate() - i), e.updateProgress(i), e.setTranslate(i, s), e.updateActiveIndex(), e.updateSlidesClasses();
3768      }
3769
3770      if (Array.isArray(r)) for (var o = 0; o < r.length; o += 1) {
3771        r[o] !== t && r[o] instanceof n && l(r[o]);
3772      } else r instanceof n && t !== r && l(r);
3773    },
3774    setTransition: function setTransition(e, t) {
3775      var a,
3776          i = this,
3777          s = i.constructor,
3778          r = i.controller.control;
3779
3780      function n(t) {
3781        t.setTransition(e, i), 0 !== e && (t.transitionStart(), t.params.autoHeight && E(function () {
3782          t.updateAutoHeight();
3783        }), t.$wrapperEl.transitionEnd(function () {
3784          r && (t.params.loop && "slide" === i.params.controller.by && t.loopFix(), t.transitionEnd());
3785        }));
3786      }
3787
3788      if (Array.isArray(r)) for (a = 0; a < r.length; a += 1) {
3789        r[a] !== t && r[a] instanceof s && n(r[a]);
3790      } else r instanceof s && t !== r && n(r);
3791    }
3792  },
3793      ne = {
3794    getRandomNumber: function getRandomNumber(e) {
3795      void 0 === e && (e = 16);
3796      return "x".repeat(e).replace(/x/g, function () {
3797        return Math.round(16 * Math.random()).toString(16);
3798      });
3799    },
3800    makeElFocusable: function makeElFocusable(e) {
3801      return e.attr("tabIndex", "0"), e;
3802    },
3803    makeElNotFocusable: function makeElNotFocusable(e) {
3804      return e.attr("tabIndex", "-1"), e;
3805    },
3806    addElRole: function addElRole(e, t) {
3807      return e.attr("role", t), e;
3808    },
3809    addElRoleDescription: function addElRoleDescription(e, t) {
3810      return e.attr("aria-roledescription", t), e;
3811    },
3812    addElControls: function addElControls(e, t) {
3813      return e.attr("aria-controls", t), e;
3814    },
3815    addElLabel: function addElLabel(e, t) {
3816      return e.attr("aria-label", t), e;
3817    },
3818    addElId: function addElId(e, t) {
3819      return e.attr("id", t), e;
3820    },
3821    addElLive: function addElLive(e, t) {
3822      return e.attr("aria-live", t), e;
3823    },
3824    disableEl: function disableEl(e) {
3825      return e.attr("aria-disabled", !0), e;
3826    },
3827    enableEl: function enableEl(e) {
3828      return e.attr("aria-disabled", !1), e;
3829    },
3830    onEnterOrSpaceKey: function onEnterOrSpaceKey(e) {
3831      if (13 === e.keyCode || 32 === e.keyCode) {
3832        var t = this,
3833            a = t.params.a11y,
3834            i = m(e.target);
3835        t.navigation && t.navigation.$nextEl && i.is(t.navigation.$nextEl) && (t.isEnd && !t.params.loop || t.slideNext(), t.isEnd ? t.a11y.notify(a.lastSlideMessage) : t.a11y.notify(a.nextSlideMessage)), t.navigation && t.navigation.$prevEl && i.is(t.navigation.$prevEl) && (t.isBeginning && !t.params.loop || t.slidePrev(), t.isBeginning ? t.a11y.notify(a.firstSlideMessage) : t.a11y.notify(a.prevSlideMessage)), t.pagination && i.is(P(t.params.pagination.bulletClass)) && i[0].click();
3836      }
3837    },
3838    notify: function notify(e) {
3839      var t = this.a11y.liveRegion;
3840      0 !== t.length && (t.html(""), t.html(e));
3841    },
3842    updateNavigation: function updateNavigation() {
3843      var e = this;
3844
3845      if (!e.params.loop && e.navigation) {
3846        var t = e.navigation,
3847            a = t.$nextEl,
3848            i = t.$prevEl;
3849        i && i.length > 0 && (e.isBeginning ? (e.a11y.disableEl(i), e.a11y.makeElNotFocusable(i)) : (e.a11y.enableEl(i), e.a11y.makeElFocusable(i))), a && a.length > 0 && (e.isEnd ? (e.a11y.disableEl(a), e.a11y.makeElNotFocusable(a)) : (e.a11y.enableEl(a), e.a11y.makeElFocusable(a)));
3850      }
3851    },
3852    updatePagination: function updatePagination() {
3853      var e = this,
3854          t = e.params.a11y;
3855      e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.bullets.each(function (a) {
3856        var i = m(a);
3857        e.a11y.makeElFocusable(i), e.params.pagination.renderBullet || (e.a11y.addElRole(i, "button"), e.a11y.addElLabel(i, t.paginationBulletMessage.replace(/\{\{index\}\}/, i.index() + 1)));
3858      });
3859    },
vendor: 21,668 bytes, lines 3860-4281
3860    init: function init() {
3861      var e = this,
3862          t = e.params.a11y;
3863      e.$el.append(e.a11y.liveRegion);
3864      var a = e.$el;
3865      t.containerRoleDescriptionMessage && e.a11y.addElRoleDescription(a, t.containerRoleDescriptionMessage), t.containerMessage && e.a11y.addElLabel(a, t.containerMessage);
3866      var i = e.$wrapperEl,
3867          s = i.attr("id") || "swiper-wrapper-" + e.a11y.getRandomNumber(16),
3868          r = e.params.autoplay && e.params.autoplay.enabled ? "off" : "polite";
3869      e.a11y.addElId(i, s), e.a11y.addElLive(i, r), t.itemRoleDescriptionMessage && e.a11y.addElRoleDescription(m(e.slides), t.itemRoleDescriptionMessage), e.a11y.addElRole(m(e.slides), t.slideRole);
3870      var n,
3871          l,
3872          o = e.params.loop ? e.slides.filter(function (t) {
3873        return !t.classList.contains(e.params.slideDuplicateClass);
3874      }).length : e.slides.length;
3875      e.slides.each(function (a, i) {
3876        var s = m(a),
3877            r = e.params.loop ? parseInt(s.attr("data-swiper-slide-index"), 10) : i,
3878            n = t.slideLabelMessage.replace(/\{\{index\}\}/, r + 1).replace(/\{\{slidesLength\}\}/, o);
3879        e.a11y.addElLabel(s, n);
3880      }), e.navigation && e.navigation.$nextEl && (n = e.navigation.$nextEl), e.navigation && e.navigation.$prevEl && (l = e.navigation.$prevEl), n && n.length && (e.a11y.makeElFocusable(n), "BUTTON" !== n[0].tagName && (e.a11y.addElRole(n, "button"), n.on("keydown", e.a11y.onEnterOrSpaceKey)), e.a11y.addElLabel(n, t.nextSlideMessage), e.a11y.addElControls(n, s)), l && l.length && (e.a11y.makeElFocusable(l), "BUTTON" !== l[0].tagName && (e.a11y.addElRole(l, "button"), l.on("keydown", e.a11y.onEnterOrSpaceKey)), e.a11y.addElLabel(l, t.prevSlideMessage), e.a11y.addElControls(l, s)), e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.$el.on("keydown", P(e.params.pagination.bulletClass), e.a11y.onEnterOrSpaceKey);
3881    },
3882    destroy: function destroy() {
3883      var e,
3884          t,
3885          a = this;
3886      a.a11y.liveRegion && a.a11y.liveRegion.length > 0 && a.a11y.liveRegion.remove(), a.navigation && a.navigation.$nextEl && (e = a.navigation.$nextEl), a.navigation && a.navigation.$prevEl && (t = a.navigation.$prevEl), e && e.off("keydown", a.a11y.onEnterOrSpaceKey), t && t.off("keydown", a.a11y.onEnterOrSpaceKey), a.pagination && a.params.pagination.clickable && a.pagination.bullets && a.pagination.bullets.length && a.pagination.$el.off("keydown", P(a.params.pagination.bulletClass), a.a11y.onEnterOrSpaceKey);
3887    }
3888  },
3889      le = {
3890    init: function init() {
3891      var e = this,
3892          t = l();
3893
3894      if (e.params.history) {
3895        if (!t.history || !t.history.pushState) return e.params.history.enabled = !1, void (e.params.hashNavigation.enabled = !0);
3896        var a = e.history;
3897        a.initialized = !0, a.paths = le.getPathValues(e.params.url), (a.paths.key || a.paths.value) && (a.scrollToSlide(0, a.paths.value, e.params.runCallbacksOnInit), e.params.history.replaceState || t.addEventListener("popstate", e.history.setHistoryPopState));
3898      }
3899    },
3900    destroy: function destroy() {
3901      var e = l();
3902      this.params.history.replaceState || e.removeEventListener("popstate", this.history.setHistoryPopState);
3903    },
3904    setHistoryPopState: function setHistoryPopState() {
3905      var e = this;
3906      e.history.paths = le.getPathValues(e.params.url), e.history.scrollToSlide(e.params.speed, e.history.paths.value, !1);
3907    },
3908    getPathValues: function getPathValues(e) {
3909      var t = l(),
3910          a = (e ? new URL(e) : t.location).pathname.slice(1).split("/").filter(function (e) {
3911        return "" !== e;
3912      }),
3913          i = a.length;
3914      return {
3915        key: a[i - 2],
3916        value: a[i - 1]
3917      };
3918    },
3919    setHistory: function setHistory(e, t) {
3920      var a = this,
3921          i = l();
3922
3923      if (a.history.initialized && a.params.history.enabled) {
3924        var s;
3925        s = a.params.url ? new URL(a.params.url) : i.location;
3926        var r = a.slides.eq(t),
3927            n = le.slugify(r.attr("data-history"));
3928
3929        if (a.params.history.root.length > 0) {
3930          var o = a.params.history.root;
3931          "/" === o[o.length - 1] && (o = o.slice(0, o.length - 1)), n = o + "/" + e + "/" + n;
3932        } else s.pathname.includes(e) || (n = e + "/" + n);
3933
3934        var d = i.history.state;
3935        d && d.value === n || (a.params.history.replaceState ? i.history.replaceState({
3936          value: n
3937        }, null, n) : i.history.pushState({
3938          value: n
3939        }, null, n));
3940      }
3941    },
3942    slugify: function slugify(e) {
3943      return e.toString().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "");
3944    },
3945    scrollToSlide: function scrollToSlide(e, t, a) {
3946      var i = this;
3947      if (t) for (var s = 0, r = i.slides.length; s < r; s += 1) {
3948        var n = i.slides.eq(s);
3949
3950        if (le.slugify(n.attr("data-history")) === t && !n.hasClass(i.params.slideDuplicateClass)) {
3951          var l = n.index();
3952          i.slideTo(l, e, a);
3953        }
3954      } else i.slideTo(0, e, a);
3955    }
3956  },
3957      oe = {
3958    onHashChange: function onHashChange() {
3959      var e = this,
3960          t = r();
3961      e.emit("hashChange");
3962      var a = t.location.hash.replace("#", "");
3963
3964      if (a !== e.slides.eq(e.activeIndex).attr("data-hash")) {
3965        var i = e.$wrapperEl.children("." + e.params.slideClass + '[data-hash="' + a + '"]').index();
3966        if (void 0 === i) return;
3967        e.slideTo(i);
3968      }
3969    },
3970    setHash: function setHash() {
3971      var e = this,
3972          t = l(),
3973          a = r();
3974      if (e.hashNavigation.initialized && e.params.hashNavigation.enabled) if (e.params.hashNavigation.replaceState && t.history && t.history.replaceState) t.history.replaceState(null, null, "#" + e.slides.eq(e.activeIndex).attr("data-hash") || ""), e.emit("hashSet");else {
3975        var i = e.slides.eq(e.activeIndex),
3976            s = i.attr("data-hash") || i.attr("data-history");
3977        a.location.hash = s || "", e.emit("hashSet");
3978      }
3979    },
3980    init: function init() {
3981      var e = this,
3982          t = r(),
3983          a = l();
3984
3985      if (!(!e.params.hashNavigation.enabled || e.params.history && e.params.history.enabled)) {
3986        e.hashNavigation.initialized = !0;
3987        var i = t.location.hash.replace("#", "");
3988        if (i) for (var s = 0, n = e.slides.length; s < n; s += 1) {
3989          var o = e.slides.eq(s);
3990
3991          if ((o.attr("data-hash") || o.attr("data-history")) === i && !o.hasClass(e.params.slideDuplicateClass)) {
3992            var d = o.index();
3993            e.slideTo(d, 0, e.params.runCallbacksOnInit, !0);
3994          }
3995        }
3996        e.params.hashNavigation.watchState && m(a).on("hashchange", e.hashNavigation.onHashChange);
3997      }
3998    },
3999    destroy: function destroy() {
4000      var e = l();
4001      this.params.hashNavigation.watchState && m(e).off("hashchange", this.hashNavigation.onHashChange);
4002    }
4003  },
4004      de = {
4005    run: function run() {
4006      var e = this,
4007          t = e.slides.eq(e.activeIndex),
4008          a = e.params.autoplay.delay;
4009      t.attr("data-swiper-autoplay") && (a = t.attr("data-swiper-autoplay") || e.params.autoplay.delay), clearTimeout(e.autoplay.timeout), e.autoplay.timeout = E(function () {
4010        var t;
4011        e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), t = e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.isBeginning ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (t = e.slideTo(e.slides.length - 1, e.params.speed, !0, !0), e.emit("autoplay")) : (t = e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.params.loop ? (e.loopFix(), t = e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")) : e.isEnd ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (t = e.slideTo(0, e.params.speed, !0, !0), e.emit("autoplay")) : (t = e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")), (e.params.cssMode && e.autoplay.running || !1 === t) && e.autoplay.run();
4012      }, a);
4013    },
4014    start: function start() {
4015      var e = this;
4016      return void 0 === e.autoplay.timeout && !e.autoplay.running && (e.autoplay.running = !0, e.emit("autoplayStart"), e.autoplay.run(), !0);
4017    },
4018    stop: function stop() {
4019      var e = this;
4020      return !!e.autoplay.running && void 0 !== e.autoplay.timeout && (e.autoplay.timeout && (clearTimeout(e.autoplay.timeout), e.autoplay.timeout = void 0), e.autoplay.running = !1, e.emit("autoplayStop"), !0);
4021    },
4022    pause: function pause(e) {
4023      var t = this;
4024      t.autoplay.running && (t.autoplay.paused || (t.autoplay.timeout && clearTimeout(t.autoplay.timeout), t.autoplay.paused = !0, 0 !== e && t.params.autoplay.waitForTransition ? ["transitionend", "webkitTransitionEnd"].forEach(function (e) {
4025        t.$wrapperEl[0].addEventListener(e, t.autoplay.onTransitionEnd);
4026      }) : (t.autoplay.paused = !1, t.autoplay.run())));
4027    },
4028    onVisibilityChange: function onVisibilityChange() {
4029      var e = this,
4030          t = r();
4031      "hidden" === t.visibilityState && e.autoplay.running && e.autoplay.pause(), "visible" === t.visibilityState && e.autoplay.paused && (e.autoplay.run(), e.autoplay.paused = !1);
4032    },
4033    onTransitionEnd: function onTransitionEnd(e) {
4034      var t = this;
4035      t && !t.destroyed && t.$wrapperEl && e.target === t.$wrapperEl[0] && (["transitionend", "webkitTransitionEnd"].forEach(function (e) {
4036        t.$wrapperEl[0].removeEventListener(e, t.autoplay.onTransitionEnd);
4037      }), t.autoplay.paused = !1, t.autoplay.running ? t.autoplay.run() : t.autoplay.stop());
4038    },
4039    onMouseEnter: function onMouseEnter() {
4040      var e = this;
4041      e.params.autoplay.disableOnInteraction ? e.autoplay.stop() : e.autoplay.pause(), ["transitionend", "webkitTransitionEnd"].forEach(function (t) {
4042        e.$wrapperEl[0].removeEventListener(t, e.autoplay.onTransitionEnd);
4043      });
4044    },
4045    onMouseLeave: function onMouseLeave() {
4046      var e = this;
4047      e.params.autoplay.disableOnInteraction || (e.autoplay.paused = !1, e.autoplay.run());
4048    },
4049    attachMouseEvents: function attachMouseEvents() {
4050      var e = this;
4051      e.params.autoplay.pauseOnMouseEnter && (e.$el.on("mouseenter", e.autoplay.onMouseEnter), e.$el.on("mouseleave", e.autoplay.onMouseLeave));
4052    },
4053    detachMouseEvents: function detachMouseEvents() {
4054      var e = this;
4055      e.$el.off("mouseenter", e.autoplay.onMouseEnter), e.$el.off("mouseleave", e.autoplay.onMouseLeave);
4056    }
4057  },
4058      pe = {
4059    setTranslate: function setTranslate() {
4060      for (var e = this, t = e.slides, a = 0; a < t.length; a += 1) {
4061        var i = e.slides.eq(a),
4062            s = -i[0].swiperSlideOffset;
4063        e.params.virtualTranslate || (s -= e.translate);
4064        var r = 0;
4065        e.isHorizontal() || (r = s, s = 0);
4066        var n = e.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(i[0].progress), 0) : 1 + Math.min(Math.max(i[0].progress, -1), 0);
4067        i.css({
4068          opacity: n
4069        }).transform("translate3d(" + s + "px, " + r + "px, 0px)");
4070      }
4071    },
4072    setTransition: function setTransition(e) {
4073      var t = this,
4074          a = t.slides,
4075          i = t.$wrapperEl;
4076
4077      if (a.transition(e), t.params.virtualTranslate && 0 !== e) {
4078        var s = !1;
4079        a.transitionEnd(function () {
4080          if (!s && t && !t.destroyed) {
4081            s = !0, t.animating = !1;
4082
4083            for (var e = ["webkitTransitionEnd", "transitionend"], a = 0; a < e.length; a += 1) {
4084              i.trigger(e[a]);
4085            }
4086          }
4087        });
4088      }
4089    }
4090  },
4091      ue = {
4092    setTranslate: function setTranslate() {
4093      var e,
4094          t = this,
4095          a = t.$el,
4096          i = t.$wrapperEl,
4097          s = t.slides,
4098          r = t.width,
4099          n = t.height,
4100          l = t.rtlTranslate,
4101          o = t.size,
4102          d = t.browser,
4103          p = t.params.cubeEffect,
4104          u = t.isHorizontal(),
4105          c = t.virtual && t.params.virtual.enabled,
4106          h = 0;
4107      p.shadow && (u ? (0 === (e = i.find(".swiper-cube-shadow")).length && (e = m('<div class="swiper-cube-shadow"></div>'), i.append(e)), e.css({
4108        height: r + "px"
4109      })) : 0 === (e = a.find(".swiper-cube-shadow")).length && (e = m('<div class="swiper-cube-shadow"></div>'), a.append(e)));
4110
4111      for (var v = 0; v < s.length; v += 1) {
4112        var f = s.eq(v),
4113            g = v;
4114        c && (g = parseInt(f.attr("data-swiper-slide-index"), 10));
4115        var b = 90 * g,
4116            w = Math.floor(b / 360);
4117        l && (b = -b, w = Math.floor(-b / 360));
4118        var y = Math.max(Math.min(f[0].progress, 1), -1),
4119            E = 0,
4120            x = 0,
4121            T = 0;
4122        g % 4 == 0 ? (E = 4 * -w * o, T = 0) : (g - 1) % 4 == 0 ? (E = 0, T = 4 * -w * o) : (g - 2) % 4 == 0 ? (E = o + 4 * w * o, T = o) : (g - 3) % 4 == 0 && (E = -o, T = 3 * o + 4 * o * w), l && (E = -E), u || (x = E, E = 0);
4123        var C = "rotateX(" + (u ? 0 : -b) + "deg) rotateY(" + (u ? b : 0) + "deg) translate3d(" + E + "px, " + x + "px, " + T + "px)";
4124
4125        if (y <= 1 && y > -1 && (h = 90 * g + 90 * y, l && (h = 90 * -g - 90 * y)), f.transform(C), p.slideShadows) {
4126          var S = u ? f.find(".swiper-slide-shadow-left") : f.find(".swiper-slide-shadow-top"),
4127              M = u ? f.find(".swiper-slide-shadow-right") : f.find(".swiper-slide-shadow-bottom");
4128          0 === S.length && (S = m('<div class="swiper-slide-shadow-' + (u ? "left" : "top") + '"></div>'), f.append(S)), 0 === M.length && (M = m('<div class="swiper-slide-shadow-' + (u ? "right" : "bottom") + '"></div>'), f.append(M)), S.length && (S[0].style.opacity = Math.max(-y, 0)), M.length && (M[0].style.opacity = Math.max(y, 0));
4129        }
4130      }
4131
4132      if (i.css({
4133        "-webkit-transform-origin": "50% 50% -" + o / 2 + "px",
4134        "-moz-transform-origin": "50% 50% -" + o / 2 + "px",
4135        "-ms-transform-origin": "50% 50% -" + o / 2 + "px",
4136        "transform-origin": "50% 50% -" + o / 2 + "px"
4137      }), p.shadow) if (u) e.transform("translate3d(0px, " + (r / 2 + p.shadowOffset) + "px, " + -r / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + p.shadowScale + ")");else {
4138        var z = Math.abs(h) - 90 * Math.floor(Math.abs(h) / 90),
4139            P = 1.5 - (Math.sin(2 * z * Math.PI / 360) / 2 + Math.cos(2 * z * Math.PI / 360) / 2),
4140            k = p.shadowScale,
4141            $ = p.shadowScale / P,
4142            L = p.shadowOffset;
4143        e.transform("scale3d(" + k + ", 1, " + $ + ") translate3d(0px, " + (n / 2 + L) + "px, " + -n / 2 / $ + "px) rotateX(-90deg)");
4144      }
4145      var I = d.isSafari || d.isWebView ? -o / 2 : 0;
4146      i.transform("translate3d(0px,0," + I + "px) rotateX(" + (t.isHorizontal() ? 0 : h) + "deg) rotateY(" + (t.isHorizontal() ? -h : 0) + "deg)");
4147    },
4148    setTransition: function setTransition(e) {
4149      var t = this,
4150          a = t.$el;
4151      t.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), t.params.cubeEffect.shadow && !t.isHorizontal() && a.find(".swiper-cube-shadow").transition(e);
4152    }
4153  },
4154      ce = {
4155    setTranslate: function setTranslate() {
4156      for (var e = this, t = e.slides, a = e.rtlTranslate, i = 0; i < t.length; i += 1) {
4157        var s = t.eq(i),
4158            r = s[0].progress;
4159        e.params.flipEffect.limitRotation && (r = Math.max(Math.min(s[0].progress, 1), -1));
4160        var n = -180 * r,
4161            l = 0,
4162            o = -s[0].swiperSlideOffset,
4163            d = 0;
4164
4165        if (e.isHorizontal() ? a && (n = -n) : (d = o, o = 0, l = -n, n = 0), s[0].style.zIndex = -Math.abs(Math.round(r)) + t.length, e.params.flipEffect.slideShadows) {
4166          var p = e.isHorizontal() ? s.find(".swiper-slide-shadow-left") : s.find(".swiper-slide-shadow-top"),
4167              u = e.isHorizontal() ? s.find(".swiper-slide-shadow-right") : s.find(".swiper-slide-shadow-bottom");
4168          0 === p.length && (p = m('<div class="swiper-slide-shadow-' + (e.isHorizontal() ? "left" : "top") + '"></div>'), s.append(p)), 0 === u.length && (u = m('<div class="swiper-slide-shadow-' + (e.isHorizontal() ? "right" : "bottom") + '"></div>'), s.append(u)), p.length && (p[0].style.opacity = Math.max(-r, 0)), u.length && (u[0].style.opacity = Math.max(r, 0));
4169        }
4170
4171        s.transform("translate3d(" + o + "px, " + d + "px, 0px) rotateX(" + l + "deg) rotateY(" + n + "deg)");
4172      }
4173    },
4174    setTransition: function setTransition(e) {
4175      var t = this,
4176          a = t.slides,
4177          i = t.activeIndex,
4178          s = t.$wrapperEl;
4179
4180      if (a.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), t.params.virtualTranslate && 0 !== e) {
4181        var r = !1;
4182        a.eq(i).transitionEnd(function () {
4183          if (!r && t && !t.destroyed) {
4184            r = !0, t.animating = !1;
4185
4186            for (var e = ["webkitTransitionEnd", "transitionend"], a = 0; a < e.length; a += 1) {
4187              s.trigger(e[a]);
4188            }
4189          }
4190        });
4191      }
4192    }
4193  },
4194      he = {
4195    setTranslate: function setTranslate() {
4196      for (var e = this, t = e.width, a = e.height, i = e.slides, s = e.slidesSizesGrid, r = e.params.coverflowEffect, n = e.isHorizontal(), l = e.translate, o = n ? t / 2 - l : a / 2 - l, d = n ? r.rotate : -r.rotate, p = r.depth, u = 0, c = i.length; u < c; u += 1) {
4197        var h = i.eq(u),
4198            v = s[u],
4199            f = (o - h[0].swiperSlideOffset - v / 2) / v * r.modifier,
4200            g = n ? d * f : 0,
4201            b = n ? 0 : d * f,
4202            w = -p * Math.abs(f),
4203            y = r.stretch;
4204        "string" == typeof y && -1 !== y.indexOf("%") && (y = parseFloat(r.stretch) / 100 * v);
4205        var E = n ? 0 : y * f,
4206            x = n ? y * f : 0,
4207            T = 1 - (1 - r.scale) * Math.abs(f);
4208        Math.abs(x) < .001 && (x = 0), Math.abs(E) < .001 && (E = 0), Math.abs(w) < .001 && (w = 0), Math.abs(g) < .001 && (g = 0), Math.abs(b) < .001 && (b = 0), Math.abs(T) < .001 && (T = 0);
4209        var C = "translate3d(" + x + "px," + E + "px," + w + "px)  rotateX(" + b + "deg) rotateY(" + g + "deg) scale(" + T + ")";
4210
4211        if (h.transform(C), h[0].style.zIndex = 1 - Math.abs(Math.round(f)), r.slideShadows) {
4212          var S = n ? h.find(".swiper-slide-shadow-left") : h.find(".swiper-slide-shadow-top"),
4213              M = n ? h.find(".swiper-slide-shadow-right") : h.find(".swiper-slide-shadow-bottom");
4214          0 === S.length && (S = m('<div class="swiper-slide-shadow-' + (n ? "left" : "top") + '"></div>'), h.append(S)), 0 === M.length && (M = m('<div class="swiper-slide-shadow-' + (n ? "right" : "bottom") + '"></div>'), h.append(M)), S.length && (S[0].style.opacity = f > 0 ? f : 0), M.length && (M[0].style.opacity = -f > 0 ? -f : 0);
4215        }
4216      }
4217    },
4218    setTransition: function setTransition(e) {
4219      this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e);
4220    }
4221  },
4222      ve = {
4223    init: function init() {
4224      var e = this,
4225          t = e.params.thumbs;
4226      if (e.thumbs.initialized) return !1;
4227      e.thumbs.initialized = !0;
4228      var a = e.constructor;
4229      return t.swiper instanceof a ? (e.thumbs.swiper = t.swiper, M(e.thumbs.swiper.originalParams, {
4230        watchSlidesProgress: !0,
4231        slideToClickedSlide: !1
4232      }), M(e.thumbs.swiper.params, {
4233        watchSlidesProgress: !0,
4234        slideToClickedSlide: !1
4235      })) : C(t.swiper) && (e.thumbs.swiper = new a(M({}, t.swiper, {
4236        watchSlidesVisibility: !0,
4237        watchSlidesProgress: !0,
4238        slideToClickedSlide: !1
4239      })), e.thumbs.swiperCreated = !0), e.thumbs.swiper.$el.addClass(e.params.thumbs.thumbsContainerClass), e.thumbs.swiper.on("tap", e.thumbs.onThumbClick), !0;
4240    },
4241    onThumbClick: function onThumbClick() {
4242      var e = this,
4243          t = e.thumbs.swiper;
4244
4245      if (t) {
4246        var a = t.clickedIndex,
4247            i = t.clickedSlide;
4248
4249        if (!(i && m(i).hasClass(e.params.thumbs.slideThumbActiveClass) || null == a)) {
4250          var s;
4251
4252          if (s = t.params.loop ? parseInt(m(t.clickedSlide).attr("data-swiper-slide-index"), 10) : a, e.params.loop) {
4253            var r = e.activeIndex;
4254            e.slides.eq(r).hasClass(e.params.slideDuplicateClass) && (e.loopFix(), e._clientLeft = e.$wrapperEl[0].clientLeft, r = e.activeIndex);
4255            var n = e.slides.eq(r).prevAll('[data-swiper-slide-index="' + s + '"]').eq(0).index(),
4256                l = e.slides.eq(r).nextAll('[data-swiper-slide-index="' + s + '"]').eq(0).index();
4257            s = void 0 === n ? l : void 0 === l ? n : l - r < r - n ? l : n;
4258          }
4259
4260          e.slideTo(s);
4261        }
4262      }
4263    },
4264    update: function update(e) {
4265      var t = this,
4266          a = t.thumbs.swiper;
4267
4268      if (a) {
4269        var i = "auto" === a.params.slidesPerView ? a.slidesPerViewDynamic() : a.params.slidesPerView,
4270            s = t.params.thumbs.autoScrollOffset,
4271            r = s && !a.params.loop;
4272
4273        if (t.realIndex !== a.realIndex || r) {
4274          var n,
4275              l,
4276              o = a.activeIndex;
4277
4278          if (a.params.loop) {
4279            a.slides.eq(o).hasClass(a.params.slideDuplicateClass) && (a.loopFix(), a._clientLeft = a.$wrapperEl[0].clientLeft, o = a.activeIndex);
4280            var d = a.slides.eq(o).prevAll('[data-swiper-slide-index="' + t.realIndex + '"]').eq(0).index(),
4281                p = a.slides.eq(o).nextAll('[data-swiper-slide-index="' + t.realIndex + '"]').eq(0).index();
4282            n = void 0 === d ? p : void 0 === p ? d : p - o == o - d ? a.params.slidesPerGroup > 1 ? p : o : p - o < o - d ? p : d, l = t.activeIndex > t.previousIndex ? "next" : "prev";
4283          } else l = (n = t.realIndex) > t.previousIndex ? "next" : "prev";
4284
4285          r && (n += "next" === l ? s : -1 * s), a.visibleSlidesIndexes && a.visibleSlidesIndexes.indexOf(n) < 0 && (a.params.centeredSlides ? n = n > o ? n - Math.floor(i / 2) + 1 : n + Math.floor(i / 2) - 1 : n > o && a.params.slidesPerGroup, a.slideTo(n, e ? 0 : void 0));
4286        }
4287
4288        var u = 1,
4289            c = t.params.thumbs.slideThumbActiveClass;
4290        if (t.params.slidesPerView > 1 && !t.params.centeredSlides && (u = t.params.slidesPerView), t.params.thumbs.multipleActiveThumbs || (u = 1), u = Math.floor(u), a.slides.removeClass(c), a.params.loop || a.params.virtual && a.params.virtual.enabled) for (var h = 0; h < u; h += 1) {
4291          a.$wrapperEl.children('[data-swiper-slide-index="' + (t.realIndex + h) + '"]').addClass(c);
4292        } else for (var v = 0; v < u; v += 1) {
4293          a.slides.eq(t.realIndex + v).addClass(c);
4294        }
4295      }
4296    }
4297  },
4298      fe = [U, Z, {
4299    name: "mousewheel",
4300    params: {
4301      mousewheel: {
4302        enabled: !1,
4303        releaseOnEdges: !1,
4304        invert: !1,
4305        forceToAxis: !1,
4306        sensitivity: 1,
4307        eventsTarget: "container",
4308        thresholdDelta: null,
4309        thresholdTime: null
4310      }
4311    },
4312    create: function create() {
4313      z(this, {
4314        mousewheel: {
4315          enabled: !1,
4316          lastScrollTime: x(),
4317          lastEventBeforeSnap: void 0,
4318          recentWheelEvents: [],
4319          enable: J.enable,
4320          disable: J.disable,
4321          handle: J.handle,
4322          handleMouseEnter: J.handleMouseEnter,
4323          handleMouseLeave: J.handleMouseLeave,
4324          animateSlider: J.animateSlider,
4325          releaseScroll: J.releaseScroll
4326        }
4327      });
4328    },
4329    on: {
4330      init: function init(e) {
4331        !e.params.mousewheel.enabled && e.params.cssMode && e.mousewheel.disable(), e.params.mousewheel.enabled && e.mousewheel.enable();
4332      },
4333      destroy: function destroy(e) {
4334        e.params.cssMode && e.mousewheel.enable(), e.mousewheel.enabled && e.mousewheel.disable();
4335      }
4336    }
4337  }, {
4338    name: "navigation",
4339    params: {
4340      navigation: {
4341        nextEl: null,
4342        prevEl: null,
4343        hideOnClick: !1,
4344        disabledClass: "swiper-button-disabled",
4345        hiddenClass: "swiper-button-hidden",
4346        lockClass: "swiper-button-lock"
4347      }
4348    },
4349    create: function create() {
4350      z(this, {
4351        navigation: t({}, Q)
4352      });
4353    },
4354    on: {
4355      init: function init(e) {
4356        e.navigation.init(), e.navigation.update();
4357      },
4358      toEdge: function toEdge(e) {
4359        e.navigation.update();
4360      },
4361      fromEdge: function fromEdge(e) {
4362        e.navigation.update();
4363      },
4364      destroy: function destroy(e) {
4365        e.navigation.destroy();
4366      },
4367      "enable disable": function enableDisable(e) {
4368        var t = e.navigation,
4369            a = t.$nextEl,
4370            i = t.$prevEl;
4371        a && a[e.enabled ? "removeClass" : "addClass"](e.params.navigation.lockClass), i && i[e.enabled ? "removeClass" : "addClass"](e.params.navigation.lockClass);
4372      },
4373      click: function click(e, t) {
4374        var a = e.navigation,
4375            i = a.$nextEl,
4376            s = a.$prevEl,
4377            r = t.target;
4378
4379        if (e.params.navigation.hideOnClick && !m(r).is(s) && !m(r).is(i)) {
4380          if (e.pagination && e.params.pagination && e.params.pagination.clickable && (e.pagination.el === r || e.pagination.el.contains(r))) return;
4381          var n;
4382          i ? n = i.hasClass(e.params.navigation.hiddenClass) : s && (n = s.hasClass(e.params.navigation.hiddenClass)), !0 === n ? e.emit("navigationShow") : e.emit("navigationHide"), i && i.toggleClass(e.params.navigation.hiddenClass), s && s.toggleClass(e.params.navigation.hiddenClass);
4383        }
4384      }
4385    }
4386  }, {
4387    name: "pagination",
4388    params: {
4389      pagination: {
4390        el: null,
4391        bulletElement: "span",
4392        clickable: !1,
4393        hideOnClick: !1,
4394        renderBullet: null,
4395        renderProgressbar: null,
4396        renderFraction: null,
4397        renderCustom: null,
4398        progressbarOpposite: !1,
4399        type: "bullets",
4400        dynamicBullets: !1,
4401        dynamicMainBullets: 1,
4402        formatFractionCurrent: function formatFractionCurrent(e) {
4403          return e;
4404        },
4405        formatFractionTotal: function formatFractionTotal(e) {
4406          return e;
4407        },
4408        bulletClass: "swiper-pagination-bullet",
4409        bulletActiveClass: "swiper-pagination-bullet-active",
4410        modifierClass: "swiper-pagination-",
4411        currentClass: "swiper-pagination-current",
4412        totalClass: "swiper-pagination-total",
4413        hiddenClass: "swiper-pagination-hidden",
4414        progressbarFillClass: "swiper-pagination-progressbar-fill",
4415        progressbarOppositeClass: "swiper-pagination-progressbar-opposite",
4416        clickableClass: "swiper-pagination-clickable",
4417        lockClass: "swiper-pagination-lock"
4418      }
4419    },
4420    create: function create() {
4421      z(this, {
4422        pagination: t({
4423          dynamicBulletIndex: 0
4424        }, ee)
4425      });
4426    },
4427    on: {
4428      init: function init(e) {
4429        e.pagination.init(), e.pagination.render(), e.pagination.update();
4430      },
4431      activeIndexChange: function activeIndexChange(e) {
4432        (e.params.loop || void 0 === e.snapIndex) && e.pagination.update();
4433      },
4434      snapIndexChange: function snapIndexChange(e) {
4435        e.params.loop || e.pagination.update();
4436      },
4437      slidesLengthChange: function slidesLengthChange(e) {
4438        e.params.loop && (e.pagination.render(), e.pagination.update());
4439      },
4440      snapGridLengthChange: function snapGridLengthChange(e) {
4441        e.params.loop || (e.pagination.render(), e.pagination.update());
4442      },
4443      destroy: function destroy(e) {
4444        e.pagination.destroy();
4445      },
4446      "enable disable": function enableDisable(e) {
4447        var t = e.pagination.$el;
4448        t && t[e.enabled ? "removeClass" : "addClass"](e.params.pagination.lockClass);
4449      },
4450      click: function click(e, t) {
4451        var a = t.target;
4452
4453        if (e.params.pagination.el && e.params.pagination.hideOnClick && e.pagination.$el.length > 0 && !m(a).hasClass(e.params.pagination.bulletClass)) {
4454          if (e.navigation && (e.navigation.nextEl && a === e.navigation.nextEl || e.navigation.prevEl && a === e.navigation.prevEl)) return;
4455          !0 === e.pagination.$el.hasClass(e.params.pagination.hiddenClass) ? e.emit("paginationShow") : e.emit("paginationHide"), e.pagination.$el.toggleClass(e.params.pagination.hiddenClass);
4456        }
4457      }
4458    }
4459  }, {
4460    name: "scrollbar",
4461    params: {
4462      scrollbar: {
4463        el: null,
4464        dragSize: "auto",
4465        hide: !1,
4466        draggable: !1,
4467        snapOnRelease: !0,
4468        lockClass: "swiper-scrollbar-lock",
4469        dragClass: "swiper-scrollbar-drag"
4470      }
4471    },
4472    create: function create() {
4473      z(this, {
4474        scrollbar: t({
4475          isTouched: !1,
4476          timeout: null,
4477          dragTimeout: null
4478        }, te)
4479      });
4480    },
4481    on: {
4482      init: function init(e) {
4483        e.scrollbar.init(), e.scrollbar.updateSize(), e.scrollbar.setTranslate();
4484      },
4485      update: function update(e) {
4486        e.scrollbar.updateSize();
4487      },
4488      resize: function resize(e) {
4489        e.scrollbar.updateSize();
4490      },
4491      observerUpdate: function observerUpdate(e) {
4492        e.scrollbar.updateSize();
4493      },
4494      setTranslate: function setTranslate(e) {
4495        e.scrollbar.setTranslate();
4496      },
4497      setTransition: function setTransition(e, t) {
4498        e.scrollbar.setTransition(t);
4499      },
4500      "enable disable": function enableDisable(e) {
4501        var t = e.scrollbar.$el;
4502        t && t[e.enabled ? "removeClass" : "addClass"](e.params.scrollbar.lockClass);
4503      },
4504      destroy: function destroy(e) {
4505        e.scrollbar.destroy();
4506      }
4507    }
4508  }, {
4509    name: "parallax",
4510    params: {
4511      parallax: {
4512        enabled: !1
4513      }
4514    },
4515    create: function create() {
4516      z(this, {
4517        parallax: t({}, ae)
4518      });
4519    },
4520    on: {
4521      beforeInit: function beforeInit(e) {
4522        e.params.parallax.enabled && (e.params.watchSlidesProgress = !0, e.originalParams.watchSlidesProgress = !0);
4523      },
4524      init: function init(e) {
4525        e.params.parallax.enabled && e.parallax.setTranslate();
4526      },
4527      setTranslate: function setTranslate(e) {
4528        e.params.parallax.enabled && e.parallax.setTranslate();
4529      },
4530      setTransition: function setTransition(e, t) {
4531        e.params.parallax.enabled && e.parallax.setTransition(t);
4532      }
4533    }
4534  }, {
4535    name: "zoom",
4536    params: {
4537      zoom: {
4538        enabled: !1,
4539        maxRatio: 3,
4540        minRatio: 1,
4541        toggle: !0,
4542        containerClass: "swiper-zoom-container",
4543        zoomedSlideClass: "swiper-slide-zoomed"
4544      }
4545    },
4546    create: function create() {
4547      var e = this;
4548      z(e, {
4549        zoom: t({
4550          enabled: !1,
4551          scale: 1,
4552          currentScale: 1,
4553          isScaling: !1,
4554          gesture: {
4555            $slideEl: void 0,
4556            slideWidth: void 0,
4557            slideHeight: void 0,
4558            $imageEl: void 0,
4559            $imageWrapEl: void 0,
4560            maxRatio: 3
4561          },
4562          image: {
4563            isTouched: void 0,
4564            isMoved: void 0,
4565            currentX: void 0,
4566            currentY: void 0,
4567            minX: void 0,
4568            minY: void 0,
4569            maxX: void 0,
4570            maxY: void 0,
4571            width: void 0,
4572            height: void 0,
4573            startX: void 0,
4574            startY: void 0,
4575            touchesStart: {},
4576            touchesCurrent: {}
4577          },
4578          velocity: {
4579            x: void 0,
4580            y: void 0,
4581            prevPositionX: void 0,
4582            prevPositionY: void 0,
4583            prevTime: void 0
4584          }
4585        }, ie)
4586      });
4587      var a = 1;
4588      Object.defineProperty(e.zoom, "scale", {
4589        get: function get() {
4590          return a;
4591        },
4592        set: function set(t) {
4593          if (a !== t) {
4594            var i = e.zoom.gesture.$imageEl ? e.zoom.gesture.$imageEl[0] : void 0,
4595                s = e.zoom.gesture.$slideEl ? e.zoom.gesture.$slideEl[0] : void 0;
4596            e.emit("zoomChange", t, i, s);
4597          }
4598
4599          a = t;
4600        }
4601      });
4602    },
4603    on: {
4604      init: function init(e) {
4605        e.params.zoom.enabled && e.zoom.enable();
4606      },
4607      destroy: function destroy(e) {
4608        e.zoom.disable();
4609      },
4610      touchStart: function touchStart(e, t) {
4611        e.zoom.enabled && e.zoom.onTouchStart(t);
4612      },
4613      touchEnd: function touchEnd(e, t) {
4614        e.zoom.enabled && e.zoom.onTouchEnd(t);
4615      },
4616      doubleTap: function doubleTap(e, t) {
4617        !e.animating && e.params.zoom.enabled && e.zoom.enabled && e.params.zoom.toggle && e.zoom.toggle(t);
4618      },
4619      transitionEnd: function transitionEnd(e) {
4620        e.zoom.enabled && e.params.zoom.enabled && e.zoom.onTransitionEnd();
4621      },
4622      slideChange: function slideChange(e) {
4623        e.zoom.enabled && e.params.zoom.enabled && e.params.cssMode && e.zoom.onTransitionEnd();
4624      }
4625    }
4626  }, {
4627    name: "lazy",
4628    params: {
4629      lazy: {
4630        checkInView: !1,
4631        enabled: !1,
4632        loadPrevNext: !1,
4633        loadPrevNextAmount: 1,
4634        loadOnTransitionStart: !1,
4635        scrollingElement: "",
4636        elementClass: "swiper-lazy",
4637        loadingClass: "swiper-lazy-loading",
4638        loadedClass: "swiper-lazy-loaded",
4639        preloaderClass: "swiper-lazy-preloader"
4640      }
4641    },
4642    create: function create() {
4643      z(this, {
4644        lazy: t({
4645          initialImageLoaded: !1
4646        }, se)
4647      });
4648    },
4649    on: {
4650      beforeInit: function beforeInit(e) {
4651        e.params.lazy.enabled && e.params.preloadImages && (e.params.preloadImages = !1);
4652      },
4653      init: function init(e) {
4654        e.params.lazy.enabled && !e.params.loop && 0 === e.params.initialSlide && (e.params.lazy.checkInView ? e.lazy.checkInViewOnLoad() : e.lazy.load());
4655      },
4656      scroll: function scroll(e) {
4657        e.params.freeMode && !e.params.freeModeSticky && e.lazy.load();
4658      },
4659      "scrollbarDragMove resize _freeModeNoMomentumRelease": function scrollbarDragMoveResize_freeModeNoMomentumRelease(e) {
4660        e.params.lazy.enabled && e.lazy.load();
4661      },
4662      transitionStart: function transitionStart(e) {
4663        e.params.lazy.enabled && (e.params.lazy.loadOnTransitionStart || !e.params.lazy.loadOnTransitionStart && !e.lazy.initialImageLoaded) && e.lazy.load();
4664      },
4665      transitionEnd: function transitionEnd(e) {
4666        e.params.lazy.enabled && !e.params.lazy.loadOnTransitionStart && e.lazy.load();
4667      },
4668      slideChange: function slideChange(e) {
4669        var t = e.params,
4670            a = t.lazy,
4671            i = t.cssMode,
4672            s = t.watchSlidesVisibility,
4673            r = t.watchSlidesProgress,
4674            n = t.touchReleaseOnEdges,
4675            l = t.resistanceRatio;
4676        a.enabled && (i || (s || r) && (n || 0 === l)) && e.lazy.load();
4677      }
4678    }
4679  }, {
4680    name: "controller",
4681    params: {
4682      controller: {
4683        control: void 0,
4684        inverse: !1,
4685        by: "slide"
4686      }
4687    },
4688    create: function create() {
4689      z(this, {
4690        controller: t({
4691          control: this.params.controller.control
4692        }, re)
4693      });
4694    },
4695    on: {
4696      update: function update(e) {
4697        e.controller.control && e.controller.spline && (e.controller.spline = void 0, delete e.controller.spline);
4698      },
4699      resize: function resize(e) {
4700        e.controller.control && e.controller.spline && (e.controller.spline = void 0, delete e.controller.spline);
4701      },
4702      observerUpdate: function observerUpdate(e) {
4703        e.controller.control && e.controller.spline && (e.controller.spline = void 0, delete e.controller.spline);
4704      },
4705      setTranslate: function setTranslate(e, t, a) {
4706        e.controller.control && e.controller.setTranslate(t, a);
4707      },
4708      setTransition: function setTransition(e, t, a) {
4709        e.controller.control && e.controller.setTransition(t, a);
4710      }
4711    }
4712  }, {
4713    name: "a11y",
4714    params: {
4715      a11y: {
4716        enabled: !0,
4717        notificationClass: "swiper-notification",
4718        prevSlideMessage: "Previous slide",
4719        nextSlideMessage: "Next slide",
4720        firstSlideMessage: "This is the first slide",
4721        lastSlideMessage: "This is the last slide",
4722        paginationBulletMessage: "Go to slide {{index}}",
4723        slideLabelMessage: "{{index}} / {{slidesLength}}",
4724        containerMessage: null,
4725        containerRoleDescriptionMessage: null,
4726        itemRoleDescriptionMessage: null,
4727        slideRole: "group"
4728      }
4729    },
4730    create: function create() {
4731      z(this, {
4732        a11y: t({}, ne, {
4733          liveRegion: m('<span class="' + this.params.a11y.notificationClass + '" aria-live="assertive" aria-atomic="true"></span>')
4734        })
4735      });
4736    },
4737    on: {
4738      afterInit: function afterInit(e) {
4739        e.params.a11y.enabled && (e.a11y.init(), e.a11y.updateNavigation());
4740      },
4741      toEdge: function toEdge(e) {
4742        e.params.a11y.enabled && e.a11y.updateNavigation();
4743      },
4744      fromEdge: function fromEdge(e) {
4745        e.params.a11y.enabled && e.a11y.updateNavigation();
4746      },
4747      paginationUpdate: function paginationUpdate(e) {
4748        e.params.a11y.enabled && e.a11y.updatePagination();
4749      },
4750      destroy: function destroy(e) {
4751        e.params.a11y.enabled && e.a11y.destroy();
4752      }
4753    }
4754  }, {
4755    name: "history",
4756    params: {
4757      history: {
4758        enabled: !1,
4759        root: "",
4760        replaceState: !1,
4761        key: "slides"
4762      }
4763    },
4764    create: function create() {
4765      z(this, {
4766        history: t({}, le)
4767      });
4768    },
4769    on: {
4770      init: function init(e) {
4771        e.params.history.enabled && e.history.init();
4772      },
4773      destroy: function destroy(e) {
4774        e.params.history.enabled && e.history.destroy();
4775      },
4776      "transitionEnd _freeModeNoMomentumRelease": function transitionEnd_freeModeNoMomentumRelease(e) {
4777        e.history.initialized && e.history.setHistory(e.params.history.key, e.activeIndex);
4778      },
4779      slideChange: function slideChange(e) {
4780        e.history.initialized && e.params.cssMode && e.history.setHistory(e.params.history.key, e.activeIndex);
4781      }
4782    }
4783  }, {
4784    name: "hash-navigation",
4785    params: {
4786      hashNavigation: {
4787        enabled: !1,
4788        replaceState: !1,
4789        watchState: !1
4790      }
4791    },
4792    create: function create() {
4793      z(this, {
4794        hashNavigation: t({
4795          initialized: !1
4796        }, oe)
4797      });
4798    },
4799    on: {
4800      init: function init(e) {
4801        e.params.hashNavigation.enabled && e.hashNavigation.init();
4802      },
4803      destroy: function destroy(e) {
4804        e.params.hashNavigation.enabled && e.hashNavigation.destroy();
4805      },
4806      "transitionEnd _freeModeNoMomentumRelease": function transitionEnd_freeModeNoMomentumRelease(e) {
4807        e.hashNavigation.initialized && e.hashNavigation.setHash();
4808      },
4809      slideChange: function slideChange(e) {
4810        e.hashNavigation.initialized && e.params.cssMode && e.hashNavigation.setHash();
4811      }
4812    }
4813  }, {
4814    name: "autoplay",
4815    params: {
4816      autoplay: {
4817        enabled: !1,
4818        delay: 3e3,
4819        waitForTransition: !0,
4820        disableOnInteraction: !0,
4821        stopOnLastSlide: !1,
4822        reverseDirection: !1,
4823        pauseOnMouseEnter: !1
4824      }
4825    },
4826    create: function create() {
4827      z(this, {
4828        autoplay: t({}, de, {
4829          running: !1,
4830          paused: !1
4831        })
4832      });
4833    },
4834    on: {
4835      init: function init(e) {
4836        e.params.autoplay.enabled && (e.autoplay.start(), r().addEventListener("visibilitychange", e.autoplay.onVisibilityChange), e.autoplay.attachMouseEvents());
4837      },
4838      beforeTransitionStart: function beforeTransitionStart(e, t, a) {
4839        e.autoplay.running && (a || !e.params.autoplay.disableOnInteraction ? e.autoplay.pause(t) : e.autoplay.stop());
4840      },
4841      sliderFirstMove: function sliderFirstMove(e) {
4842        e.autoplay.running && (e.params.autoplay.disableOnInteraction ? e.autoplay.stop() : e.autoplay.pause());
4843      },
4844      touchEnd: function touchEnd(e) {
4845        e.params.cssMode && e.autoplay.paused && !e.params.autoplay.disableOnInteraction && e.autoplay.run();
4846      },
4847      destroy: function destroy(e) {
4848        e.autoplay.detachMouseEvents(), e.autoplay.running && e.autoplay.stop(), r().removeEventListener("visibilitychange", e.autoplay.onVisibilityChange);
4849      }
4850    }
4851  }, {
4852    name: "effect-fade",
4853    params: {
4854      fadeEffect: {
4855        crossFade: !1
4856      }
4857    },
4858    create: function create() {
4859      z(this, {
4860        fadeEffect: t({}, pe)
4861      });
4862    },
4863    on: {
4864      beforeInit: function beforeInit(e) {
4865        if ("fade" === e.params.effect) {
4866          e.classNames.push(e.params.containerModifierClass + "fade");
4867          var t = {
4868            slidesPerView: 1,
4869            slidesPerColumn: 1,
4870            slidesPerGroup: 1,
4871            watchSlidesProgress: !0,
4872            spaceBetween: 0,
4873            virtualTranslate: !0
4874          };
4875          M(e.params, t), M(e.originalParams, t);
4876        }
4877      },
4878      setTranslate: function setTranslate(e) {
4879        "fade" === e.params.effect && e.fadeEffect.setTranslate();
4880      },
4881      setTransition: function setTransition(e, t) {
4882        "fade" === e.params.effect && e.fadeEffect.setTransition(t);
4883      }
4884    }
4885  }, {
4886    name: "effect-cube",
4887    params: {
4888      cubeEffect: {
4889        slideShadows: !0,
4890        shadow: !0,
4891        shadowOffset: 20,
4892        shadowScale: .94
4893      }
4894    },
4895    create: function create() {
4896      z(this, {
4897        cubeEffect: t({}, ue)
4898      });
4899    },
4900    on: {
4901      beforeInit: function beforeInit(e) {
4902        if ("cube" === e.params.effect) {
4903          e.classNames.push(e.params.containerModifierClass + "cube"), e.classNames.push(e.params.containerModifierClass + "3d");
4904          var t = {
4905            slidesPerView: 1,
4906            slidesPerColumn: 1,
4907            slidesPerGroup: 1,
4908            watchSlidesProgress: !0,
4909            resistanceRatio: 0,
4910            spaceBetween: 0,
4911            centeredSlides: !1,
4912            virtualTranslate: !0
4913          };
4914          M(e.params, t), M(e.originalParams, t);
4915        }
4916      },
4917      setTranslate: function setTranslate(e) {
4918        "cube" === e.params.effect && e.cubeEffect.setTranslate();
4919      },
4920      setTransition: function setTransition(e, t) {
4921        "cube" === e.params.effect && e.cubeEffect.setTransition(t);
4922      }
4923    }
4924  }, {
4925    name: "effect-flip",
4926    params: {
4927      flipEffect: {
4928        slideShadows: !0,
4929        limitRotation: !0
4930      }
4931    },
4932    create: function create() {
4933      z(this, {
4934        flipEffect: t({}, ce)
4935      });
4936    },
4937    on: {
4938      beforeInit: function beforeInit(e) {
4939        if ("flip" === e.params.effect) {
4940          e.classNames.push(e.params.containerModifierClass + "flip"), e.classNames.push(e.params.containerModifierClass + "3d");
4941          var t = {
4942            slidesPerView: 1,
4943            slidesPerColumn: 1,
4944            slidesPerGroup: 1,
4945            watchSlidesProgress: !0,
4946            spaceBetween: 0,
4947            virtualTranslate: !0
4948          };
4949          M(e.params, t), M(e.originalParams, t);
4950        }
4951      },
4952      setTranslate: function setTranslate(e) {
4953        "flip" === e.params.effect && e.flipEffect.setTranslate();
4954      },
4955      setTransition: function setTransition(e, t) {
4956        "flip" === e.params.effect && e.flipEffect.setTransition(t);
4957      }
4958    }
4959  }, {
4960    name: "effect-coverflow",
4961    params: {
4962      coverflowEffect: {
4963        rotate: 50,
4964        stretch: 0,
4965        depth: 100,
4966        scale: 1,
4967        modifier: 1,
4968        slideShadows: !0
4969      }
4970    },
4971    create: function create() {
4972      z(this, {
4973        coverflowEffect: t({}, he)
4974      });
4975    },
4976    on: {
4977      beforeInit: function beforeInit(e) {
4978        "coverflow" === e.params.effect && (e.classNames.push(e.params.containerModifierClass + "coverflow"), e.classNames.push(e.params.containerModifierClass + "3d"), e.params.watchSlidesProgress = !0, e.originalParams.watchSlidesProgress = !0);
4979      },
4980      setTranslate: function setTranslate(e) {
4981        "coverflow" === e.params.effect && e.coverflowEffect.setTranslate();
4982      },
4983      setTransition: function setTransition(e, t) {
4984        "coverflow" === e.params.effect && e.coverflowEffect.setTransition(t);
4985      }
4986    }
4987  }, {
4988    name: "thumbs",
4989    params: {
4990      thumbs: {
4991        swiper: null,
4992        multipleActiveThumbs: !0,
4993        autoScrollOffset: 0,
4994        slideThumbActiveClass: "swiper-slide-thumb-active",
4995        thumbsContainerClass: "swiper-container-thumbs"
4996      }
4997    },
4998    create: function create() {
4999      z(this, {
5000        thumbs: t({
5001          swiper: null,
5002          initialized: !1
5003        }, ve)
5004      });
5005    },
5006    on: {
5007      beforeInit: function beforeInit(e) {
5008        var t = e.params.thumbs;
5009        t && t.swiper && (e.thumbs.init(), e.thumbs.update(!0));
5010      },
5011      slideChange: function slideChange(e) {
5012        e.thumbs.swiper && e.thumbs.update();
5013      },
5014      update: function update(e) {
5015        e.thumbs.swiper && e.thumbs.update();
5016      },
5017      resize: function resize(e) {
5018        e.thumbs.swiper && e.thumbs.update();
5019      },
5020      observerUpdate: function observerUpdate(e) {
5021        e.thumbs.swiper && e.thumbs.update();
5022      },
5023      setTransition: function setTransition(e, t) {
5024        var a = e.thumbs.swiper;
5025        a && a.setTransition(t);
5026      },
5027      beforeDestroy: function beforeDestroy(e) {
5028        var t = e.thumbs.swiper;
5029        t && e.thumbs.swiperCreated && t && t.destroy();
5030      }
5031    }
5032  }];
5033  return q.use(fe), q;
5034});

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.