/** * swiper 7.4.1 * most modern mobile touch slider and framework with hardware accelerated transitions * https://swiperjs.com * * copyright 2014-2021 vladimir kharlampidi * * released under the mit license * * released on: december 24, 2021 */ ! function(e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalthis ? globalthis : e || self).swiper = t() }(this, (function() { "use strict"; function e(e) { return null !== e && "object" == typeof e && "constructor" in e && e.constructor === object } function t(s = {}, a = {}) { object.keys(a).foreach((i => { void 0 === s[i] ? s[i] = a[i] : e(a[i]) && e(s[i]) && object.keys(a[i]).length > 0 && t(s[i], a[i]) })) } const s = { body: {}, addeventlistener() {}, removeeventlistener() {}, activeelement: { blur() {}, nodename: "" }, queryselector: () => null, queryselectorall: () => [], getelementbyid: () => null, createevent: () => ({ initevent() {} }), createelement: () => ({ children: [], childnodes: [], style: {}, setattribute() {}, getelementsbytagname: () => [] }), createelementns: () => ({}), importnode: () => null, location: { hash: "", host: "", hostname: "", href: "", origin: "", pathname: "", protocol: "", search: "" } }; function a() { const e = "undefined" != typeof document ? document : {}; return t(e, s), e } const i = { document: s, navigator: { useragent: "" }, location: { hash: "", host: "", hostname: "", href: "", origin: "", pathname: "", protocol: "", search: "" }, history: { replacestate() {}, pushstate() {}, go() {}, back() {} }, customevent: function() { return this }, addeventlistener() {}, removeeventlistener() {}, getcomputedstyle: () => ({ getpropertyvalue: () => "" }), image() {}, date() {}, screen: {}, settimeout() {}, cleartimeout() {}, matchmedia: () => ({}), requestanimationframe: e => "undefined" == typeof settimeout ? (e(), null) : settimeout(e, 0), cancelanimationframe(e) { "undefined" != typeof settimeout && cleartimeout(e) } }; function r() { const e = "undefined" != typeof window ? window : {}; return t(e, i), e } class n extends array { constructor(e) { super(...e || []), function(e) { const t = e.__proto__; object.defineproperty(e, "__proto__", { get: () => t, set(e) { t.__proto__ = e } }) }(this) } } function l(e = []) { const t = []; return e.foreach((e => { array.isarray(e) ? t.push(...l(e)) : t.push(e) })), t } function o(e, t) { return array.prototype.filter.call(e, t) } function d(e, t) { const s = r(), i = a(); let l = []; if (!t && e instanceof n) return e; if (!e) return new n(l); if ("string" == typeof e) { const s = e.trim(); if (s.indexof("<") >= 0 && s.indexof(">") >= 0) { let e = "div"; 0 === s.indexof(" e.split(" ")))); return this.foreach((e => { e.classlist.add(...t) })), this }, removeclass: function(...e) { const t = l(e.map((e => e.split(" ")))); return this.foreach((e => { e.classlist.remove(...t) })), this }, hasclass: function(...e) { const t = l(e.map((e => e.split(" ")))); return o(this, (e => t.filter((t => e.classlist.contains(t))).length > 0)).length > 0 }, toggleclass: function(...e) { const t = l(e.map((e => e.split(" ")))); this.foreach((e => { t.foreach((t => { e.classlist.toggle(t) })) })) }, attr: function(e, t) { if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getattribute(e) : void 0; for (let s = 0; s < this.length; s += 1) if (2 === arguments.length) this[s].setattribute(e, t); else for (const t in e) this[s][t] = e[t], this[s].setattribute(t, e[t]); return this }, removeattr: function(e) { for (let t = 0; t < this.length; t += 1) this[t].removeattribute(e); return this }, transform: function(e) { for (let t = 0; t < this.length; t += 1) this[t].style.transform = e; return this }, transition: function(e) { for (let t = 0; t < this.length; t += 1) this[t].style.transitionduration = "string" != typeof e ? `${e}ms` : e; return this }, on: function(...e) { let [t, s, a, i] = e; function r(e) { const t = e.target; if (!t) return; const i = e.target.dom7eventdata || []; if (i.indexof(e) < 0 && i.unshift(e), d(t).is(s)) a.apply(t, i); else { const e = d(t).parents(); for (let t = 0; t < e.length; t += 1) d(e[t]).is(s) && a.apply(e[t], i) } } function n(e) { const t = e && e.target && e.target.dom7eventdata || []; t.indexof(e) < 0 && t.unshift(e), a.apply(this, t) } "function" == typeof e[1] && ([t, a, i] = e, s = void 0), i || (i = !1); const l = t.split(" "); let o; for (let e = 0; e < this.length; e += 1) { const t = this[e]; if (s) for (o = 0; o < l.length; o += 1) { const e = l[o]; t.dom7livelisteners || (t.dom7livelisteners = {}), t.dom7livelisteners[e] || (t.dom7livelisteners[e] = []), t.dom7livelisteners[e].push({ listener: a, proxylistener: r }), t.addeventlistener(e, r, i) } else for (o = 0; o < l.length; o += 1) { const e = l[o]; t.dom7listeners || (t.dom7listeners = {}), t.dom7listeners[e] || (t.dom7listeners[e] = []), t.dom7listeners[e].push({ listener: a, proxylistener: n }), t.addeventlistener(e, n, i) } } return this }, off: function(...e) { let [t, s, a, i] = e; "function" == typeof e[1] && ([t, a, i] = e, s = void 0), i || (i = !1); const r = t.split(" "); for (let e = 0; e < r.length; e += 1) { const t = r[e]; for (let e = 0; e < this.length; e += 1) { const r = this[e]; let n; if (!s && r.dom7listeners ? n = r.dom7listeners[t] : s && r.dom7livelisteners && (n = r.dom7livelisteners[t]), n && n.length) for (let e = n.length - 1; e >= 0; e -= 1) { const s = n[e]; a && s.listener === a || a && s.listener && s.listener.dom7proxy && s.listener.dom7proxy === a ? (r.removeeventlistener(t, s.proxylistener, i), n.splice(e, 1)) : a || (r.removeeventlistener(t, s.proxylistener, i), n.splice(e, 1)) } } } return this }, trigger: function(...e) { const t = r(), s = e[0].split(" "), a = e[1]; for (let i = 0; i < s.length; i += 1) { const r = s[i]; for (let s = 0; s < this.length; s += 1) { const i = this[s]; if (t.customevent) { const s = new t.customevent(r, { detail: a, bubbles: !0, cancelable: !0 }); i.dom7eventdata = e.filter(((e, t) => t > 0)), i.dispatchevent(s), i.dom7eventdata = [], delete i.dom7eventdata } } } return this }, transitionend: function(e) { const t = this; return e && t.on("transitionend", (function s(a) { a.target === this && (e.call(this, a), t.off("transitionend", s)) })), this }, outerwidth: function(e) { if (this.length > 0) { if (e) { const e = this.styles(); return this[0].offsetwidth + parsefloat(e.getpropertyvalue("margin-right")) + parsefloat(e.getpropertyvalue("margin-left")) } return this[0].offsetwidth } return null }, outerheight: function(e) { if (this.length > 0) { if (e) { const e = this.styles(); return this[0].offsetheight + parsefloat(e.getpropertyvalue("margin-top")) + parsefloat(e.getpropertyvalue("margin-bottom")) } return this[0].offsetheight } return null }, styles: function() { const e = r(); return this[0] ? e.getcomputedstyle(this[0], null) : {} }, offset: function() { if (this.length > 0) { const e = r(), t = a(), s = this[0], i = s.getboundingclientrect(), n = t.body, l = s.clienttop || n.clienttop || 0, o = s.clientleft || n.clientleft || 0, d = s === e ? e.scrolly : s.scrolltop, p = s === e ? e.scrollx : s.scrollleft; return { top: i.top + d - l, left: i.left + p - o } } return null }, css: function(e, t) { const s = r(); let a; if (1 === arguments.length) { if ("string" != typeof e) { for (a = 0; a < this.length; a += 1) for (const t in e) this[a].style[t] = e[t]; return this } if (this[0]) return s.getcomputedstyle(this[0], null).getpropertyvalue(e) } if (2 === arguments.length && "string" == typeof e) { for (a = 0; a < this.length; a += 1) this[a].style[e] = t; return this } return this }, each: function(e) { return e ? (this.foreach(((t, s) => { e.apply(t, [t, s]) })), this) : this }, html: function(e) { if (void 0 === e) return this[0] ? this[0].innerhtml : null; for (let t = 0; t < this.length; t += 1) this[t].innerhtml = e; return this }, text: function(e) { if (void 0 === e) return this[0] ? this[0].textcontent.trim() : null; for (let t = 0; t < this.length; t += 1) this[t].textcontent = e; return this }, is: function(e) { const t = r(), s = a(), i = this[0]; let l, o; if (!i || void 0 === e) return !1; if ("string" == typeof e) { if (i.matches) return i.matches(e); if (i.webkitmatchesselector) return i.webkitmatchesselector(e); if (i.msmatchesselector) return i.msmatchesselector(e); for (l = d(e), o = 0; o < l.length; o += 1) if (l[o] === i) return !0; return !1 } if (e === s) return i === s; if (e === t) return i === t; if (e.nodetype || e instanceof n) { for (l = e.nodetype ? [e] : e, o = 0; o < l.length; o += 1) if (l[o] === i) return !0; return !1 } return !1 }, index: function() { let e, t = this[0]; if (t) { for (e = 0; null !== (t = t.previoussibling);) 1 === t.nodetype && (e += 1); return e } }, eq: function(e) { if (void 0 === e) return this; const t = this.length; if (e > t - 1) return d([]); if (e < 0) { const s = t + e; return d(s < 0 ? [] : [this[s]]) } return d([this[e]]) }, append: function(...e) { let t; const s = a(); for (let a = 0; a < e.length; a += 1) { t = e[a]; for (let e = 0; e < this.length; e += 1) if ("string" == typeof t) { const a = s.createelement("div"); for (a.innerhtml = t; a.firstchild;) this[e].appendchild(a.firstchild) } else if (t instanceof n) for (let s = 0; s < t.length; s += 1) this[e].appendchild(t[s]); else this[e].appendchild(t) } return this }, prepend: function(e) { const t = a(); let s, i; for (s = 0; s < this.length; s += 1) if ("string" == typeof e) { const a = t.createelement("div"); for (a.innerhtml = e, i = a.childnodes.length - 1; i >= 0; i -= 1) this[s].insertbefore(a.childnodes[i], this[s].childnodes[0]) } else if (e instanceof n) for (i = 0; i < e.length; i += 1) this[s].insertbefore(e[i], this[s].childnodes[0]); else this[s].insertbefore(e, this[s].childnodes[0]); return this }, next: function(e) { return this.length > 0 ? e ? this[0].nextelementsibling && d(this[0].nextelementsibling).is(e) ? d([this[0].nextelementsibling]) : d([]) : this[0].nextelementsibling ? d([this[0].nextelementsibling]) : d([]) : d([]) }, nextall: function(e) { const t = []; let s = this[0]; if (!s) return d([]); for (; s.nextelementsibling;) { const a = s.nextelementsibling; e ? d(a).is(e) && t.push(a) : t.push(a), s = a } return d(t) }, prev: function(e) { if (this.length > 0) { const t = this[0]; return e ? t.previouselementsibling && d(t.previouselementsibling).is(e) ? d([t.previouselementsibling]) : d([]) : t.previouselementsibling ? d([t.previouselementsibling]) : d([]) } return d([]) }, prevall: function(e) { const t = []; let s = this[0]; if (!s) return d([]); for (; s.previouselementsibling;) { const a = s.previouselementsibling; e ? d(a).is(e) && t.push(a) : t.push(a), s = a } return d(t) }, parent: function(e) { const t = []; for (let s = 0; s < this.length; s += 1) null !== this[s].parentnode && (e ? d(this[s].parentnode).is(e) && t.push(this[s].parentnode) : t.push(this[s].parentnode)); return d(t) }, parents: function(e) { const t = []; for (let s = 0; s < this.length; s += 1) { let a = this[s].parentnode; for (; a;) e ? d(a).is(e) && t.push(a) : t.push(a), a = a.parentnode } return d(t) }, closest: function(e) { let t = this; return void 0 === e ? d([]) : (t.is(e) || (t = t.parents(e).eq(0)), t) }, find: function(e) { const t = []; for (let s = 0; s < this.length; s += 1) { const a = this[s].queryselectorall(e); for (let e = 0; e < a.length; e += 1) t.push(a[e]) } return d(t) }, children: function(e) { const t = []; for (let s = 0; s < this.length; s += 1) { const a = this[s].children; for (let s = 0; s < a.length; s += 1) e && !d(a[s]).is(e) || t.push(a[s]) } return d(t) }, filter: function(e) { return d(o(this, e)) }, remove: function() { for (let e = 0; e < this.length; e += 1) this[e].parentnode && this[e].parentnode.removechild(this[e]); return this } }; function c(e, t = 0) { return settimeout(e, t) } function u() { return date.now() } function h(e, t = "x") { const s = r(); let a, i, n; const l = function(e) { const t = r(); let s; return t.getcomputedstyle && (s = t.getcomputedstyle(e, null)), !s && e.currentstyle && (s = e.currentstyle), s || (s = e.style), s }(e); return s.webkitcssmatrix ? (i = l.transform || l.webkittransform, i.split(",").length > 6 && (i = i.split(", ").map((e => e.replace(",", "."))).join(", ")), n = new s.webkitcssmatrix("none" === i ? "" : i)) : (n = l.moztransform || l.otransform || l.mstransform || l.mstransform || l.transform || l.getpropertyvalue("transform").replace("translate(", "matrix(1, 0, 0, 1,"), a = n.tostring().split(",")), "x" === t && (i = s.webkitcssmatrix ? n.m41 : 16 === a.length ? parsefloat(a[12]) : parsefloat(a[4])), "y" === t && (i = s.webkitcssmatrix ? n.m42 : 16 === a.length ? parsefloat(a[13]) : parsefloat(a[5])), i || 0 } function m(e) { return "object" == typeof e && null !== e && e.constructor && "object" === object.prototype.tostring.call(e).slice(8, -1) } function f(...e) { const t = object(e[0]), s = ["__proto__", "constructor", "prototype"]; for (let i = 1; i < e.length; i += 1) { const r = e[i]; if (null != r && (a = r, !("undefined" != typeof window && void 0 !== window.htmlelement ? a instanceof htmlelement : a && (1 === a.nodetype || 11 === a.nodetype)))) { const e = object.keys(object(r)).filter((e => s.indexof(e) < 0)); for (let s = 0, a = e.length; s < a; s += 1) { const a = e[s], i = object.getownpropertydescriptor(r, a); void 0 !== i && i.enumerable && (m(t[a]) && m(r[a]) ? r[a].__swiper__ ? t[a] = r[a] : f(t[a], r[a]) : !m(t[a]) && m(r[a]) ? (t[a] = {}, r[a].__swiper__ ? t[a] = r[a] : f(t[a], r[a])) : t[a] = r[a]) } } } var a; return t } function g(e, t, s) { e.style.setproperty(t, s) } function v({ swiper: e, targetposition: t, side: s }) { const a = r(), i = -e.translate; let n, l = null; const o = e.params.speed; e.wrapperel.style.scrollsnaptype = "none", a.cancelanimationframe(e.cssmodeframeid); const d = t > i ? "next" : "prev", p = (e, t) => "next" === d && e >= t || "prev" === d && e <= t, c = () => { n = (new date).gettime(), null === l && (l = n); const r = math.max(math.min((n - l) / o, 1), 0), d = .5 - math.cos(r * math.pi) / 2; let u = i + d * (t - i); if (p(u, t) && (u = t), e.wrapperel.scrollto({ [s]: u }), p(u, t)) return e.wrapperel.style.overflow = "hidden", e.wrapperel.style.scrollsnaptype = "", settimeout((() => { e.wrapperel.style.overflow = "", e.wrapperel.scrollto({ [s]: u }) })), void a.cancelanimationframe(e.cssmodeframeid); e.cssmodeframeid = a.requestanimationframe(c) }; c() } let w, b, x; function y() { return w || (w = function() { const e = r(), t = a(); return { smoothscroll: t.documentelement && "scrollbehavior" in t.documentelement.style, touch: !!("ontouchstart" in e || e.documenttouch && t instanceof e.documenttouch), passivelistener: function() { let t = !1; try { const s = object.defineproperty({}, "passive", {get() { t = !0 } }); e.addeventlistener("testpassivelistener", null, s) } catch (e) {} return t }(), gestures: "ongesturestart" in e } }()), w } function e(e = {}) { return b || (b = function({ useragent: e } = {}) { const t = y(), s = r(), a = s.navigator.platform, i = e || s.navigator.useragent, n = { ios: !1, android: !1 }, l = s.screen.width, o = s.screen.height, d = i.match(/(android);?[\s\/]+([\d.]+)?/); let p = i.match(/(ipad).*os\s([\d_]+)/); const c = i.match(/(ipod)(.*os\s([\d_]+))?/), u = !p && i.match(/(iphone\sos|ios)\s([\d_]+)/), h = "win32" === a; let m = "macintel" === a; return !p && m && t.touch && ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"].indexof(`${l}x${o}`) >= 0 && (p = i.match(/(version)\/([\d.]+)/), p || (p = [0, 1, "13_0_0"]), m = !1), d && !h && (n.os = "android", n.android = !0), (p || u || c) && (n.os = "ios", n.ios = !0), n }(e)), b } function t() { return x || (x = function() { const e = r(); return { issafari: function() { const t = e.navigator.useragent.tolowercase(); return t.indexof("safari") >= 0 && t.indexof("chrome") < 0 && t.indexof("android") < 0 }(), iswebview: /(iphone|ipod|ipad).*applewebkit(?!.*safari)/i.test(e.navigator.useragent) } }()), x } object.keys(p).foreach((e => { object.defineproperty(d.fn, e, { value: p[e], writable: !0 }) })); var c = { on(e, t, s) { const a = this; if ("function" != typeof t) return a; const i = s ? "unshift" : "push"; return e.split(" ").foreach((e => { a.eventslisteners[e] || (a.eventslisteners[e] = []), a.eventslisteners[e][i](t) })), a }, once(e, t, s) { const a = this; if ("function" != typeof t) return a; function i(...s) { a.off(e, i), i.__emitterproxy && delete i.__emitterproxy, t.apply(a, s) } return i.__emitterproxy = t, a.on(e, i, s) }, onany(e, t) { const s = this; if ("function" != typeof e) return s; const a = t ? "unshift" : "push"; return s.eventsanylisteners.indexof(e) < 0 && s.eventsanylisteners[a](e), s }, offany(e) { const t = this; if (!t.eventsanylisteners) return t; const s = t.eventsanylisteners.indexof(e); return s >= 0 && t.eventsanylisteners.splice(s, 1), t }, off(e, t) { const s = this; return s.eventslisteners ? (e.split(" ").foreach((e => { void 0 === t ? s.eventslisteners[e] = [] : s.eventslisteners[e] && s.eventslisteners[e].foreach(((a, i) => { (a === t || a.__emitterproxy && a.__emitterproxy === t) && s.eventslisteners[e].splice(i, 1) })) })), s) : s }, emit(...e) { const t = this; if (!t.eventslisteners) return t; let s, a, i; "string" == typeof e[0] || array.isarray(e[0]) ? (s = e[0], a = e.slice(1, e.length), i = t) : (s = e[0].events, a = e[0].data, i = e[0].context || t), a.unshift(i); return (array.isarray(s) ? s : s.split(" ")).foreach((e => { t.eventsanylisteners && t.eventsanylisteners.length && t.eventsanylisteners.foreach((t => { t.apply(i, [e, ...a]) })), t.eventslisteners && t.eventslisteners[e] && t.eventslisteners[e].foreach((e => { e.apply(i, a) })) })), t } }; function $({ swiper: e, runcallbacks: t, direction: s, step: a }) { const { activeindex: i, previousindex: r } = e; let n = s; if (n || (n = i > r ? "next" : i < r ? "prev" : "reset"), e.emit(`transition${a}`), t && i !== r) { if ("reset" === n) return void e.emit(`slideresettransition${a}`); e.emit(`slidechangetransition${a}`), "next" === n ? e.emit(`slidenexttransition${a}`) : e.emit(`slideprevtransition${a}`) } } function s(e) { const t = this, s = a(), i = r(), n = t.toucheventsdata, { params: l, touches: o, enabled: p } = t; if (!p) return; if (t.animating && l.preventinteractionontransition) return;!t.animating && l.cssmode && l.loop && t.loopfix(); let c = e; c.originalevent && (c = c.originalevent); let h = d(c.target); if ("wrapper" === l.toucheventstarget && !h.closest(t.wrapperel).length) return; if (n.istouchevent = "touchstart" === c.type, !n.istouchevent && "which" in c && 3 === c.which) return; if (!n.istouchevent && "button" in c && c.button > 0) return; if (n.istouched && n.ismoved) return;!!l.noswipingclass && "" !== l.noswipingclass && c.target && c.target.shadowroot && e.path && e.path[0] && (h = d(e.path[0])); const m = l.noswipingselector ? l.noswipingselector : `.${l.noswipingclass}`, f = !(!c.target || !c.target.shadowroot); if (l.noswiping && (f ? function(e, t = this) { return function t(s) { return s && s !== a() && s !== r() ? (s.assignedslot && (s = s.assignedslot), s.closest(e) || t(s.getrootnode().host)) : null }(t) }(m, c.target) : h.closest(m)[0])) return void(t.allowclick = !0); if (l.swipehandler && !h.closest(l.swipehandler)[0]) return; o.currentx = "touchstart" === c.type ? c.targettouches[0].pagex : c.pagex, o.currenty = "touchstart" === c.type ? c.targettouches[0].pagey : c.pagey; const g = o.currentx, v = o.currenty, w = l.edgeswipedetection || l.iosedgeswipedetection, b = l.edgeswipethreshold || l.iosedgeswipethreshold; if (w && (g <= b || g >= i.innerwidth - b)) { if ("prevent" !== w) return; e.preventdefault() } if (object.assign(n, { istouched: !0, ismoved: !1, allowtouchcallbacks: !0, isscrolling: void 0, startmoving: void 0 }), o.startx = g, o.starty = v, n.touchstarttime = u(), t.allowclick = !0, t.updatesize(), t.swipedirection = void 0, l.threshold > 0 && (n.allowthresholdmove = !1), "touchstart" !== c.type) { let e = !0; h.is(n.focusableelements) && (e = !1), s.activeelement && d(s.activeelement).is(n.focusableelements) && s.activeelement !== h[0] && s.activeelement.blur(); const a = e && t.allowtouchmove && l.touchstartpreventdefault;!l.touchstartforcepreventdefault && !a || h[0].iscontenteditable || c.preventdefault() } t.emit("touchstart", c) } function m(e) { const t = a(), s = this, i = s.toucheventsdata, { params: r, touches: n, rtltranslate: l, enabled: o } = s; if (!o) return; let p = e; if (p.originalevent && (p = p.originalevent), !i.istouched) return void(i.startmoving && i.isscrolling && s.emit("touchmoveopposite", p)); if (i.istouchevent && "touchmove" !== p.type) return; const c = "touchmove" === p.type && p.targettouches && (p.targettouches[0] || p.changedtouches[0]), h = "touchmove" === p.type ? c.pagex : p.pagex, m = "touchmove" === p.type ? c.pagey : p.pagey; if (p.preventedbynestedswiper) return n.startx = h, void(n.starty = m); if (!s.allowtouchmove) return s.allowclick = !1, void(i.istouched && (object.assign(n, { startx: h, starty: m, currentx: h, currenty: m }), i.touchstarttime = u())); if (i.istouchevent && r.touchreleaseonedges && !r.loop) if (s.isvertical()) { if (m < n.starty && s.translate <= s.maxtranslate() || m > n.starty && s.translate >= s.mintranslate()) return i.istouched = !1, void(i.ismoved = !1) } else if (h < n.startx && s.translate <= s.maxtranslate() || h > n.startx && s.translate >= s.mintranslate()) return; if (i.istouchevent && t.activeelement && p.target === t.activeelement && d(p.target).is(i.focusableelements)) return i.ismoved = !0, void(s.allowclick = !1); if (i.allowtouchcallbacks && s.emit("touchmove", p), p.targettouches && p.targettouches.length > 1) return; n.currentx = h, n.currenty = m; const f = n.currentx - n.startx, g = n.currenty - n.starty; if (s.params.threshold && math.sqrt(f ** 2 + g ** 2) < s.params.threshold) return; if (void 0 === i.isscrolling) { let e; s.ishorizontal() && n.currenty === n.starty || s.isvertical() && n.currentx === n.startx ? i.isscrolling = !1 : f * f + g * g >= 25 && (e = 180 * math.atan2(math.abs(g), math.abs(f)) / math.pi, i.isscrolling = s.ishorizontal() ? e > r.touchangle : 90 - e > r.touchangle) } if (i.isscrolling && s.emit("touchmoveopposite", p), void 0 === i.startmoving && (n.currentx === n.startx && n.currenty === n.starty || (i.startmoving = !0)), i.isscrolling) return void(i.istouched = !1); if (!i.startmoving) return; s.allowclick = !1, !r.cssmode && p.cancelable && p.preventdefault(), r.touchmovestoppropagation && !r.nested && p.stoppropagation(), i.ismoved || (r.loop && !r.cssmode && s.loopfix(), i.starttranslate = s.gettranslate(), s.settransition(0), s.animating && s.$wrapperel.trigger("webkittransitionend transitionend"), i.allowmomentumbounce = !1, !r.grabcursor || !0 !== s.allowslidenext && !0 !== s.allowslideprev || s.setgrabcursor(!0), s.emit("sliderfirstmove", p)), s.emit("slidermove", p), i.ismoved = !0; let v = s.ishorizontal() ? f : g; n.diff = v, v *= r.touchratio, l && (v = -v), s.swipedirection = v > 0 ? "prev" : "next", i.currenttranslate = v + i.starttranslate; let w = !0, b = r.resistanceratio; if (r.touchreleaseonedges && (b = 0), v > 0 && i.currenttranslate > s.mintranslate() ? (w = !1, r.resistance && (i.currenttranslate = s.mintranslate() - 1 + (-s.mintranslate() + i.starttranslate + v) ** b)) : v < 0 && i.currenttranslate < s.maxtranslate() && (w = !1, r.resistance && (i.currenttranslate = s.maxtranslate() + 1 - (s.maxtranslate() - i.starttranslate - v) ** b)), w && (p.preventedbynestedswiper = !0), !s.allowslidenext && "next" === s.swipedirection && i.currenttranslate < i.starttranslate && (i.currenttranslate = i.starttranslate), !s.allowslideprev && "prev" === s.swipedirection && i.currenttranslate > i.starttranslate && (i.currenttranslate = i.starttranslate), s.allowslideprev || s.allowslidenext || (i.currenttranslate = i.starttranslate), r.threshold > 0) { if (!(math.abs(v) > r.threshold || i.allowthresholdmove)) return void(i.currenttranslate = i.starttranslate); if (!i.allowthresholdmove) return i.allowthresholdmove = !0, n.startx = n.currentx, n.starty = n.currenty, i.currenttranslate = i.starttranslate, void(n.diff = s.ishorizontal() ? n.currentx - n.startx : n.currenty - n.starty) } r.followfinger && !r.cssmode && ((r.freemode && r.freemode.enabled && s.freemode || r.watchslidesprogress) && (s.updateactiveindex(), s.updateslidesclasses()), s.params.freemode && r.freemode.enabled && s.freemode && s.freemode.ontouchmove(), s.updateprogress(i.currenttranslate), s.settranslate(i.currenttranslate)) } function p(e) { const t = this, s = t.toucheventsdata, { params: a, touches: i, rtltranslate: r, slidesgrid: n, enabled: l } = t; if (!l) return; let o = e; if (o.originalevent && (o = o.originalevent), s.allowtouchcallbacks && t.emit("touchend", o), s.allowtouchcallbacks = !1, !s.istouched) return s.ismoved && a.grabcursor && t.setgrabcursor(!1), s.ismoved = !1, void(s.startmoving = !1); a.grabcursor && s.ismoved && s.istouched && (!0 === t.allowslidenext || !0 === t.allowslideprev) && t.setgrabcursor(!1); const d = u(), p = d - s.touchstarttime; if (t.allowclick) { const e = o.path || o.composedpath && o.composedpath(); t.updateclickedslide(e && e[0] || o.target), t.emit("tap click", o), p < 300 && d - s.lastclicktime < 300 && t.emit("doubletap doubleclick", o) } if (s.lastclicktime = u(), c((() => { t.destroyed || (t.allowclick = !0) })), !s.istouched || !s.ismoved || !t.swipedirection || 0 === i.diff || s.currenttranslate === s.starttranslate) return s.istouched = !1, s.ismoved = !1, void(s.startmoving = !1); let h; if (s.istouched = !1, s.ismoved = !1, s.startmoving = !1, h = a.followfinger ? r ? t.translate : -t.translate : -s.currenttranslate, a.cssmode) return; if (t.params.freemode && a.freemode.enabled) return void t.freemode.ontouchend({ currentpos: h }); let m = 0, f = t.slidessizesgrid[0]; for (let e = 0; e < n.length; e += e < a.slidespergroupskip ? 1 : a.slidespergroup) { const t = e < a.slidespergroupskip - 1 ? 1 : a.slidespergroup; void 0 !== n[e + t] ? h >= n[e] && h < n[e + t] && (m = e, f = n[e + t] - n[e]) : h >= n[e] && (m = e, f = n[n.length - 1] - n[n.length - 2]) } const g = (h - n[m]) / f, v = m < a.slidespergroupskip - 1 ? 1 : a.slidespergroup; if (p > a.longswipesms) { if (!a.longswipes) return void t.slideto(t.activeindex); "next" === t.swipedirection && (g >= a.longswipesratio ? t.slideto(m + v) : t.slideto(m)), "prev" === t.swipedirection && (g > 1 - a.longswipesratio ? t.slideto(m + v) : t.slideto(m)) } else { if (!a.shortswipes) return void t.slideto(t.activeindex); t.navigation && (o.target === t.navigation.nextel || o.target === t.navigation.prevel) ? o.target === t.navigation.nextel ? t.slideto(m + v) : t.slideto(m) : ("next" === t.swipedirection && t.slideto(m + v), "prev" === t.swipedirection && t.slideto(m)) } } function k() { const e = this, { params: t, el: s } = e; if (s && 0 === s.offsetwidth) return; t.breakpoints && e.setbreakpoint(); const { allowslidenext: a, allowslideprev: i, snapgrid: r } = e; 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 = i, e.allowslidenext = a, e.params.watchoverflow && r !== e.snapgrid && e.checkoverflow() } function z(e) { const t = this; t.enabled && (t.allowclick || (t.params.preventclicks && e.preventdefault(), t.params.preventclickspropagation && t.animating && (e.stoppropagation(), e.stopimmediatepropagation()))) } function o() { const e = this, { wrapperel: t, rtltranslate: s, enabled: a } = e; if (!a) return; let i; e.previoustranslate = e.translate, e.ishorizontal() ? e.translate = -t.scrollleft : e.translate = -t.scrolltop, -0 === e.translate && (e.translate = 0), e.updateactiveindex(), e.updateslidesclasses(); const r = e.maxtranslate() - e.mintranslate(); i = 0 === r ? 0 : (e.translate - e.mintranslate()) / r, i !== e.progress && e.updateprogress(s ? -e.translate : e.translate), e.emit("settranslate", e.translate, !1) } let i = !1; function l() {} const a = (e, t) => { const s = a(), { params: i, touchevents: r, el: n, wrapperel: l, device: o, support: d } = e, p = !!i.nested, c = "on" === t ? "addeventlistener" : "removeeventlistener", u = t; if (d.touch) { const t = !("touchstart" !== r.start || !d.passivelistener || !i.passivelisteners) && { passive: !0, capture: !1 }; n[c](r.start, e.ontouchstart, t), n[c](r.move, e.ontouchmove, d.passivelistener ? { passive: !1, capture: p } : p), n[c](r.end, e.ontouchend, t), r.cancel && n[c](r.cancel, e.ontouchend, t) } else n[c](r.start, e.ontouchstart, !1), s[c](r.move, e.ontouchmove, p), s[c](r.end, e.ontouchend, !1); (i.preventclicks || i.preventclickspropagation) && n[c]("click", e.onclick, !0), i.cssmode && l[c]("scroll", e.onscroll), i.updateonwindowresize ? e[u](o.ios || o.android ? "resize orientationchange observerupdate" : "resize observerupdate", k, !0) : e[u]("observerupdate", k, !0) }; const d = (e, t) => e.grid && t.grid && t.grid.rows > 1; var g = { init: !0, direction: "horizontal", toucheventstarget: "wrapper", initialslide: 0, speed: 300, cssmode: !1, updateonwindowresize: !0, resizeobserver: !0, nested: !1, createelements: !1, enabled: !0, focusableelements: "input, select, option, textarea, button, video, label", width: null, height: null, preventinteractionontransition: !1, useragent: null, url: null, edgeswipedetection: !1, edgeswipethreshold: 20, autoheight: !1, setwrappersize: !1, virtualtranslate: !1, effect: "slide", breakpoints: void 0, breakpointsbase: "window", spacebetween: 0, slidesperview: 1, slidespergroup: 1, slidespergroupskip: 0, slidespergroupauto: !1, centeredslides: !1, centeredslidesbounds: !1, slidesoffsetbefore: 0, slidesoffsetafter: 0, normalizeslideindex: !0, centerinsufficientslides: !1, watchoverflow: !0, roundlengths: !1, touchratio: 1, touchangle: 45, simulatetouch: !0, shortswipes: !0, longswipes: !0, longswipesratio: .5, longswipesms: 300, followfinger: !0, allowtouchmove: !0, threshold: 0, touchmovestoppropagation: !1, touchstartpreventdefault: !0, touchstartforcepreventdefault: !1, touchreleaseonedges: !1, uniquenavelements: !0, resistance: !0, resistanceratio: .85, watchslidesprogress: !1, grabcursor: !1, preventclicks: !0, preventclickspropagation: !0, slidetoclickedslide: !1, preloadimages: !0, updateonimagesready: !0, loop: !1, loopadditionalslides: 0, loopedslides: null, loopfillgroupwithblank: !1, looppreventsslide: !0, rewind: !1, allowslideprev: !0, allowslidenext: !0, swipehandler: null, noswiping: !0, noswipingclass: "swiper-no-swiping", noswipingselector: null, passivelisteners: !0, containermodifierclass: "swiper-", slideclass: "swiper-slide", slideblankclass: "swiper-slide-invisible-blank", slideactiveclass: "swiper-slide-active", slideduplicateactiveclass: "swiper-slide-duplicate-active", slidevisibleclass: "swiper-slide-visible", slideduplicateclass: "swiper-slide-duplicate", slidenextclass: "swiper-slide-next", slideduplicatenextclass: "swiper-slide-duplicate-next", slideprevclass: "swiper-slide-prev", slideduplicateprevclass: "swiper-slide-duplicate-prev", wrapperclass: "swiper-wrapper", runcallbacksoninit: !0, _emitclasses: !1 }; function n(e, t) { return function(s = {}) { const a = object.keys(s)[0], i = s[a]; "object" == typeof i && null !== i ? (["navigation", "pagination", "scrollbar"].indexof(a) >= 0 && !0 === e[a] && (e[a] = { auto: !0 }), a in e && "enabled" in i ? (!0 === e[a] && (e[a] = { enabled: !0 }), "object" != typeof e[a] || "enabled" in e[a] || (e[a].enabled = !0), e[a] || (e[a] = { enabled: !1 }), f(t, s)) : f(t, s)) : f(t, s) } } const b = { eventsemitter: c, update: { updatesize: function() { const e = this; let t, s; const a = e.$el; t = void 0 !== e.params.width && null !== e.params.width ? e.params.width : a[0].clientwidth, s = void 0 !== e.params.height && null !== e.params.height ? e.params.height : a[0].clientheight, 0 === t && e.ishorizontal() || 0 === s && e.isvertical() || (t = t - parseint(a.css("padding-left") || 0, 10) - parseint(a.css("padding-right") || 0, 10), s = s - parseint(a.css("padding-top") || 0, 10) - parseint(a.css("padding-bottom") || 0, 10), number.isnan(t) && (t = 0), number.isnan(s) && (s = 0), object.assign(e, { width: t, height: s, size: e.ishorizontal() ? t : s })) }, updateslides: function() { const e = this; function t(t) { return e.ishorizontal() ? t : { width: "height", "margin-top": "margin-left", "margin-bottom ": "margin-right", "margin-left": "margin-top", "margin-right": "margin-bottom", "padding-left": "padding-top", "padding-right": "padding-bottom", marginright: "marginbottom" }[t] } function s(e, s) { return parsefloat(e.getpropertyvalue(t(s)) || 0) } const a = e.params, { $wrapperel: i, size: r, rtltranslate: n, wrongrtl: l } = e, o = e.virtual && a.virtual.enabled, d = o ? e.virtual.slides.length : e.slides.length, p = i.children(`.${e.params.slideclass}`), c = o ? e.virtual.slides.length : p.length; let u = []; const h = [], m = []; let f = a.slidesoffsetbefore; "function" == typeof f && (f = a.slidesoffsetbefore.call(e)); let v = a.slidesoffsetafter; "function" == typeof v && (v = a.slidesoffsetafter.call(e)); const w = e.snapgrid.length, b = e.slidesgrid.length; let x = a.spacebetween, y = -f, e = 0, t = 0; if (void 0 === r) return; "string" == typeof x && x.indexof("%") >= 0 && (x = parsefloat(x.replace("%", "")) / 100 * r), e.virtualsize = -x, n ? p.css({ marginleft: "", marginbottom: "", margintop: "" }) : p.css({ marginright: "", marginbottom: "", margintop: "" }), a.centeredslides && a.cssmode && (g(e.wrapperel, "--swiper-centered-offset-before", ""), g(e.wrapperel, "--swiper-centered-offset-after", "")); const c = a.grid && a.grid.rows > 1 && e.grid; let $; c && e.grid.initslides(c); const s = "auto" === a.slidesperview && a.breakpoints && object.keys(a.breakpoints).filter((e => void 0 !== a.breakpoints[e].slidesperview)).length > 0; for (let i = 0; i < c; i += 1) { $ = 0; const n = p.eq(i); if (c && e.grid.updateslide(i, n, c, t), "none" !== n.css("display")) { if ("auto" === a.slidesperview) { s && (p[i].style[t("width")] = ""); const r = getcomputedstyle(n[0]), l = n[0].style.transform, o = n[0].style.webkittransform; if (l && (n[0].style.transform = "none"), o && (n[0].style.webkittransform = "none"), a.roundlengths) $ = e.ishorizontal() ? n.outerwidth(!0) : n.outerheight(!0); else { const e = s(r, "width"), t = s(r, "padding-left"), a = s(r, "padding-right"), i = s(r, "margin-left"), l = s(r, "margin-right"), o = r.getpropertyvalue("box-sizing"); if (o && "border-box" === o) $ = e + i + l; else { const { clientwidth: s, offsetwidth: r } = n[0]; $ = e + t + a + i + l + (r - s) } } l && (n[0].style.transform = l), o && (n[0].style.webkittransform = o), a.roundlengths && ($ = math.floor($)) } else $ = (r - (a.slidesperview - 1) * x) / a.slidesperview, a.roundlengths && ($ = math.floor($)), p[i] && (p[i].style[t("width")] = `${$}px`); p[i] && (p[i].swiperslidesize = $), m.push($), a.centeredslides ? (y = y + $ / 2 + e / 2 + x, 0 === e && 0 !== i && (y = y - r / 2 - x), 0 === i && (y = y - r / 2 - x), math.abs(y) < .001 && (y = 0), a.roundlengths && (y = math.floor(y)), t % a.slidespergroup == 0 && u.push(y), h.push(y)) : (a.roundlengths && (y = math.floor(y)), (t - math.min(e.params.slidespergroupskip, t)) % e.params.slidespergroup == 0 && u.push(y), h.push(y), y = y + $ + x), e.virtualsize += $ + x, e = $, t += 1 } } if (e.virtualsize = math.max(e.virtualsize, r) + v, n && l && ("slide" === a.effect || "coverflow" === a.effect) && i.css({ width: `${e.virtualsize+a.spacebetween}px` }), a.setwrappersize && i.css({ [t("width")]: `${e.virtualsize+a.spacebetween}px` }), c && e.grid.updatewrappersize($, u, t), !a.centeredslides) { const t = []; for (let s = 0; s < u.length; s += 1) { let i = u[s]; a.roundlengths && (i = math.floor(i)), u[s] <= e.virtualsize - r && t.push(i) } u = t, math.floor(e.virtualsize - r) - math.floor(u[u.length - 1]) > 1 && u.push(e.virtualsize - r) } if (0 === u.length && (u = [0]), 0 !== a.spacebetween) { const s = e.ishorizontal() && n ? "marginleft" : t("marginright"); p.filter(((e, t) => !a.cssmode || t !== p.length - 1)).css({ [s]: `${x}px` }) } if (a.centeredslides && a.centeredslidesbounds) { let e = 0; m.foreach((t => { e += t + (a.spacebetween ? a.spacebetween : 0) })), e -= a.spacebetween; const t = e - r; u = u.map((e => e < 0 ? -f : e > t ? t + v : e)) } if (a.centerinsufficientslides) { let e = 0; if (m.foreach((t => { e += t + (a.spacebetween ? a.spacebetween : 0) })), e -= a.spacebetween, e < r) { const t = (r - e) / 2; u.foreach(((e, s) => { u[s] = e - t })), h.foreach(((e, s) => { h[s] = e + t })) } } if (object.assign(e, { slides: p, snapgrid: u, slidesgrid: h, slidessizesgrid: m }), a.centeredslides && a.cssmode && !a.centeredslidesbounds) { g(e.wrapperel, "--swiper-centered-offset-before", -u[0] + "px"), g(e.wrapperel, "--swiper-centered-offset-after", e.size / 2 - m[m.length - 1] / 2 + "px"); const t = -e.snapgrid[0], s = -e.slidesgrid[0]; e.snapgrid = e.snapgrid.map((e => e + t)), e.slidesgrid = e.slidesgrid.map((e => e + s)) } c !== d && e.emit("slideslengthchange"), u.length !== w && (e.params.watchoverflow && e.checkoverflow(), e.emit("snapgridlengthchange")), h.length !== b && e.emit("slidesgridlengthchange"), a.watchslidesprogress && e.updateslidesoffset() }, updateautoheight: function(e) { const t = this, s = [], a = t.virtual && t.params.virtual.enabled; let i, r = 0; "number" == typeof e ? t.settransition(e) : !0 === e && t.settransition(t.params.speed); const n = e => a ? t.slides.filter((t => parseint(t.getattribute("data-swiper-slide-index"), 10) === e))[0] : t.slides.eq(e)[0]; if ("auto" !== t.params.slidesperview && t.params.slidesperview > 1) if (t.params.centeredslides) t.visibleslides.each((e => { s.push(e) })); else for (i = 0; i < math.ceil(t.params.slidesperview); i += 1) { const e = t.activeindex + i; if (e > t.slides.length && !a) break; s.push(n(e)) } else s.push(n(t.activeindex)); for (i = 0; i < s.length; i += 1) if (void 0 !== s[i]) { const e = s[i].offsetheight; r = e > r ? e : r }(r || 0 === r) && t.$wrapperel.css("height", `${r}px`) }, updateslidesoffset: function() { const e = this, t = e.slides; for (let s = 0; s < t.length; s += 1) t[s].swiperslideoffset = e.ishorizontal() ? t[s].offsetleft : t[s].offsettop }, updateslidesprogress: function(e = this && this.translate || 0) { const t = this, s = t.params, { slides: a, rtltranslate: i, snapgrid: r } = t; if (0 === a.length) return; void 0 === a[0].swiperslideoffset && t.updateslidesoffset(); let n = -e; i && (n = e), a.removeclass(s.slidevisibleclass), t.visibleslidesindexes = [], t.visibleslides = []; for (let e = 0; e < a.length; e += 1) { const l = a[e]; let o = l.swiperslideoffset; s.cssmode && s.centeredslides && (o -= a[0].swiperslideoffset); const d = (n + (s.centeredslides ? t.mintranslate() : 0) - o) / (l.swiperslidesize + s.spacebetween), p = (n - r[0] + (s.centeredslides ? t.mintranslate() : 0) - o) / (l.swiperslidesize + s.spacebetween), c = -(n - o), u = c + t.slidessizesgrid[e]; (c >= 0 && c < t.size - 1 || u > 1 && u <= t.size || c <= 0 && u >= t.size) && (t.visibleslides.push(l), t.visibleslidesindexes.push(e), a.eq(e).addclass(s.slidevisibleclass)), l.progress = i ? -d : d, l.originalprogress = i ? -p : p } t.visibleslides = d(t.visibleslides) }, updateprogress: function(e) { const t = this; if (void 0 === e) { const s = t.rtltranslate ? -1 : 1; e = t && t.translate && t.translate * s || 0 } const s = t.params, a = t.maxtranslate() - t.mintranslate(); let { progress: i, isbeginning: r, isend: n } = t; const l = r, o = n; 0 === a ? (i = 0, r = !0, n = !0) : (i = (e - t.mintranslate()) / a, r = i <= 0, n = i >= 1), object.assign(t, { progress: i, isbeginning: r, isend: n }), (s.watchslidesprogress || s.centeredslides && s.autoheight) && t.updateslidesprogress(e), r && !l && t.emit("reachbeginning toedge"), n && !o && t.emit("reachend toedge"), (l && !r || o && !n) && t.emit("fromedge"), t.emit("progress", i) }, updateslidesclasses: function() { const e = this, { slides: t, params: s, $wrapperel: a, activeindex: i, realindex: r } = e, n = e.virtual && s.virtual.enabled; let l; t.removeclass(`${s.slideactiveclass} ${s.slidenextclass} ${s.slideprevclass} ${s.slideduplicateactiveclass} ${s.slideduplicatenextclass} ${s.slideduplicateprevclass}`), l = n ? e.$wrapperel.find(`.${s.slideclass}[data-swiper-slide-index="${i}"]`) : t.eq(i), l.addclass(s.slideactiveclass), s.loop && (l.hasclass(s.slideduplicateclass) ? a.children(`.${s.slideclass}:not(.${s.slideduplicateclass})[data-swiper-slide-index="${r}"]`).addclass(s.slideduplicateactiveclass) : a.children(`.${s.slideclass}.${s.slideduplicateclass}[data-swiper-slide-index="${r}"]`).addclass(s.slideduplicateactiveclass)); let o = l.nextall(`.${s.slideclass}`).eq(0).addclass(s.slidenextclass); s.loop && 0 === o.length && (o = t.eq(0), o.addclass(s.slidenextclass)); let d = l.prevall(`.${s.slideclass}`).eq(0).addclass(s.slideprevclass); s.loop && 0 === d.length && (d = t.eq(-1), d.addclass(s.slideprevclass)), s.loop && (o.hasclass(s.slideduplicateclass) ? a.children(`.${s.slideclass}:not(.${s.slideduplicateclass})[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addclass(s.slideduplicatenextclass) : a.children(`.${s.slideclass}.${s.slideduplicateclass}[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addclass(s.slideduplicatenextclass), d.hasclass(s.slideduplicateclass) ? a.children(`.${s.slideclass}:not(.${s.slideduplicateclass})[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addclass(s.slideduplicateprevclass) : a.children(`.${s.slideclass}.${s.slideduplicateclass}[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addclass(s.slideduplicateprevclass)), e.emitslidesclasses() }, updateactiveindex: function(e) { const t = this, s = t.rtltranslate ? t.translate : -t.translate, { slidesgrid: a, snapgrid: i, params: r, activeindex: n, realindex: l, snapindex: o } = t; let d, p = e; if (void 0 === p) { for (let e = 0; e < a.length; e += 1) void 0 !== a[e + 1] ? s >= a[e] && s < a[e + 1] - (a[e + 1] - a[e]) / 2 ? p = e : s >= a[e] && s < a[e + 1] && (p = e + 1) : s >= a[e] && (p = e); r.normalizeslideindex && (p < 0 || void 0 === p) && (p = 0) } if (i.indexof(s) >= 0) d = i.indexof(s); else { const e = math.min(r.slidespergroupskip, p); d = e + math.floor((p - e) / r.slidespergroup) } if (d >= i.length && (d = i.length - 1), p === n) return void(d !== o && (t.snapindex = d, t.emit("snapindexchange"))); const c = parseint(t.slides.eq(p).attr("data-swiper-slide-index") || p, 10); object.assign(t, { snapindex: d, realindex: c, previousindex: n, activeindex: p }), t.emit("activeindexchange"), t.emit("snapindexchange"), l !== c && t.emit("realindexchange"), (t.initialized || t.params.runcallbacksoninit) && t.emit("slidechange") }, updateclickedslide: function(e) { const t = this, s = t.params, a = d(e).closest(`.${s.slideclass}`)[0]; let i, r = !1; if (a) for (let e = 0; e < t.slides.length; e += 1) if (t.slides[e] === a) { r = !0, i = e; break } if (!a || !r) return t.clickedslide = void 0, void(t.clickedindex = void 0); t.clickedslide = a, t.virtual && t.params.virtual.enabled ? t.clickedindex = parseint(d(a).attr("data-swiper-slide-index"), 10) : t.clickedindex = i, s.slidetoclickedslide && void 0 !== t.clickedindex && t.clickedindex !== t.activeindex && t.slidetoclickedslide() } }, translate: { gettranslate: function(e = (this.ishorizontal() ? "x" : "y")) { const { params: t, rtltranslate: s, translate: a, $wrapperel: i } = this; if (t.virtualtranslate) return s ? -a : a; if (t.cssmode) return a; let r = h(i[0], e); return s && (r = -r), r || 0 }, settranslate: function(e, t) { const s = this, { rtltranslate: a, params: i, $wrapperel: r, wrapperel: n, progress: l } = s; let o, d = 0, p = 0; s.ishorizontal() ? d = a ? -e : e : p = e, i.roundlengths && (d = math.floor(d), p = math.floor(p)), i.cssmode ? n[s.ishorizontal() ? "scrollleft" : "scrolltop"] = s.ishorizontal() ? -d : -p : i.virtualtranslate || r.transform(`translate3d(${d}px, ${p}px, 0px)`), s.previoustranslate = s.translate, s.translate = s.ishorizontal() ? d : p; const c = s.maxtranslate() - s.mintranslate(); o = 0 === c ? 0 : (e - s.mintranslate()) / c, o !== l && s.updateprogress(e), s.emit("settranslate", s.translate, t) }, mintranslate: function() { return -this.snapgrid[0] }, maxtranslate: function() { return -this.snapgrid[this.snapgrid.length - 1] }, translateto: function(e = 0, t = this.params.speed, s = !0, a = !0, i) { const r = this, { params: n, wrapperel: l } = r; if (r.animating && n.preventinteractionontransition) return !1; const o = r.mintranslate(), d = r.maxtranslate(); let p; if (p = a && e > o ? o : a && e < d ? d : e, r.updateprogress(p), n.cssmode) { const e = r.ishorizontal(); if (0 === t) l[e ? "scrollleft" : "scrolltop"] = -p; else { if (!r.support.smoothscroll) return v({ swiper: r, targetposition: -p, side: e ? "left" : "top" }), !0; l.scrollto({ [e ? "left" : "top"]: -p, behavior: "smooth" }) } return !0 } return 0 === t ? (r.settransition(0), r.settranslate(p), s && (r.emit("beforetransitionstart", t, i), r.emit("transitionend"))) : (r.settransition(t), r.settranslate(p), s && (r.emit("beforetransitionstart", t, i), r.emit("transitionstart")), r.animating || (r.animating = !0, r.ontranslatetowrappertransitionend || (r.ontranslatetowrappertransitionend = function(e) { 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, s && r.emit("transitionend")) }), r.$wrapperel[0].addeventlistener("transitionend", r.ontranslatetowrappertransitionend), r.$wrapperel[0].addeventlistener("webkittransitionend", r.ontranslatetowrappertransitionend))), !0 } }, transition: { settransition: function(e, t) { const s = this; s.params.cssmode || s.$wrapperel.transition(e), s.emit("settransition", e, t) }, transitionstart: function(e = !0, t) { const s = this, { params: a } = s; a.cssmode || (a.autoheight && s.updateautoheight(), $({ swiper: s, runcallbacks: e, direction: t, step: "start" })) }, transitionend: function(e = !0, t) { const s = this, { params: a } = s; s.animating = !1, a.cssmode || (s.settransition(0), $({ swiper: s, runcallbacks: e, direction: t, step: "end" })) } }, slide: { slideto: function(e = 0, t = this.params.speed, s = !0, a, i) { if ("number" != typeof e && "string" != typeof e) throw new error(`the 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`); if ("string" == typeof e) { const t = parseint(e, 10); if (!isfinite(t)) throw new error(`the passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`); e = t } const r = this; let n = e; n < 0 && (n = 0); const { params: l, snapgrid: o, slidesgrid: d, previousindex: p, activeindex: c, rtltranslate: u, wrapperel: h, enabled: m } = r; if (r.animating && l.preventinteractionontransition || !m && !a && !i) return !1; const f = math.min(r.params.slidespergroupskip, n); let g = f + math.floor((n - f) / r.params.slidespergroup); g >= o.length && (g = o.length - 1), (c || l.initialslide || 0) === (p || 0) && s && r.emit("beforeslidechangestart"); const w = -o[g]; if (r.updateprogress(w), l.normalizeslideindex) for (let e = 0; e < d.length; e += 1) { const t = -math.floor(100 * w), s = math.floor(100 * d[e]), a = math.floor(100 * d[e + 1]); void 0 !== d[e + 1] ? t >= s && t < a - (a - s) / 2 ? n = e : t >= s && t < a && (n = e + 1) : t >= s && (n = e) } if (r.initialized && n !== c) { if (!r.allowslidenext && w < r.translate && w < r.mintranslate()) return !1; if (!r.allowslideprev && w > r.translate && w > r.maxtranslate() && (c || 0) !== n) return !1 } let b; if (b = n > c ? "next" : n < c ? "prev" : "reset", u && -w === r.translate || !u && w === r.translate) return r.updateactiveindex(n), l.autoheight && r.updateautoheight(), r.updateslidesclasses(), "slide" !== l.effect && r.settranslate(w), "reset" !== b && (r.transitionstart(s, b), r.transitionend(s, b)), !1; if (l.cssmode) { const e = r.ishorizontal(), s = u ? w : -w; if (0 === t) { const t = r.virtual && r.params.virtual.enabled; t && (r.wrapperel.style.scrollsnaptype = "none", r._immediatevirtual = !0), h[e ? "scrollleft" : "scrolltop"] = s, t && requestanimationframe((() => { r.wrapperel.style.scrollsnaptype = "", r._swiperimmediatevirtual = !1 })) } else { if (!r.support.smoothscroll) return v({ swiper: r, targetposition: s, side: e ? "left" : "top" }), !0; h.scrollto({ [e ? "left" : "top"]: s, behavior: "smooth" }) } return !0 } return r.settransition(t), r.settranslate(w), r.updateactiveindex(n), r.updateslidesclasses(), r.emit("beforetransitionstart", t, a), r.transitionstart(s, b), 0 === t ? r.transitionend(s, b) : r.animating || (r.animating = !0, r.onslidetowrappertransitionend || (r.onslidetowrappertransitionend = function(e) { r && !r.destroyed && e.target === this && (r.$wrapperel[0].removeeventlistener("transitionend", r.onslidetowrappertransitionend), r.$wrapperel[0].removeeventlistener("webkittransitionend", r.onslidetowrappertransitionend), r.onslidetowrappertransitionend = null, delete r.onslidetowrappertransitionend, r.transitionend(s, b)) }), r.$wrapperel[0].addeventlistener("transitionend", r.onslidetowrappertransitionend), r.$wrapperel[0].addeventlistener("webkittransitionend", r.onslidetowrappertransitionend)), !0 }, slidetoloop: function(e = 0, t = this.params.speed, s = !0, a) { const i = this; let r = e; return i.params.loop && (r += i.loopedslides), i.slideto(r, t, s, a) }, slidenext: function(e = this.params.speed, t = !0, s) { const a = this, { animating: i, enabled: r, params: n } = a; if (!r) return a; let l = n.slidespergroup; "auto" === n.slidesperview && 1 === n.slidespergroup && n.slidespergroupauto && (l = math.max(a.slidesperviewdynamic("current", !0), 1)); const o = a.activeindex < n.slidespergroupskip ? 1 : l; if (n.loop) { if (i && n.looppreventsslide) return !1; a.loopfix(), a._clientleft = a.$wrapperel[0].clientleft } return n.rewind && a.isend ? a.slideto(0, e, t, s) : a.slideto(a.activeindex + o, e, t, s) }, slideprev: function(e = this.params.speed, t = !0, s) { const a = this, { params: i, animating: r, snapgrid: n, slidesgrid: l, rtltranslate: o, enabled: d } = a; if (!d) return a; if (i.loop) { if (r && i.looppreventsslide) return !1; a.loopfix(), a._clientleft = a.$wrapperel[0].clientleft } function p(e) { return e < 0 ? -math.floor(math.abs(e)) : math.floor(e) } const c = p(o ? a.translate : -a.translate), u = n.map((e => p(e))); let h = n[u.indexof(c) - 1]; if (void 0 === h && i.cssmode) { let e; n.foreach(((t, s) => { c >= t && (e = s) })), void 0 !== e && (h = n[e > 0 ? e - 1 : e]) } let m = 0; return void 0 !== h && (m = l.indexof(h), m < 0 && (m = a.activeindex - 1), "auto" === i.slidesperview && 1 === i.slidespergroup && i.slidespergroupauto && (m = m - a.slidesperviewdynamic("previous", !0) + 1, m = math.max(m, 0))), i.rewind && a.isbeginning ? a.slideto(a.slides.length - 1, e, t, s) : a.slideto(m, e, t, s) }, slidereset: function(e = this.params.speed, t = !0, s) { return this.slideto(this.activeindex, e, t, s) }, slidetoclosest: function(e = this.params.speed, t = !0, s, a = .5) { const i = this; let r = i.activeindex; const n = math.min(i.params.slidespergroupskip, r), l = n + math.floor((r - n) / i.params.slidespergroup), o = i.rtltranslate ? i.translate : -i.translate; if (o >= i.snapgrid[l]) { const e = i.snapgrid[l]; o - e > (i.snapgrid[l + 1] - e) * a && (r += i.params.slidespergroup) } else { const e = i.snapgrid[l - 1]; o - e <= (i.snapgrid[l] - e) * a && (r -= i.params.slidespergroup) } return r = math.max(r, 0), r = math.min(r, i.slidesgrid.length - 1), i.slideto(r, e, t, s) }, slidetoclickedslide: function() { const e = this, { params: t, $wrapperel: s } = e, a = "auto" === t.slidesperview ? e.slidesperviewdynamic() : t.slidesperview; let i, r = e.clickedindex; if (t.loop) { if (e.animating) return; i = parseint(d(e.clickedslide).attr("data-swiper-slide-index"), 10), t.centeredslides ? r < e.loopedslides - a / 2 || r > e.slides.length - e.loopedslides + a / 2 ? (e.loopfix(), r = s.children(`.${t.slideclass}[data-swiper-slide-index="${i}"]:not(.${t.slideduplicateclass})`).eq(0).index(), c((() => { e.slideto(r) }))) : e.slideto(r) : r > e.slides.length - a ? (e.loopfix(), r = s.children(`.${t.slideclass}[data-swiper-slide-index="${i}"]:not(.${t.slideduplicateclass})`).eq(0).index(), c((() => { e.slideto(r) }))) : e.slideto(r) } else e.slideto(r) } }, loop: { loopcreate: function() { const e = this, t = a(), { params: s, $wrapperel: i } = e, r = i.children().length > 0 ? d(i.children()[0].parentnode) : i; r.children(`.${s.slideclass}.${s.slideduplicateclass}`).remove(); let n = r.children(`.${s.slideclass}`); if (s.loopfillgroupwithblank) { const e = s.slidespergroup - n.length % s.slidespergroup; if (e !== s.slidespergroup) { for (let a = 0; a < e; a += 1) { const e = d(t.createelement("div")).addclass(`${s.slideclass} ${s.slideblankclass}`); r.append(e) } n = r.children(`.${s.slideclass}`) } } "auto" !== s.slidesperview || s.loopedslides || (s.loopedslides = n.length), e.loopedslides = math.ceil(parsefloat(s.loopedslides || s.slidesperview, 10)), e.loopedslides += s.loopadditionalslides, e.loopedslides > n.length && (e.loopedslides = n.length); const l = [], o = []; n.each(((t, s) => { const a = d(t); s < e.loopedslides && o.push(t), s < n.length && s >= n.length - e.loopedslides && l.push(t), a.attr("data-swiper-slide-index", s) })); for (let e = 0; e < o.length; e += 1) r.append(d(o[e].clonenode(!0)).addclass(s.slideduplicateclass)); for (let e = l.length - 1; e >= 0; e -= 1) r.prepend(d(l[e].clonenode(!0)).addclass(s.slideduplicateclass)) }, loopfix: function() { const e = this; e.emit("beforeloopfix"); const { activeindex: t, slides: s, loopedslides: a, allowslideprev: i, allowslidenext: r, snapgrid: n, rtltranslate: l } = e; let o; e.allowslideprev = !0, e.allowslidenext = !0; const d = -n[t] - e.gettranslate(); if (t < a) { o = s.length - 3 * a + t, o += a; e.slideto(o, 0, !1, !0) && 0 !== d && e.settranslate((l ? -e.translate : e.translate) - d) } else if (t >= s.length - a) { o = -s.length + t + a, o += a; e.slideto(o, 0, !1, !0) && 0 !== d && e.settranslate((l ? -e.translate : e.translate) - d) } e.allowslideprev = i, e.allowslidenext = r, e.emit("loopfix") }, loopdestroy: function() { const { $wrapperel: e, params: t, slides: s } = this; e.children(`.${t.slideclass}.${t.slideduplicateclass},.${t.slideclass}.${t.slideblankclass}`).remove(), s.removeattr("data-swiper-slide-index") } }, grabcursor: { setgrabcursor: function(e) { const t = this; if (t.support.touch || !t.params.simulatetouch || t.params.watchoverflow && t.islocked || t.params.cssmode) return; const s = "container" === t.params.toucheventstarget ? t.el : t.wrapperel; s.style.cursor = "move", s.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", s.style.cursor = e ? "-moz-grabbin" : "-moz-grab", s.style.cursor = e ? "grabbing" : "grab" }, unsetgrabcursor: function() { const e = this; e.support.touch || e.params.watchoverflow && e.islocked || e.params.cssmode || (e["container" === e.params.toucheventstarget ? "el" : "wrapperel"].style.cursor = "") } }, events: { attachevents: function() { const e = this, t = a(), { params: s, support: i } = e; e.ontouchstart = s.bind(e), e.ontouchmove = m.bind(e), e.ontouchend = p.bind(e), s.cssmode && (e.onscroll = o.bind(e)), e.onclick = z.bind(e), i.touch && !i && (t.addeventlistener("touchstart", l), i = !0), a(e, "on") }, detachevents: function() { a(this, "off") } }, breakpoints: { setbreakpoint: function() { const e = this, { activeindex: t, initialized: s, loopedslides: a = 0, params: i, $el: r } = e, n = i.breakpoints; if (!n || n && 0 === object.keys(n).length) return; const l = e.getbreakpoint(n, e.params.breakpointsbase, e.el); if (!l || e.currentbreakpoint === l) return; const o = (l in n ? n[l] : void 0) || e.originalparams, d = d(e, i), p = d(e, o), c = i.enabled; d && !p ? (r.removeclass(`${i.containermodifierclass}grid ${i.containermodifierclass}grid-column`), e.emitcontainerclasses()) : !d && p && (r.addclass(`${i.containermodifierclass}grid`), (o.grid.fill && "column" === o.grid.fill || !o.grid.fill && "column" === i.grid.fill) && r.addclass(`${i.containermodifierclass}grid-column`), e.emitcontainerclasses()); const u = o.direction && o.direction !== i.direction, h = i.loop && (o.slidesperview !== i.slidesperview || u); u && s && e.changedirection(), f(e.params, o); const m = e.params.enabled; object.assign(e, { allowtouchmove: e.params.allowtouchmove, allowslidenext: e.params.allowslidenext, allowslideprev: e.params.allowslideprev }), c && !m ? e.disable() : !c && m && e.enable(), e.currentbreakpoint = l, e.emit("_beforebreakpoint", o), h && s && (e.loopdestroy(), e.loopcreate(), e.updateslides(), e.slideto(t - a + e.loopedslides, 0, !1)), e.emit("breakpoint", o) }, getbreakpoint: function(e, t = "window", s) { if (!e || "container" === t && !s) return; let a = !1; const i = r(), n = "window" === t ? i.innerheight : s.clientheight, l = object.keys(e).map((e => { if ("string" == typeof e && 0 === e.indexof("@")) { const t = parsefloat(e.substr(1)); return { value: n * t, point: e } } return { value: e, point: e } })); l.sort(((e, t) => parseint(e.value, 10) - parseint(t.value, 10))); for (let e = 0; e < l.length; e += 1) { const { point: r, value: n } = l[e]; "window" === t ? i.matchmedia(`(min-width: ${n}px)`).matches && (a = r) : n <= s.clientwidth && (a = r) } return a || "max" } }, checkoverflow: { checkoverflow: function() { const e = this, { islocked: t, params: s } = e, { slidesoffsetbefore: a } = s; if (a) { const t = e.slides.length - 1, s = e.slidesgrid[t] + e.slidessizesgrid[t] + 2 * a; e.islocked = e.size > s } else e.islocked = 1 === e.snapgrid.length;!0 === s.allowslidenext && (e.allowslidenext = !e.islocked), !0 === s.allowslideprev && (e.allowslideprev = !e.islocked), t && t !== e.islocked && (e.isend = !1), t !== e.islocked && e.emit(e.islocked ? "lock" : "unlock") } }, classes: { addclasses: function() { const e = this, { classnames: t, params: s, rtl: a, $el: i, device: r, support: n } = e, l = function(e, t) { const s = []; return e.foreach((e => { "object" == typeof e ? object.keys(e).foreach((a => { e[a] && s.push(t + a) })) : "string" == typeof e && s.push(t + e) })), s }(["initialized", s.direction, { "pointer-events": !n.touch }, { "free-mode": e.params.freemode && s.freemode.enabled }, { autoheight: s.autoheight }, { rtl: a }, { grid: s.grid && s.grid.rows > 1 }, { "grid-column": s.grid && s.grid.rows > 1 && "column" === s.grid.fill }, { android: r.android }, { ios: r.ios }, { "css-mode": s.cssmode }, { centered: s.cssmode && s.centeredslides }], s.containermodifierclass); t.push(...l), i.addclass([...t].join(" ")), e.emitcontainerclasses() }, removeclasses: function() { const { $el: e, classnames: t } = this; e.removeclass(t.join(" ")), this.emitcontainerclasses() } }, images: { loadimage: function(e, t, s, a, i, n) { const l = r(); let o; function p() { n && n() } d(e).parent("picture")[0] || e.complete && i ? p() : t ? (o = new l.image, o.onload = p, o.onerror = p, a && (o.sizes = a), s && (o.srcset = s), t && (o.src = t)) : p() }, preloadimages: function() { const e = this; function t() { 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"))) } e.imagestoload = e.$el.find("img"); for (let s = 0; s < e.imagestoload.length; s += 1) { const a = e.imagestoload[s]; e.loadimage(a, a.currentsrc || a.getattribute("src"), a.srcset || a.getattribute("srcset"), a.sizes || a.getattribute("sizes"), !0, t) } } } }, x = {}; class h { constructor(...e) { let t, s; if (1 === e.length && e[0].constructor && "object" === object.prototype.tostring.call(e[0]).slice(8, -1) ? s = e[0] : [t, s] = e, s || (s = {}), s = f({}, s), t && !s.el && (s.el = t), s.el && d(s.el).length > 1) { const e = []; return d(s.el).each((t => { const a = f({}, s, { el: t }); e.push(new h(a)) })), e } const a = this; a.__swiper__ = !0, a.support = y(), a.device = e({ useragent: s.useragent }), a.browser = t(), a.eventslisteners = {}, a.eventsanylisteners = [], a.modules = [...a.__modules__], s.modules && array.isarray(s.modules) && a.modules.push(...s.modules); const i = {}; a.modules.foreach((e => { e({ swiper: a, extendparams: n(s, i), on: a.on.bind(a), once: a.once.bind(a), off: a.off.bind(a), emit: a.emit.bind(a) }) })); const r = f({}, g, i); return a.params = f({}, r, x, s), a.originalparams = f({}, a.params), a.passedparams = f({}, s), a.params && a.params.on && object.keys(a.params.on).foreach((e => { a.on(e, a.params.on[e]) })), a.params && a.params.onany && a.onany(a.params.onany), a.$ = d, object.assign(a, { enabled: a.params.enabled, el: t, classnames: [], slides: d(), slidesgrid: [], snapgrid: [], slidessizesgrid: [], ishorizontal: () => "horizontal" === a.params.direction, isvertical: () => "vertical" === a.params.direction, activeindex: 0, realindex: 0, isbeginning: !0, isend: !1, translate: 0, previoustranslate: 0, progress: 0, velocity: 0, animating: !1, allowslidenext: a.params.allowslidenext, allowslideprev: a.params.allowslideprev, touchevents: function() { const e = ["touchstart", "touchmove", "touchend", "touchcancel"], t = ["pointerdown", "pointermove", "pointerup"]; return a.toucheventstouch = { start: e[0], move: e[1], end: e[2], cancel: e[3] }, a.toucheventsdesktop = { start: t[0], move: t[1], end: t[2] }, a.support.touch || !a.params.simulatetouch ? a.toucheventstouch : a.toucheventsdesktop }(), toucheventsdata: { istouched: void 0, ismoved: void 0, allowtouchcallbacks: void 0, touchstarttime: void 0, isscrolling: void 0, currenttranslate: void 0, starttranslate: void 0, allowthresholdmove: void 0, focusableelements: a.params.focusableelements, lastclicktime: u(), clicktimeout: void 0, velocities: [], allowmomentumbounce: void 0, istouchevent: void 0, startmoving: void 0 }, allowclick: !0, allowtouchmove: a.params.allowtouchmove, touches: { startx: 0, starty: 0, currentx: 0, currenty: 0, diff: 0 }, imagestoload: [], imagesloaded: 0 }), a.emit("_swiper"), a.params.init && a.init(), a } enable() { const e = this; e.enabled || (e.enabled = !0, e.params.grabcursor && e.setgrabcursor(), e.emit("enable")) } disable() { const e = this; e.enabled && (e.enabled = !1, e.params.grabcursor && e.unsetgrabcursor(), e.emit("disable")) } setprogress(e, t) { const s = this; e = math.min(math.max(e, 0), 1); const a = s.mintranslate(), i = (s.maxtranslate() - a) * e + a; s.translateto(i, void 0 === t ? 0 : t), s.updateactiveindex(), s.updateslidesclasses() } emitcontainerclasses() { const e = this; if (!e.params._emitclasses || !e.el) return; const t = e.el.classname.split(" ").filter((t => 0 === t.indexof("swiper") || 0 === t.indexof(e.params.containermodifierclass))); e.emit("_containerclasses", t.join(" ")) } getslideclasses(e) { const t = this; return e.classname.split(" ").filter((e => 0 === e.indexof("swiper-slide") || 0 === e.indexof(t.params.slideclass))).join(" ") } emitslidesclasses() { const e = this; if (!e.params._emitclasses || !e.el) return; const t = []; e.slides.each((s => { const a = e.getslideclasses(s); t.push({ slideel: s, classnames: a }), e.emit("_slideclass", s, a) })), e.emit("_slideclasses", t) } slidesperviewdynamic(e = "current", t = !1) { const { params: s, slides: a, slidesgrid: i, slidessizesgrid: r, size: n, activeindex: l } = this; let o = 1; if (s.centeredslides) { let e, t = a[l].swiperslidesize; for (let s = l + 1; s < a.length; s += 1) a[s] && !e && (t += a[s].swiperslidesize, o += 1, t > n && (e = !0)); for (let s = l - 1; s >= 0; s -= 1) a[s] && !e && (t += a[s].swiperslidesize, o += 1, t > n && (e = !0)) } else if ("current" === e) for (let e = l + 1; e < a.length; e += 1) { (t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1) } else for (let e = l - 1; e >= 0; e -= 1) { i[l] - i[e] < n && (o += 1) } return o } update() { const e = this; if (!e || e.destroyed) return; const { snapgrid: t, params: s } = e; function a() { const t = e.rtltranslate ? -1 * e.translate : e.translate, s = math.min(math.max(t, e.maxtranslate()), e.mintranslate()); e.settranslate(s), e.updateactiveindex(), e.updateslidesclasses() } let i; s.breakpoints && e.setbreakpoint(), e.updatesize(), e.updateslides(), e.updateprogress(), e.updateslidesclasses(), e.params.freemode && e.params.freemode.enabled ? (a(), e.params.autoheight && e.updateautoheight()) : (i = ("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()), s.watchoverflow && t !== e.snapgrid && e.checkoverflow(), e.emit("update") } changedirection(e, t = !0) { const s = this, a = s.params.direction; return e || (e = "horizontal" === a ? "vertical" : "horizontal"), e === a || "horizontal" !== e && "vertical" !== e || (s.$el.removeclass(`${s.params.containermodifierclass}${a}`).addclass(`${s.params.containermodifierclass}${e}`), s.emitcontainerclasses(), s.params.direction = e, s.slides.each((t => { "vertical" === e ? t.style.width = "" : t.style.height = "" })), s.emit("changedirection"), t && s.update()), s } mount(e) { const t = this; if (t.mounted) return !0; const s = d(e || t.params.el); if (!(e = s[0])) return !1; e.swiper = t; const i = () => `.${(t.params.wrapperclass||"").trim().split(" ").join(".")}`; let r = (() => { if (e && e.shadowroot && e.shadowroot.queryselector) { const t = d(e.shadowroot.queryselector(i())); return t.children = e => s.children(e), t } return s.children(i()) })(); if (0 === r.length && t.params.createelements) { const e = a().createelement("div"); r = d(e), e.classname = t.params.wrapperclass, s.append(e), s.children(`.${t.params.slideclass}`).each((e => { r.append(e) })) } return object.assign(t, { $el: s, el: e, $wrapperel: r, wrapperel: r[0], mounted: !0, rtl: "rtl" === e.dir.tolowercase() || "rtl" === s.css("direction"), rtltranslate: "horizontal" === t.params.direction && ("rtl" === e.dir.tolowercase() || "rtl" === s.css("direction")), wrongrtl: "-webkit-box" === r.css("display") }), !0 } init(e) { const t = this; if (t.initialized) return t; return !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 } destroy(e = !0, t = !0) { const s = this, { params: a, $el: i, $wrapperel: r, slides: n } = s; return void 0 === s.params || s.destroyed || (s.emit("beforedestroy"), s.initialized = !1, s.detachevents(), a.loop && s.loopdestroy(), t && (s.removeclasses(), i.removeattr("style"), r.removeattr("style"), n && n.length && n.removeclass([a.slidevisibleclass, a.slideactiveclass, a.slidenextclass, a.slideprevclass].join(" ")).removeattr("style").removeattr("data-swiper-slide-index")), s.emit("destroy"), object.keys(s.eventslisteners).foreach((e => { s.off(e) })), !1 !== e && (s.$el[0].swiper = null, function(e) { const t = e; object.keys(t).foreach((e => { try { t[e] = null } catch (e) {} try { delete t[e] } catch (e) {} })) }(s)), s.destroyed = !0), null } static extenddefaults(e) { f(x, e) } static get extendeddefaults() { return x } static get defaults() { return g } static installmodule(e) { h.prototype.__modules__ || (h.prototype.__modules__ = []); const t = h.prototype.__modules__; "function" == typeof e && t.indexof(e) < 0 && t.push(e) } static use(e) { return array.isarray(e) ? (e.foreach((e => h.installmodule(e))), h) : (h.installmodule(e), h) } } function y(e, t, s, i) { const r = a(); return e.params.createelements && object.keys(i).foreach((a => { if (!s[a] && !0 === s.auto) { let n = e.$el.children(`.${i[a]}`)[0]; n || (n = r.createelement("div"), n.classname = i[a], e.$el.append(n)), s[a] = n, t[a] = n } })), s } function w(e = "") { return `.${e.trim().replace(/([\.:!\/])/g,"\\$1").replace(/ /g,".")}` } function r(e) { const t = this, { $wrapperel: s, params: a } = t; if (a.loop && t.loopdestroy(), "object" == typeof e && "length" in e) for (let t = 0; t < e.length; t += 1) e[t] && s.append(e[t]); else s.append(e); a.loop && t.loopcreate(), a.observer || t.update() } function j(e) { const t = this, { params: s, $wrapperel: a, activeindex: i } = t; s.loop && t.loopdestroy(); let r = i + 1; if ("object" == typeof e && "length" in e) { for (let t = 0; t < e.length; t += 1) e[t] && a.prepend(e[t]); r = i + e.length } else a.prepend(e); s.loop && t.loopcreate(), s.observer || t.update(), t.slideto(r, 0, !1) } function _(e, t) { const s = this, { $wrapperel: a, params: i, activeindex: r } = s; let n = r; i.loop && (n -= s.loopedslides, s.loopdestroy(), s.slides = a.children(`.${i.slideclass}`)); const l = s.slides.length; if (e <= 0) return void s.prependslide(t); if (e >= l) return void s.appendslide(t); let o = n > e ? n + 1 : n; const d = []; for (let t = l - 1; t >= e; t -= 1) { const e = s.slides.eq(t); e.remove(), d.unshift(e) } if ("object" == typeof t && "length" in t) { for (let e = 0; e < t.length; e += 1) t[e] && a.append(t[e]); o = n > e ? n + t.length : n } else a.append(t); for (let e = 0; e < d.length; e += 1) a.append(d[e]); i.loop && s.loopcreate(), i.observer || s.update(), i.loop ? s.slideto(o + s.loopedslides, 0, !1) : s.slideto(o, 0, !1) } function v(e) { const t = this, { params: s, $wrapperel: a, activeindex: i } = t; let r = i; s.loop && (r -= t.loopedslides, t.loopdestroy(), t.slides = a.children(`.${s.slideclass}`)); let n, l = r; if ("object" == typeof e && "length" in e) { for (let s = 0; s < e.length; s += 1) n = e[s], t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1); l = math.max(l, 0) } else n = e, t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1), l = math.max(l, 0); s.loop && t.loopcreate(), s.observer || t.update(), s.loop ? t.slideto(l + t.loopedslides, 0, !1) : t.slideto(l, 0, !1) } function q() { const e = this, t = []; for (let s = 0; s < e.slides.length; s += 1) t.push(s); e.removeslide(t) } function f(e) { const { effect: t, swiper: s, on: a, settranslate: i, settransition: r, overwriteparams: n, perspective: l } = e; a("beforeinit", (() => { if (s.params.effect !== t) return; s.classnames.push(`${s.params.containermodifierclass}${t}`), l && l() && s.classnames.push(`${s.params.containermodifierclass}3d`); const e = n ? n() : {}; object.assign(s.params, e), object.assign(s.originalparams, e) })), a("settranslate", (() => { s.params.effect === t && i() })), a("settransition", ((e, a) => { s.params.effect === t && r(a) })) } function u(e, t) { return e.transformel ? t.find(e.transformel).css({ "backface-visibility": "hidden", "-webkit-backface-visibility": "hidden" }) : t } function k({ swiper: e, duration: t, transformel: s, allslides: a }) { const { slides: i, activeindex: r, $wrapperel: n } = e; if (e.params.virtualtranslate && 0 !== t) { let t, l = !1; t = a ? s ? i.find(s) : i : s ? i.eq(r).find(s) : i.eq(r), t.transitionend((() => { if (l) return; if (!e || e.destroyed) return; l = !0, e.animating = !1; const t = ["webkittransitionend", "transitionend"]; for (let e = 0; e < t.length; e += 1) n.trigger(t[e]) })) } } function z(e, t, s) { const a = "swiper-slide-shadow" + (s ? `-${s}` : ""), i = e.transformel ? t.find(e.transformel) : t; let r = i.children(`.${a}`); return r.length || (r = d(`
`),i.append(r)),r}object.keys(b).foreach((e=>{object.keys(b[e]).foreach((t=>{h.prototype[t]=b[e][t]}))})),h.use([function({swiper:e,on:t,emit:s}){const a=r();let i=null;const n=()=>{e&&!e.destroyed&&e.initialized&&(s("beforeresize"),s("resize"))},l=()=>{e&&!e.destroyed&&e.initialized&&s("orientationchange")};t("init",(()=>{e.params.resizeobserver&&void 0!==a.resizeobserver?e&&!e.destroyed&&e.initialized&&(i=new resizeobserver((t=>{const{width:s,height:a}=e;let i=s,r=a;t.foreach((({contentboxsize:t,contentrect:s,target:a})=>{a&&a!==e.el||(i=s?s.width:(t[0]||t).inlinesize,r=s?s.height:(t[0]||t).blocksize)})),i===s&&r===a||n()})),i.observe(e.el)):(a.addeventlistener("resize",n),a.addeventlistener("orientationchange",l))})),t("destroy",(()=>{i&&i.unobserve&&e.el&&(i.unobserve(e.el),i=null),a.removeeventlistener("resize",n),a.removeeventlistener("orientationchange",l)}))},function({swiper:e,extendparams:t,on:s,emit:a}){const i=[],n=r(),l=(e,t={})=>{const s=new(n.mutationobserver||n.webkitmutationobserver)((e=>{if(1===e.length)return void a("observerupdate",e[0]);const t=function(){a("observerupdate",e[0])};n.requestanimationframe?n.requestanimationframe(t):n.settimeout(t,0)}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childlist:void 0===t.childlist||t.childlist,characterdata:void 0===t.characterdata||t.characterdata}),i.push(s)};t({observer:!1,observeparents:!1,observeslidechildren:!1}),s("init",(()=>{if(e.params.observer){if(e.params.observeparents){const t=e.$el.parents();for(let e=0;e{i.foreach((e=>{e.disconnect()})),i.splice(0,i.length)}))}]);const j=[function({swiper:e,extendparams:t,on:s}){let a;function i(t,s){const a=e.params.virtual;if(a.cache&&e.virtual.cache[s])return e.virtual.cache[s];const i=a.renderslide?d(a.renderslide.call(e,t,s)):d(`
${t}
`);return i.attr("data-swiper-slide-index")||i.attr("data-swiper-slide-index",s),a.cache&&(e.virtual.cache[s]=i),i}function r(t){const{slidesperview:s,slidespergroup:a,centeredslides:r}=e.params,{addslidesbefore:n,addslidesafter:l}=e.params.virtual,{from:o,to:d,slides:p,slidesgrid:c,offset:u}=e.virtual;e.params.cssmode||e.updateactiveindex();const h=e.activeindex||0;let m,f,g;m=e.rtltranslate?"right":e.ishorizontal()?"left":"top",r?(f=math.floor(s/2)+a+l,g=math.floor(s/2)+a+n):(f=s+(a-1)+l,g=a+n);const v=math.max((h||0)-g,0),w=math.min((h||0)+f,p.length-1),b=(e.slidesgrid[v]||0)-(e.slidesgrid[0]||0);function x(){e.updateslides(),e.updateprogress(),e.updateslidesclasses(),e.lazy&&e.params.lazy.enabled&&e.lazy.load()}if(object.assign(e.virtual,{from:v,to:w,offset:b,slidesgrid:e.slidesgrid}),o===v&&d===w&&!t)return e.slidesgrid!==c&&b!==u&&e.slides.css(m,`${b}px`),void e.updateprogress();if(e.params.virtual.renderexternal)return e.params.virtual.renderexternal.call(e,{offset:b,from:v,to:w,slides:function(){const e=[];for(let t=v;t<=w;t+=1)e.push(p[t]);return e}()}),void(e.params.virtual.renderexternalupdate&&x());const y=[],e=[];if(t)e.$wrapperel.find(`.${e.params.slideclass}`).remove();else for(let t=o;t<=d;t+=1)(tw)&&e.$wrapperel.find(`.${e.params.slideclass}[data-swiper-slide-index="${t}"]`).remove();for(let e=0;e=v&&e<=w&&(void 0===d||t?e.push(e):(e>d&&e.push(e),e{e.$wrapperel.append(i(p[t],t))})),y.sort(((e,t)=>t-e)).foreach((t=>{e.$wrapperel.prepend(i(p[t],t))})),e.$wrapperel.children(".swiper-slide").css(m,`${b}px`),x()}t({virtual:{enabled:!1,slides:[],cache:!0,renderslide:null,renderexternal:null,renderexternalupdate:!0,addslidesbefore:0,addslidesafter:0}}),e.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesgrid:[]},s("beforeinit",(()=>{e.params.virtual.enabled&&(e.virtual.slides=e.params.virtual.slides,e.classnames.push(`${e.params.containermodifierclass}virtual`),e.params.watchslidesprogress=!0,e.originalparams.watchslidesprogress=!0,e.params.initialslide||r())})),s("settranslate",(()=>{e.params.virtual.enabled&&(e.params.cssmode&&!e._immediatevirtual?(cleartimeout(a),a=settimeout((()=>{r()}),100)):r())})),s("init update resize",(()=>{e.params.virtual.enabled&&e.params.cssmode&&g(e.wrapperel,"--swiper-virtual-size",`${e.virtualsize}px`)})),object.assign(e.virtual,{appendslide:function(t){if("object"==typeof t&&"length"in t)for(let s=0;s{const a=t[e],r=a.attr("data-swiper-slide-index");r&&a.attr("data-swiper-slide-index",parseint(r,10)+i),s[parseint(e,10)+i]=a})),e.virtual.cache=s}r(!0),e.slideto(a,0)},removeslide:function(t){if(null==t)return;let s=e.activeindex;if(array.isarray(t))for(let a=t.length-1;a>=0;a-=1)e.virtual.slides.splice(t[a],1),e.params.virtual.cache&&delete e.virtual.cache[t[a]],t[a]0&&0===e.$el.parents(`.${e.params.slideactiveclass}`).length)return;const a=e.$el,i=a[0].clientwidth,r=a[0].clientheight,n=l.innerwidth,o=l.innerheight,d=e.$el.offset();s&&(d.left-=e.$el[0].scrollleft);const p=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let e=0;e=0&&s[0]<=n&&s[1]>=0&&s[1]<=o){if(0===s[0]&&0===s[1])continue;t=!0}}if(!t)return}e.ishorizontal()?((d||p||c||u)&&(a.preventdefault?a.preventdefault():a.returnvalue=!1),((p||u)&&!s||(d||c)&&s)&&e.slidenext(),((d||c)&&!s||(p||u)&&s)&&e.slideprev()):((d||p||h||m)&&(a.preventdefault?a.preventdefault():a.returnvalue=!1),(p||m)&&e.slidenext(),(d||h)&&e.slideprev()),i("keypress",r)}}function p(){e.keyboard.enabled||(d(n).on("keydown",o),e.keyboard.enabled=!0)}function c(){e.keyboard.enabled&&(d(n).off("keydown",o),e.keyboard.enabled=!1)}e.keyboard={enabled:!1},t({keyboard:{enabled:!1,onlyinviewport:!0,pageupdown:!0}}),s("init",(()=>{e.params.keyboard.enabled&&p()})),s("destroy",(()=>{e.keyboard.enabled&&c()})),object.assign(e.keyboard,{enable:p,disable:c})},function({swiper:e,extendparams:t,on:s,emit:a}){const i=r();let n;t({mousewheel:{enabled:!1,releaseonedges:!1,invert:!1,forcetoaxis:!1,sensitivity:1,eventstarget:"container",thresholddelta:null,thresholdtime:null}}),e.mousewheel={enabled:!1};let l,o=u();const p=[];function h(){e.enabled&&(e.mouseentered=!0)}function m(){e.enabled&&(e.mouseentered=!1)}function f(t){return!(e.params.mousewheel.thresholddelta&&t.delta=6&&u()-o<60||(t.direction<0?e.isend&&!e.params.loop||e.animating||(e.slidenext(),a("scroll",t.raw)):e.isbeginning&&!e.params.loop||e.animating||(e.slideprev(),a("scroll",t.raw)),o=(new i.date).gettime(),!1)))}function g(t){let s=t,i=!0;if(!e.enabled)return;const r=e.params.mousewheel;e.params.cssmode&&s.preventdefault();let o=e.$el;if("container"!==e.params.mousewheel.eventstarget&&(o=d(e.params.mousewheel.eventstarget)),!e.mouseentered&&!o[0].contains(s.target)&&!r.releaseonedges)return!0;s.originalevent&&(s=s.originalevent);let h=0;const m=e.rtltranslate?-1:1,g=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheeldelta"in e&&(s=-e.wheeldelta/120),"wheeldeltay"in e&&(s=-e.wheeldeltay/120),"wheeldeltax"in e&&(t=-e.wheeldeltax/120),"axis"in e&&e.axis===e.horizontal_axis&&(t=s,s=0),a=10*t,i=10*s,"deltay"in e&&(i=e.deltay),"deltax"in e&&(a=e.deltax),e.shiftkey&&!a&&(a=i,i=0),(a||i)&&e.deltamode&&(1===e.deltamode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinx:t,spiny:s,pixelx:a,pixely:i}}(s);if(r.forcetoaxis)if(e.ishorizontal()){if(!(math.abs(g.pixelx)>math.abs(g.pixely)))return!0;h=-g.pixelx*m}else{if(!(math.abs(g.pixely)>math.abs(g.pixelx)))return!0;h=-g.pixely}else h=math.abs(g.pixelx)>math.abs(g.pixely)?-g.pixelx*m:-g.pixely;if(0===h)return!0;r.invert&&(h=-h);let v=e.gettranslate()+h*r.sensitivity;if(v>=e.mintranslate()&&(v=e.mintranslate()),v<=e.maxtranslate()&&(v=e.maxtranslate()),i=!!e.params.loop||!(v===e.mintranslate()||v===e.maxtranslate()),i&&e.params.nested&&s.stoppropagation(),e.params.freemode&&e.params.freemode.enabled){const t={time:u(),delta:math.abs(h),direction:math.sign(h)},i=l&&t.time=e.mintranslate()&&(o=e.mintranslate()),o<=e.maxtranslate()&&(o=e.maxtranslate()),e.settransition(0),e.settranslate(o),e.updateprogress(),e.updateactiveindex(),e.updateslidesclasses(),(!d&&e.isbeginning||!u&&e.isend)&&e.updateslidesclasses(),e.params.freemode.sticky){cleartimeout(n),n=void 0,p.length>=15&&p.shift();const s=p.length?p[p.length-1]:void 0,a=p[0];if(p.push(t),s&&(t.delta>s.delta||t.direction!==s.direction))p.splice(0);else if(p.length>=15&&t.time-a.time<500&&a.delta-t.delta>=1&&t.delta<=6){const s=h>0?.8:.2;l=t,p.splice(0),n=c((()=>{e.slidetoclosest(e.params.speed,!0,void 0,s)}),0)}n||(n=c((()=>{l=t,p.splice(0),e.slidetoclosest(e.params.speed,!0,void 0,.5)}),500))}if(i||a("scroll",s),e.params.autoplay&&e.params.autoplaydisableoninteraction&&e.autoplay.stop(),o===e.mintranslate()||o===e.maxtranslate())return!0}}else{const s={time:u(),delta:math.abs(h),direction:math.sign(h),raw:t};p.length>=2&&p.shift();const a=p.length?p[p.length-1]:void 0;if(p.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&f(s):f(s),function(t){const s=e.params.mousewheel;if(t.direction<0){if(e.isend&&!e.params.loop&&s.releaseonedges)return!0}else if(e.isbeginning&&!e.params.loop&&s.releaseonedges)return!0;return!1}(s))return!0}return s.preventdefault?s.preventdefault():s.returnvalue=!1,!1}function v(t){let s=e.$el;"container"!==e.params.mousewheel.eventstarget&&(s=d(e.params.mousewheel.eventstarget)),s[t]("mouseenter",h),s[t]("mouseleave",m),s[t]("wheel",g)}function w(){return e.params.cssmode?(e.wrapperel.removeeventlistener("wheel",g),!0):!e.mousewheel.enabled&&(v("on"),e.mousewheel.enabled=!0,!0)}function b(){return e.params.cssmode?(e.wrapperel.addeventlistener(event,g),!0):!!e.mousewheel.enabled&&(v("off"),e.mousewheel.enabled=!1,!0)}s("init",(()=>{!e.params.mousewheel.enabled&&e.params.cssmode&&b(),e.params.mousewheel.enabled&&w()})),s("destroy",(()=>{e.params.cssmode&&w(),e.mousewheel.enabled&&b()})),object.assign(e.mousewheel,{enable:w,disable:b})},function({swiper:e,extendparams:t,on:s,emit:a}){function i(t){let s;return t&&(s=d(t),e.params.uniquenavelements&&"string"==typeof t&&s.length>1&&1===e.$el.find(t).length&&(s=e.$el.find(t))),s}function r(t,s){const a=e.params.navigation;t&&t.length>0&&(t[s?"addclass":"removeclass"](a.disabledclass),t[0]&&"button"===t[0].tagname&&(t[0].disabled=s),e.params.watchoverflow&&e.enabled&&t[e.islocked?"addclass":"removeclass"](a.lockclass))}function n(){if(e.params.loop)return;const{$nextel:t,$prevel:s}=e.navigation;r(s,e.isbeginning&&!e.params.rewind),r(t,e.isend&&!e.params.rewind)}function l(t){t.preventdefault(),(!e.isbeginning||e.params.loop||e.params.rewind)&&e.slideprev()}function o(t){t.preventdefault(),(!e.isend||e.params.loop||e.params.rewind)&&e.slidenext()}function p(){const t=e.params.navigation;if(e.params.navigation=y(e,e.originalparams.navigation,e.params.navigation,{nextel:"swiper-button-next",prevel:"swiper-button-prev"}),!t.nextel&&!t.prevel)return;const s=i(t.nextel),a=i(t.prevel);s&&s.length>0&&s.on("click",o),a&&a.length>0&&a.on("click",l),object.assign(e.navigation,{$nextel:s,nextel:s&&s[0],$prevel:a,prevel:a&&a[0]}),e.enabled||(s&&s.addclass(t.lockclass),a&&a.addclass(t.lockclass))}function c(){const{$nextel:t,$prevel:s}=e.navigation;t&&t.length&&(t.off("click",o),t.removeclass(e.params.navigation.disabledclass)),s&&s.length&&(s.off("click",l),s.removeclass(e.params.navigation.disabledclass))}t({navigation:{nextel:null,prevel:null,hideonclick:!1,disabledclass:"swiper-button-disabled",hiddenclass:"swiper-button-hidden",lockclass:"swiper-button-lock"}}),e.navigation={nextel:null,$nextel:null,prevel:null,$prevel:null},s("init",(()=>{p(),n()})),s("toedge fromedge lock unlock",(()=>{n()})),s("destroy",(()=>{c()})),s("enable disable",(()=>{const{$nextel:t,$prevel:s}=e.navigation;t&&t[e.enabled?"removeclass":"addclass"](e.params.navigation.lockclass),s&&s[e.enabled?"removeclass":"addclass"](e.params.navigation.lockclass)})),s("click",((t,s)=>{const{$nextel:i,$prevel:r}=e.navigation,n=s.target;if(e.params.navigation.hideonclick&&!d(n).is(r)&&!d(n).is(i)){if(e.pagination&&e.params.pagination&&e.params.pagination.clickable&&(e.pagination.el===n||e.pagination.el.contains(n)))return;let t;i?t=i.hasclass(e.params.navigation.hiddenclass):r&&(t=r.hasclass(e.params.navigation.hiddenclass)),a(!0===t?"navigationshow":"navigationhide"),i&&i.toggleclass(e.params.navigation.hiddenclass),r&&r.toggleclass(e.params.navigation.hiddenclass)}})),object.assign(e.navigation,{update:n,init:p,destroy:c})},function({swiper:e,extendparams:t,on:s,emit:a}){const i="swiper-pagination";let r;t({pagination:{el:null,bulletelement:"span",clickable:!1,hideonclick:!1,renderbullet:null,renderprogressbar:null,renderfraction:null,rendercustom:null,progressbaropposite:!1,type:"bullets",dynamicbullets:!1,dynamicmainbullets:1,formatfractioncurrent:e=>e,formatfractiontotal:e=>e,bulletclass:`${i}-bullet`,bulletactiveclass:`${i}-bullet-active`,modifierclass:`${i}-`,currentclass:`${i}-current`,totalclass:`${i}-total`,hiddenclass:`${i}-hidden`,progressbarfillclass:`${i}-progressbar-fill`,progressbaroppositeclass:`${i}-progressbar-opposite`,clickableclass:`${i}-clickable`,lockclass:`${i}-lock`,horizontalclass:`${i}-horizontal`,verticalclass:`${i}-vertical`}}),e.pagination={el:null,$el:null,bullets:[]};let n=0;function l(){return!e.params.pagination.el||!e.pagination.el||!e.pagination.$el||0===e.pagination.$el.length}function o(t,s){const{bulletactiveclass:a}=e.params.pagination;t[s]().addclass(`${a}-${s}`)[s]().addclass(`${a}-${s}-${s}`)}function p(){const t=e.rtl,s=e.params.pagination;if(l())return;const i=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,p=e.pagination.$el;let c;const u=e.params.loop?math.ceil((i-2*e.loopedslides)/e.params.slidespergroup):e.snapgrid.length;if(e.params.loop?(c=math.ceil((e.activeindex-e.loopedslides)/e.params.slidespergroup),c>i-1-2*e.loopedslides&&(c-=i-2*e.loopedslides),c>u-1&&(c-=u),c<0&&"bullets"!==e.params.paginationtype&&(c=u+c)):c=void 0!==e.snapindex?e.snapindex:e.activeindex||0,"bullets"===s.type&&e.pagination.bullets&&e.pagination.bullets.length>0){const a=e.pagination.bullets;let i,l,u;if(s.dynamicbullets&&(r=a.eq(0)[e.ishorizontal()?"outerwidth":"outerheight"](!0),p.css(e.ishorizontal()?"width":"height",r*(s.dynamicmainbullets+4)+"px"),s.dynamicmainbullets>1&&void 0!==e.previousindex&&(n+=c-(e.previousindex-e.loopedslides||0),n>s.dynamicmainbullets-1?n=s.dynamicmainbullets-1:n<0&&(n=0)),i=math.max(c-n,0),l=i+(math.min(a.length,s.dynamicmainbullets)-1),u=(l+i)/2),a.removeclass(["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletactiveclass}${e}`)).join(" ")),p.length>1)a.each((e=>{const t=d(e),a=t.index();a===c&&t.addclass(s.bulletactiveclass),s.dynamicbullets&&(a>=i&&a<=l&&t.addclass(`${s.bulletactiveclass}-main`),a===i&&o(t,"prev"),a===l&&o(t,"next"))}));else{const t=a.eq(c),r=t.index();if(t.addclass(s.bulletactiveclass),s.dynamicbullets){const t=a.eq(i),n=a.eq(l);for(let e=i;e<=l;e+=1)a.eq(e).addclass(`${s.bulletactiveclass}-main`);if(e.params.loop)if(r>=a.length){for(let e=s.dynamicmainbullets;e>=0;e-=1)a.eq(a.length-e).addclass(`${s.bulletactiveclass}-main`);a.eq(a.length-s.dynamicmainbullets-1).addclass(`${s.bulletactiveclass}-prev`)}else o(t,"prev"),o(n,"next");else o(t,"prev"),o(n,"next")}}if(s.dynamicbullets){const i=math.min(a.length,s.dynamicmainbullets+4),n=(r*i-r)/2-u*r,l=t?"right":"left";a.css(e.ishorizontal()?l:"top",`${n}px`)}}if("fraction"===s.type&&(p.find(w(s.currentclass)).text(s.formatfractioncurrent(c+1)),p.find(w(s.totalclass)).text(s.formatfractiontotal(u))),"progressbar"===s.type){let t;t=s.progressbaropposite?e.ishorizontal()?"vertical":"horizontal":e.ishorizontal()?"horizontal":"vertical";const a=(c+1)/u;let i=1,r=1;"horizontal"===t?i=a:r=a,p.find(w(s.progressbarfillclass)).transform(`translate3d(0,0,0) scalex(${i}) scaley(${r})`).transition(e.params.speed)}"custom"===s.type&&s.rendercustom?(p.html(s.rendercustom(e,c+1,u)),a("paginationrender",p[0])):a("paginationupdate",p[0]),e.params.watchoverflow&&e.enabled&&p[e.islocked?"addclass":"removeclass"](s.lockclass)}function c(){const t=e.params.pagination;if(l())return;const s=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,i=e.pagination.$el;let r="";if("bullets"===t.type){let a=e.params.loop?math.ceil((s-2*e.loopedslides)/e.params.slidespergroup):e.snapgrid.length;e.params.freemode&&e.params.freemode.enabled&&!e.params.loop&&a>s&&(a=s);for(let s=0;s`;i.html(r),e.pagination.bullets=i.find(w(t.bulletclass))}"fraction"===t.type&&(r=t.renderfraction?t.renderfraction.call(e,t.currentclass,t.totalclass):` / `,i.html(r)),"progressbar"===t.type&&(r=t.renderprogressbar?t.renderprogressbar.call(e,t.progressbarfillclass):``,i.html(r)),"custom"!==t.type&&a("paginationrender",e.pagination.$el[0])}function u(){e.params.pagination=y(e,e.originalparams.pagination,e.params.pagination,{el:"swiper-pagination"});const t=e.params.pagination;if(!t.el)return;let s=d(t.el);0!==s.length&&(e.params.uniquenavelements&&"string"==typeof t.el&&s.length>1&&(s=e.$el.find(t.el),s.length>1&&(s=s.filter((t=>d(t).parents(".swiper")[0]===e.el)))),"bullets"===t.type&&t.clickable&&s.addclass(t.clickableclass),s.addclass(t.modifierclass+t.type),s.addclass(t.modifierclass+e.params.direction),"bullets"===t.type&&t.dynamicbullets&&(s.addclass(`${t.modifierclass}${t.type}-dynamic`),n=0,t.dynamicmainbullets<1&&(t.dynamicmainbullets=1)),"progressbar"===t.type&&t.progressbaropposite&&s.addclass(t.progressbaroppositeclass),t.clickable&&s.on("click",w(t.bulletclass),(function(t){t.preventdefault();let s=d(this).index()*e.params.slidespergroup;e.params.loop&&(s+=e.loopedslides),e.slideto(s)})),object.assign(e.pagination,{$el:s,el:s[0]}),e.enabled||s.addclass(t.lockclass))}function h(){const t=e.params.pagination;if(l())return;const s=e.pagination.$el;s.removeclass(t.hiddenclass),s.removeclass(t.modifierclass+t.type),s.removeclass(t.modifierclass+e.params.direction),e.pagination.bullets&&e.pagination.bullets.removeclass&&e.pagination.bullets.removeclass(t.bulletactiveclass),t.clickable&&s.off("click",w(t.bulletclass))}s("init",(()=>{u(),c(),p()})),s("activeindexchange",(()=>{(e.params.loop||void 0===e.snapindex)&&p()})),s("snapindexchange",(()=>{e.params.loop||p()})),s("slideslengthchange",(()=>{e.params.loop&&(c(),p())})),s("snapgridlengthchange",(()=>{e.params.loop||(c(),p())})),s("destroy",(()=>{h()})),s("enable disable",(()=>{const{$el:t}=e.pagination;t&&t[e.enabled?"removeclass":"addclass"](e.params.pagination.lockclass)})),s("lock unlock",(()=>{p()})),s("click",((t,s)=>{const i=s.target,{$el:r}=e.pagination;if(e.params.pagination.el&&e.params.pagination.hideonclick&&r.length>0&&!d(i).hasclass(e.params.pagination.bulletclass)){if(e.navigation&&(e.navigation.nextel&&i===e.navigation.nextel||e.navigation.prevel&&i===e.navigation.prevel))return;const t=r.hasclass(e.params.pagination.hiddenclass);a(!0===t?"paginationshow":"paginationhide"),r.toggleclass(e.params.pagination.hiddenclass)}})),object.assign(e.pagination,{render:c,update:p,init:u,destroy:h})},function({swiper:e,extendparams:t,on:s,emit:i}){const r=a();let n,l,o,p,u=!1,h=null,m=null;function f(){if(!e.params.scrollbar.el||!e.scrollbar.el)return;const{scrollbar:t,rtltranslate:s,progress:a}=e,{$dragel:i,$el:r}=t,n=e.params.scrollbar;let d=l,p=(o-l)*a;s?(p=-p,p>0?(d=l-p,p=0):-p+l>o&&(d=o+p)):p<0?(d=l+p,p=0):p+l>o&&(d=o-p),e.ishorizontal()?(i.transform(`translate3d(${p}px, 0, 0)`),i[0].style.width=`${d}px`):(i.transform(`translate3d(0px, ${p}px, 0)`),i[0].style.height=`${d}px`),n.hide&&(cleartimeout(h),r[0].style.opacity=1,h=settimeout((()=>{r[0].style.opacity=0,r.transition(400)}),1e3))}function g(){if(!e.params.scrollbar.el||!e.scrollbar.el)return;const{scrollbar:t}=e,{$dragel:s,$el:a}=t;s[0].style.width="",s[0].style.height="",o=e.ishorizontal()?a[0].offsetwidth:a[0].offsetheight,p=e.size/(e.virtualsize+e.params.slidesoffsetbefore-(e.params.centeredslides?e.snapgrid[0]:0)),l="auto"===e.params.scrollbar.dragsize?o*p:parseint(e.params.scrollbar.dragsize,10),e.ishorizontal()?s[0].style.width=`${l}px`:s[0].style.height=`${l}px`,a[0].style.display=p>=1?"none":"",e.params.scrollbar.hide&&(a[0].style.opacity=0),e.params.watchoverflow&&e.enabled&&t.$el[e.islocked?"addclass":"removeclass"](e.params.scrollbar.lockclass)}function v(t){return e.ishorizontal()?"touchstart"===t.type||"touchmove"===t.type?t.targettouches[0].clientx:t.clientx:"touchstart"===t.type||"touchmove"===t.type?t.targettouches[0].clienty:t.clienty}function w(t){const{scrollbar:s,rtltranslate:a}=e,{$el:i}=s;let r;r=(v(t)-i.offset()[e.ishorizontal()?"left":"top"]-(null!==n?n:l/2))/(o-l),r=math.max(math.min(r,1),0),a&&(r=1-r);const d=e.mintranslate()+(e.maxtranslate()-e.mintranslate())*r;e.updateprogress(d),e.settranslate(d),e.updateactiveindex(),e.updateslidesclasses()}function b(t){const s=e.params.scrollbar,{scrollbar:a,$wrapperel:r}=e,{$el:l,$dragel:o}=a;u=!0,n=t.target===o[0]||t.target===o?v(t)-t.target.getboundingclientrect()[e.ishorizontal()?"left":"top"]:null,t.preventdefault(),t.stoppropagation(),r.transition(100),o.transition(100),w(t),cleartimeout(m),l.transition(0),s.hide&&l.css("opacity",1),e.params.cssmode&&e.$wrapperel.css("scroll-snap-type","none"),i("scrollbardragstart",t)}function x(t){const{scrollbar:s,$wrapperel:a}=e,{$el:r,$dragel:n}=s;u&&(t.preventdefault?t.preventdefault():t.returnvalue=!1,w(t),a.transition(0),r.transition(0),n.transition(0),i("scrollbardragmove",t))}function y(t){const s=e.params.scrollbar,{scrollbar:a,$wrapperel:r}=e,{$el:n}=a;u&&(u=!1,e.params.cssmode&&(e.$wrapperel.css("scroll-snap-type",""),r.transition("")),s.hide&&(cleartimeout(m),m=c((()=>{n.css("opacity",0),n.transition(400)}),1e3)),i("scrollbardragend",t),s.snaponrelease&&e.slidetoclosest())}function e(t){const{scrollbar:s,toucheventstouch:a,toucheventsdesktop:i,params:n,support:l}=e,o=s.$el[0],d=!(!l.passivelistener||!n.passivelisteners)&&{passive:!1,capture:!1},p=!(!l.passivelistener||!n.passivelisteners)&&{passive:!0,capture:!1};if(!o)return;const c="on"===t?"addeventlistener":"removeeventlistener";l.touch?(o[c](a.start,b,d),o[c](a.move,x,d),o[c](a.end,y,p)):(o[c](i.start,b,d),r[c](i.move,x,d),r[c](i.end,y,p))}function t(){const{scrollbar:t,$el:s}=e;e.params.scrollbar=y(e,e.originalparams.scrollbar,e.params.scrollbar,{el:"swiper-scrollbar"});const a=e.params.scrollbar;if(!a.el)return;let i=d(a.el);e.params.uniquenavelements&&"string"==typeof a.el&&i.length>1&&1===s.find(a.el).length&&(i=s.find(a.el));let r=i.find(`.${e.params.scrollbar.dragclass}`);0===r.length&&(r=d(`
`),i.append(r)),object.assign(t,{$el:i,el:i[0],$dragel:r,dragel:r[0]}),a.draggable&&e.params.scrollbar.el&&e("on"),i&&i[e.enabled?"removeclass":"addclass"](e.params.scrollbar.lockclass)}function c(){e.params.scrollbar.el&&e("off")}t({scrollbar:{el:null,dragsize:"auto",hide:!1,draggable:!1,snaponrelease:!0,lockclass:"swiper-scrollbar-lock",dragclass:"swiper-scrollbar-drag"}}),e.scrollbar={el:null,dragel:null,$el:null,$dragel:null},s("init",(()=>{t(),g(),f()})),s("update resize observerupdate lock unlock",(()=>{g()})),s("settranslate",(()=>{f()})),s("settransition",((t,s)=>{!function(t){e.params.scrollbar.el&&e.scrollbar.el&&e.scrollbar.$dragel.transition(t)}(s)})),s("enable disable",(()=>{const{$el:t}=e.scrollbar;t&&t[e.enabled?"removeclass":"addclass"](e.params.scrollbar.lockclass)})),s("destroy",(()=>{c()})),object.assign(e.scrollbar,{updatesize:g,settranslate:f,init:t,destroy:c})},function({swiper:e,extendparams:t,on:s}){t({parallax:{enabled:!1}});const a=(t,s)=>{const{rtl:a}=e,i=d(t),r=a?-1:1,n=i.attr("data-swiper-parallax")||"0";let l=i.attr("data-swiper-parallax-x"),o=i.attr("data-swiper-parallax-y");const p=i.attr("data-swiper-parallax-scale"),c=i.attr("data-swiper-parallax-opacity");if(l||o?(l=l||"0",o=o||"0"):e.ishorizontal()?(l=n,o="0"):(o=n,l="0"),l=l.indexof("%")>=0?parseint(l,10)*s*r+"%":l*s*r+"px",o=o.indexof("%")>=0?parseint(o,10)*s+"%":o*s+"px",null!=c){const e=c-(c-1)*(1-math.abs(s));i[0].style.opacity=e}if(null==p)i.transform(`translate3d(${l}, ${o}, 0px)`);else{const e=p-(p-1)*(1-math.abs(s));i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`)}},i=()=>{const{$el:t,slides:s,progress:i,snapgrid:r}=e;t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{a(e,i)})),s.each(((t,s)=>{let n=t.progress;e.params.slidespergroup>1&&"auto"!==e.params.slidesperview&&(n+=math.ceil(s/2)-i*(r.length-1)),n=math.min(math.max(n,-1),1),d(t).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{a(e,n)}))}))};s("beforeinit",(()=>{e.params.parallax.enabled&&(e.params.watchslidesprogress=!0,e.originalparams.watchslidesprogress=!0)})),s("init",(()=>{e.params.parallax.enabled&&i()})),s("settranslate",(()=>{e.params.parallax.enabled&&i()})),s("settransition",((t,s)=>{e.params.parallax.enabled&&((t=e.params.speed)=>{const{$el:s}=e;s.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{const s=d(e);let a=parseint(s.attr("data-swiper-parallax-duration"),10)||t;0===t&&(a=0),s.transition(a)}))})(s)}))},function({swiper:e,extendparams:t,on:s,emit:a}){const i=r();t({zoom:{enabled:!1,maxratio:3,minratio:1,toggle:!0,containerclass:"swiper-zoom-container",zoomedslideclass:"swiper-slide-zoomed"}}),e.zoom={enabled:!1};let n,l,o,p=1,c=!1;const u={$slideel:void 0,slidewidth:void 0,slideheight:void 0,$imageel:void 0,$imagewrapel:void 0,maxratio:3},m={istouched:void 0,ismoved:void 0,currentx:void 0,currenty:void 0,minx:void 0,miny:void 0,maxx:void 0,maxy:void 0,width:void 0,height:void 0,startx:void 0,starty:void 0,touchesstart:{},touchescurrent:{}},f={x:void 0,y:void 0,prevpositionx:void 0,prevpositiony:void 0,prevtime:void 0};let g=1;function v(e){if(e.targettouches.length<2)return 1;const t=e.targettouches[0].pagex,s=e.targettouches[0].pagey,a=e.targettouches[1].pagex,i=e.targettouches[1].pagey;return math.sqrt((a-t)**2+(i-s)**2)}function w(t){const s=e.support,a=e.params.zoom;if(l=!1,o=!1,!s.gestures){if("touchstart"!==t.type||"touchstart"===t.type&&t.targettouches.length<2)return;l=!0,u.scalestart=v(t)}u.$slideel&&u.$slideel.length||(u.$slideel=d(t.target).closest(`.${e.params.slideclass}`),0===u.$slideel.length&&(u.$slideel=e.slides.eq(e.activeindex)),u.$imageel=u.$slideel.find(`.${a.containerclass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),u.$imagewrapel=u.$imageel.parent(`.${a.containerclass}`),u.maxratio=u.$imagewrapel.attr("data-swiper-zoom")||a.maxratio,0!==u.$imagewrapel.length)?(u.$imageel&&u.$imageel.transition(0),c=!0):u.$imageel=void 0}function b(t){const s=e.support,a=e.params.zoom,i=e.zoom;if(!s.gestures){if("touchmove"!==t.type||"touchmove"===t.type&&t.targettouches.length<2)return;o=!0,u.scalemove=v(t)}u.$imageel&&0!==u.$imageel.length?(s.gestures?i.scale=t.scale*p:i.scale=u.scalemove/u.scalestart*p,i.scale>u.maxratio&&(i.scale=u.maxratio-1+(i.scale-u.maxratio+1)**.5),i.scalem.touchesstart.x))return void(m.istouched=!1);if(!e.ishorizontal()&&(math.floor(m.miny)===math.floor(m.starty)&&m.touchescurrent.ym.touchesstart.y))return void(m.istouched=!1)}t.cancelable&&t.preventdefault(),t.stoppropagation(),m.ismoved=!0,m.currentx=m.touchescurrent.x-m.touchesstart.x+m.startx,m.currenty=m.touchescurrent.y-m.touchesstart.y+m.starty,m.currentxm.maxx&&(m.currentx=m.maxx-1+(m.currentx-m.maxx+1)**.8),m.currentym.maxy&&(m.currenty=m.maxy-1+(m.currenty-m.maxy+1)**.8),f.prevpositionx||(f.prevpositionx=m.touchescurrent.x),f.prevpositiony||(f.prevpositiony=m.touchescurrent.y),f.prevtime||(f.prevtime=date.now()),f.x=(m.touchescurrent.x-f.prevpositionx)/(date.now()-f.prevtime)/2,f.y=(m.touchescurrent.y-f.prevpositiony)/(date.now()-f.prevtime)/2,math.abs(m.touchescurrent.x-f.prevpositionx)<2&&(f.x=0),math.abs(m.touchescurrent.y-f.prevpositiony)<2&&(f.y=0),f.prevpositionx=m.touchescurrent.x,f.prevpositiony=m.touchescurrent.y,f.prevtime=date.now(),u.$imagewrapel.transform(`translate3d(${m.currentx}px, ${m.currenty}px,0)`)}}function e(){const t=e.zoom;u.$slideel&&e.previousindex!==e.activeindex&&(u.$imageel&&u.$imageel.transform("translate3d(0,0,0) scale(1)"),u.$imagewrapel&&u.$imagewrapel.transform("translate3d(0,0,0)"),t.scale=1,p=1,u.$slideel=void 0,u.$imageel=void 0,u.$imagewrapel=void 0)}function t(t){const s=e.zoom,a=e.params.zoom;if(u.$slideel||(t&&t.target&&(u.$slideel=d(t.target).closest(`.${e.params.slideclass}`)),u.$slideel||(e.params.virtual&&e.params.virtual.enabled&&e.virtual?u.$slideel=e.$wrapperel.children(`.${e.params.slideactiveclass}`):u.$slideel=e.slides.eq(e.activeindex)),u.$imageel=u.$slideel.find(`.${a.containerclass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),u.$imagewrapel=u.$imageel.parent(`.${a.containerclass}`)),!u.$imageel||0===u.$imageel.length||!u.$imagewrapel||0===u.$imagewrapel.length)return;let r,n,l,o,c,h,f,g,v,w,b,x,y,e,t,c,$,s;e.params.cssmode&&(e.wrapperel.style.overflow="hidden",e.wrapperel.style.touchaction="none"),u.$slideel.addclass(`${a.zoomedslideclass}`),void 0===m.touchesstart.x&&t?(r="touchend"===t.type?t.changedtouches[0].pagex:t.pagex,n="touchend"===t.type?t.changedtouches[0].pagey:t.pagey):(r=m.touchesstart.x,n=m.touchesstart.y),s.scale=u.$imagewrapel.attr("data-swiper-zoom")||a.maxratio,p=u.$imagewrapel.attr("data-swiper-zoom")||a.maxratio,t?($=u.$slideel[0].offsetwidth,s=u.$slideel[0].offsetheight,l=u.$slideel.offset().left+i.scrollx,o=u.$slideel.offset().top+i.scrolly,c=l+$/2-r,h=o+s/2-n,v=u.$imageel[0].offsetwidth,w=u.$imageel[0].offsetheight,b=v*s.scale,x=w*s.scale,y=math.min($/2-b/2,0),e=math.min(s/2-x/2,0),t=-y,c=-e,f=c*s.scale,g=h*s.scale,ft&&(f=t),gc&&(g=c)):(f=0,g=0),u.$imagewrapel.transition(300).transform(`translate3d(${f}px, ${g}px,0)`),u.$imageel.transition(300).transform(`translate3d(0,0,0) scale(${s.scale})`)}function c(){const t=e.zoom,s=e.params.zoom;u.$slideel||(e.params.virtual&&e.params.virtual.enabled&&e.virtual?u.$slideel=e.$wrapperel.children(`.${e.params.slideactiveclass}`):u.$slideel=e.slides.eq(e.activeindex),u.$imageel=u.$slideel.find(`.${s.containerclass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),u.$imagewrapel=u.$imageel.parent(`.${s.containerclass}`)),u.$imageel&&0!==u.$imageel.length&&u.$imagewrapel&&0!==u.$imagewrapel.length&&(e.params.cssmode&&(e.wrapperel.style.overflow="",e.wrapperel.style.touchaction=""),t.scale=1,p=1,u.$imagewrapel.transition(300).transform("translate3d(0,0,0)"),u.$imageel.transition(300).transform("translate3d(0,0,0) scale(1)"),u.$slideel.removeclass(`${s.zoomedslideclass}`),u.$slideel=void 0)}function $(t){const s=e.zoom;s.scale&&1!==s.scale?c():t(t)}function s(){const t=e.support;return{passivelistener:!("touchstart"!==e.touchevents.start||!t.passivelistener||!e.params.passivelisteners)&&{passive:!0,capture:!1},activelistenerwithcapture:!t.passivelistener||{passive:!1,capture:!0}}}function m(){return`.${e.params.slideclass}`}function p(t){const{passivelistener:s}=s(),a=m();e.$wrapperel[t]("gesturestart",a,w,s),e.$wrapperel[t]("gesturechange",a,b,s),e.$wrapperel[t]("gestureend",a,x,s)}function k(){n||(n=!0,p("on"))}function z(){n&&(n=!1,p("off"))}function o(){const t=e.zoom;if(t.enabled)return;t.enabled=!0;const s=e.support,{passivelistener:a,activelistenerwithcapture:i}=s(),r=m();s.gestures?(e.$wrapperel.on(e.touchevents.start,k,a),e.$wrapperel.on(e.touchevents.end,z,a)):"touchstart"===e.touchevents.start&&(e.$wrapperel.on(e.touchevents.start,r,w,a),e.$wrapperel.on(e.touchevents.move,r,b,i),e.$wrapperel.on(e.touchevents.end,r,x,a),e.touchevents.cancel&&e.$wrapperel.on(e.touchevents.cancel,r,x,a)),e.$wrapperel.on(e.touchevents.move,`.${e.params.zoom.containerclass}`,y,i)}function i(){const t=e.zoom;if(!t.enabled)return;const s=e.support;t.enabled=!1;const{passivelistener:a,activelistenerwithcapture:i}=s(),r=m();s.gestures?(e.$wrapperel.off(e.touchevents.start,k,a),e.$wrapperel.off(e.touchevents.end,z,a)):"touchstart"===e.touchevents.start&&(e.$wrapperel.off(e.touchevents.start,r,w,a),e.$wrapperel.off(e.touchevents.move,r,b,i),e.$wrapperel.off(e.touchevents.end,r,x,a),e.touchevents.cancel&&e.$wrapperel.off(e.touchevents.cancel,r,x,a)),e.$wrapperel.off(e.touchevents.move,`.${e.params.zoom.containerclass}`,y,i)}object.defineproperty(e.zoom,"scale",{get:()=>g,set(e){if(g!==e){const t=u.$imageel?u.$imageel[0]:void 0,s=u.$slideel?u.$slideel[0]:void 0;a("zoomchange",e,t,s)}g=e}}),s("init",(()=>{e.params.zoom.enabled&&o()})),s("destroy",(()=>{i()})),s("touchstart",((t,s)=>{e.zoom.enabled&&function(t){const s=e.device;u.$imageel&&0!==u.$imageel.length&&(m.istouched||(s.android&&t.cancelable&&t.preventdefault(),m.istouched=!0,m.touchesstart.x="touchstart"===t.type?t.targettouches[0].pagex:t.pagex,m.touchesstart.y="touchstart"===t.type?t.targettouches[0].pagey:t.pagey))}(s)})),s("touchend",((t,s)=>{e.zoom.enabled&&function(){const t=e.zoom;if(!u.$imageel||0===u.$imageel.length)return;if(!m.istouched||!m.ismoved)return m.istouched=!1,void(m.ismoved=!1);m.istouched=!1,m.ismoved=!1;let s=300,a=300;const i=f.x*s,r=m.currentx+i,n=f.y*a,l=m.currenty+n;0!==f.x&&(s=math.abs((r-m.currentx)/f.x)),0!==f.y&&(a=math.abs((l-m.currenty)/f.y));const o=math.max(s,a);m.currentx=r,m.currenty=l;const d=m.width*t.scale,p=m.height*t.scale;m.minx=math.min(u.slidewidth/2-d/2,0),m.maxx=-m.minx,m.miny=math.min(u.slideheight/2-p/2,0),m.maxy=-m.miny,m.currentx=math.max(math.min(m.currentx,m.maxx),m.minx),m.currenty=math.max(math.min(m.currenty,m.maxy),m.miny),u.$imagewrapel.transition(o).transform(`translate3d(${m.currentx}px, ${m.currenty}px,0)`)}()})),s("doubletap",((t,s)=>{!e.animating&&e.params.zoom.enabled&&e.zoom.enabled&&e.params.zoom.toggle&&$(s)})),s("transitionend",(()=>{e.zoom.enabled&&e.params.zoom.enabled&&e()})),s("slidechange",(()=>{e.zoom.enabled&&e.params.zoom.enabled&&e.params.cssmode&&e()})),object.assign(e.zoom,{enable:o,disable:i,in:t,out:c,toggle:$})},function({swiper:e,extendparams:t,on:s,emit:a}){t({lazy:{checkinview:!1,enabled:!1,loadprevnext:!1,loadprevnextamount:1,loadontransitionstart:!1,scrollingelement:"",elementclass:"swiper-lazy",loadingclass:"swiper-lazy-loading",loadedclass:"swiper-lazy-loaded",preloaderclass:"swiper-lazy-preloader"}}),e.lazy={};let i=!1,n=!1;function l(t,s=!0){const i=e.params.lazy;if(void 0===t)return;if(0===e.slides.length)return;const r=e.virtual&&e.params.virtual.enabled?e.$wrapperel.children(`.${e.params.slideclass}[data-swiper-slide-index="${t}"]`):e.slides.eq(t),n=r.find(`.${i.elementclass}:not(.${i.loadedclass}):not(.${i.loadingclass})`);!r.hasclass(i.elementclass)||r.hasclass(i.loadedclass)||r.hasclass(i.loadingclass)||n.push(r[0]),0!==n.length&&n.each((t=>{const n=d(t);n.addclass(i.loadingclass);const o=n.attr("data-background"),p=n.attr("data-src"),c=n.attr("data-srcset"),u=n.attr("data-sizes"),h=n.parent("picture");e.loadimage(n[0],p||o,c,u,!1,(()=>{if(null!=e&&e&&(!e||e.params)&&!e.destroyed){if(o?(n.css("background-image",`url("${o}")`),n.removeattr("data-background")):(c&&(n.attr("srcset",c),n.removeattr("data-srcset")),u&&(n.attr("sizes",u),n.removeattr("data-sizes")),h.length&&h.children("source").each((e=>{const t=d(e);t.attr("data-srcset")&&(t.attr("srcset",t.attr("data-srcset")),t.removeattr("data-srcset"))})),p&&(n.attr("src",p),n.removeattr("data-src"))),n.addclass(i.loadedclass).removeclass(i.loadingclass),r.find(`.${i.preloaderclass}`).remove(),e.params.loop&&s){const t=r.attr("data-swiper-slide-index");if(r.hasclass(e.params.slideduplicateclass)){l(e.$wrapperel.children(`[data-swiper-slide-index="${t}"]:not(.${e.params.slideduplicateclass})`).index(),!1)}else{l(e.$wrapperel.children(`.${e.params.slideduplicateclass}[data-swiper-slide-index="${t}"]`).index(),!1)}}a("lazyimageready",r[0],n[0]),e.params.autoheight&&e.updateautoheight()}})),a("lazyimageload",r[0],n[0])}))}function o(){const{$wrapperel:t,params:s,slides:a,activeindex:i}=e,r=e.virtual&&s.virtual.enabled,o=s.lazy;let p=s.slidesperview;function c(e){if(r){if(t.children(`.${s.slideclass}[data-swiper-slide-index="${e}"]`).length)return!0}else if(a[e])return!0;return!1}function u(e){return r?d(e).attr("data-swiper-slide-index"):d(e).index()}if("auto"===p&&(p=0),n||(n=!0),e.params.watchslidesprogress)t.children(`.${s.slidevisibleclass}`).each((e=>{l(r?d(e).attr("data-swiper-slide-index"):d(e).index())}));else if(p>1)for(let e=i;e1||o.loadprevnextamount&&o.loadprevnextamount>1){const e=o.loadprevnextamount,t=p,s=math.min(i+t+math.max(e,t),a.length),r=math.max(i-math.max(t,e),0);for(let e=i+p;e0&&l(u(e));const a=t.children(`.${s.slideprevclass}`);a.length>0&&l(u(a))}}function p(){const t=r();if(!e||e.destroyed)return;const s=e.params.lazy.scrollingelement?d(e.params.lazy.scrollingelement):d(t),a=s[0]===t,n=a?t.innerwidth:s[0].offsetwidth,l=a?t.innerheight:s[0].offsetheight,c=e.$el.offset(),{rtltranslate:u}=e;let h=!1;u&&(c.left-=e.$el[0].scrollleft);const m=[[c.left,c.top],[c.left+e.width,c.top],[c.left,c.top+e.height],[c.left+e.width,c.top+e.height]];for(let e=0;e=0&&t[0]<=n&&t[1]>=0&&t[1]<=l){if(0===t[0]&&0===t[1])continue;h=!0}}const f=!("touchstart"!==e.touchevents.start||!e.support.passivelistener||!e.params.passivelisteners)&&{passive:!0,capture:!1};h?(o(),s.off("scroll",p,f)):i||(i=!0,s.on("scroll",p,f))}s("beforeinit",(()=>{e.params.lazy.enabled&&e.params.preloadimages&&(e.params.preloadimages=!1)})),s("init",(()=>{e.params.lazy.enabled&&(e.params.lazy.checkinview?p():o())})),s("scroll",(()=>{e.params.freemode&&e.params.freemode.enabled&&!e.params.freemode.sticky&&o()})),s("scrollbardragmove resize _freemodenomomentumrelease",(()=>{e.params.lazy.enabled&&(e.params.lazy.checkinview?p():o())})),s("transitionstart",(()=>{e.params.lazy.enabled&&(e.params.lazy.loadontransitionstart||!e.params.lazy.loadontransitionstart&&!n)&&(e.params.lazy.checkinview?p():o())})),s("transitionend",(()=>{e.params.lazy.enabled&&!e.params.lazy.loadontransitionstart&&(e.params.lazy.checkinview?p():o())})),s("slidechange",(()=>{const{lazy:t,cssmode:s,watchslidesprogress:a,touchreleaseonedges:i,resistanceratio:r}=e.params;t.enabled&&(s||a&&(i||0===r))&&o()})),object.assign(e.lazy,{load:o,loadinslide:l})},function({swiper:e,extendparams:t,on:s}){function a(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastindex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function i(){e.controller.control&&e.controller.spline&&(e.controller.spline=void 0,delete e.controller.spline)}t({controller:{control:void 0,inverse:!1,by:"slide"}}),e.controller={control:void 0},s("beforeinit",(()=>{e.controller.control=e.params.controller.control})),s("update",(()=>{i()})),s("resize",(()=>{i()})),s("observerupdate",(()=>{i()})),s("settranslate",((t,s,a)=>{e.controller.control&&e.controller.settranslate(s,a)})),s("settransition",((t,s,a)=>{e.controller.control&&e.controller.settransition(s,a)})),object.assign(e.controller,{settranslate:function(t,s){const i=e.controller.control;let r,n;const l=e.constructor;function o(t){const s=e.rtltranslate?-e.translate:e.translate;"slide"===e.params.controller.by&&(!function(t){e.controller.spline||(e.controller.spline=e.params.loop?new a(e.slidesgrid,t.slidesgrid):new a(e.snapgrid,t.snapgrid))}(t),n=-e.controller.spline.interpolate(-s)),n&&"container"!==e.params.controller.by||(r=(t.maxtranslate()-t.mintranslate())/(e.maxtranslate()-e.mintranslate()),n=(s-e.mintranslate())*r+t.mintranslate()),e.params.controller.inverse&&(n=t.maxtranslate()-n),t.updateprogress(n),t.settranslate(n,e),t.updateactiveindex(),t.updateslidesclasses()}if(array.isarray(i))for(let e=0;e{s.updateautoheight()})),s.$wrapperel.transitionend((()=>{i&&(s.params.loop&&"slide"===e.params.controller.by&&s.loopfix(),s.transitionend())})))}if(array.isarray(i))for(r=0;r0&&(e.isbeginning?(c(s),n(s)):(u(s),r(s))),t&&t.length>0&&(e.isend?(c(t),n(t)):(u(t),r(t)))}function f(){return e.pagination&&e.pagination.bullets&&e.pagination.bullets.length}function g(){return f()&&e.params.pagination.clickable}const v=(e,t,s)=>{r(e),"button"!==e[0].tagname&&(l(e,"button"),e.on("keydown",h)),p(e,s),function(e,t){e.attr("aria-controls",t)}(e,t)};function w(){const t=e.params.a11y;e.$el.append(a);const s=e.$el;t.containerroledescriptionmessage&&o(s,t.containerroledescriptionmessage),t.containermessage&&p(s,t.containermessage);const i=e.$wrapperel,r=i.attr("id")||`swiper-wrapper-${function(e=16){return"x".repeat(e).replace(/x/g,(()=>math.round(16*math.random()).tostring(16)))}(16)}`,n=e.params.autoplay&&e.params.autoplay.enabled?"off":"polite";var c;c=r,i.attr("id",c),function(e,t){e.attr("aria-live",t)}(i,n),t.itemroledescriptionmessage&&o(d(e.slides),t.itemroledescriptionmessage),l(d(e.slides),t.sliderole);const u=e.params.loop?e.slides.filter((t=>!t.classlist.contains(e.params.slideduplicateclass))).length:e.slides.length;let m,f;e.slides.each(((s,a)=>{const i=d(s),r=e.params.loop?parseint(i.attr("data-swiper-slide-index"),10):a;p(i,t.slidelabelmessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slideslength\}\}/,u))})),e.navigation&&e.navigation.$nextel&&(m=e.navigation.$nextel),e.navigation&&e.navigation.$prevel&&(f=e.navigation.$prevel),m&&m.length&&v(m,r,t.nextslidemessage),f&&f.length&&v(f,r,t.prevslidemessage),g()&&e.pagination.$el.on("keydown",w(e.params.pagination.bulletclass),h)}s("beforeinit",(()=>{a=d(``)})),s("afterinit",(()=>{e.params.a11y.enabled&&(w(),m())})),s("toedge",(()=>{e.params.a11y.enabled&&m()})),s("fromedge",(()=>{e.params.a11y.enabled&&m()})),s("paginationupdate",(()=>{e.params.a11y.enabled&&function(){const t=e.params.a11y;f()&&e.pagination.bullets.each((s=>{const a=d(s);e.params.pagination.clickable&&(r(a),e.params.pagination.renderbullet||(l(a,"button"),p(a,t.paginationbulletmessage.replace(/\{\{index\}\}/,a.index()+1)))),a.is(`.${e.params.pagination.bulletactiveclass}`)?a.attr("aria-current","true"):a.removeattr("aria-current")}))}()})),s("destroy",(()=>{e.params.a11y.enabled&&function(){let t,s;a&&a.length>0&&a.remove(),e.navigation&&e.navigation.$nextel&&(t=e.navigation.$nextel),e.navigation&&e.navigation.$prevel&&(s=e.navigation.$prevel),t&&t.off("keydown",h),s&&s.off("keydown",h),g()&&e.pagination.$el.off("keydown",w(e.params.pagination.bulletclass),h)}()}))},function({swiper:e,extendparams:t,on:s}){t({history:{enabled:!1,root:"",replacestate:!1,key:"slides"}});let a=!1,i={};const n=e=>e.tostring().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),l=e=>{const t=r();let s;s=e?new url(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},o=(t,s)=>{const i=r();if(!a||!e.params.history.enabled)return;let l;l=e.params.url?new url(e.params.url):i.location;const o=e.slides.eq(s);let d=n(o.attr("data-history"));if(e.params.history.root.length>0){let s=e.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${t}/${d}`}else l.pathname.includes(t)||(d=`${t}/${d}`);const p=i.history.state;p&&p.value===d||(e.params.history.replacestate?i.history.replacestate({value:d},null,d):i.history.pushstate({value:d},null,d))},d=(t,s,a)=>{if(s)for(let i=0,r=e.slides.length;i{i=l(e.params.url),d(e.params.speed,e.paths.value,!1)};s("init",(()=>{e.params.history.enabled&&(()=>{const t=r();if(e.params.history){if(!t.history||!t.history.pushstate)return e.params.history.enabled=!1,void(e.params.hashnavigation.enabled=!0);a=!0,i=l(e.params.url),(i.key||i.value)&&(d(0,i.value,e.params.runcallbacksoninit),e.params.history.replacestate||t.addeventlistener("popstate",p))}})()})),s("destroy",(()=>{e.params.history.enabled&&(()=>{const t=r();e.params.history.replacestate||t.removeeventlistener("popstate",p)})()})),s("transitionend _freemodenomomentumrelease",(()=>{a&&o(e.params.history.key,e.activeindex)})),s("slidechange",(()=>{a&&e.params.cssmode&&o(e.params.history.key,e.activeindex)}))},function({swiper:e,extendparams:t,emit:s,on:i}){let n=!1;const l=a(),o=r();t({hashnavigation:{enabled:!1,replacestate:!1,watchstate:!1}});const p=()=>{s("hashchange");const t=l.location.hash.replace("#","");if(t!==e.slides.eq(e.activeindex).attr("data-hash")){const s=e.$wrapperel.children(`.${e.params.slideclass}[data-hash="${t}"]`).index();if(void 0===s)return;e.slideto(s)}},c=()=>{if(n&&e.params.hashnavigation.enabled)if(e.params.hashnavigation.replacestate&&o.history&&o.history.replacestate)o.history.replacestate(null,null,`#${e.slides.eq(e.activeindex).attr("data-hash")}`||""),s("hashset");else{const t=e.slides.eq(e.activeindex),a=t.attr("data-hash")||t.attr("data-history");l.location.hash=a||"",s("hashset")}};i("init",(()=>{e.params.hashnavigation.enabled&&(()=>{if(!e.params.hashnavigation.enabled||e.params.history&&e.params.history.enabled)return;n=!0;const t=l.location.hash.replace("#","");if(t){const s=0;for(let a=0,i=e.slides.length;a{e.params.hashnavigation.enabled&&e.params.hashnavigation.watchstate&&d(o).off("hashchange",p)})),i("transitionend _freemodenomomentumrelease",(()=>{n&&c()})),i("slidechange",(()=>{n&&e.params.cssmode&&c()}))},function({swiper:e,extendparams:t,on:s,emit:i}){let r;function n(){const t=e.slides.eq(e.activeindex);let s=e.params.autoplay.delay;t.attr("data-swiper-autoplay")&&(s=t.attr("data-swiper-autoplay")||e.params.autoplay.delay),cleartimeout(r),r=c((()=>{let t;e.params.autoplay.reversedirection?e.params.loop?(e.loopfix(),t=e.slideprev(e.params.speed,!0,!0),i("autoplay")):e.isbeginning?e.params.autoplay.stoponlastslide?o():(t=e.slideto(e.slides.length-1,e.params.speed,!0,!0),i("autoplay")):(t=e.slideprev(e.params.speed,!0,!0),i("autoplay")):e.params.loop?(e.loopfix(),t=e.slidenext(e.params.speed,!0,!0),i("autoplay")):e.isend?e.params.autoplay.stoponlastslide?o():(t=e.slideto(0,e.params.speed,!0,!0),i("autoplay")):(t=e.slidenext(e.params.speed,!0,!0),i("autoplay")),(e.params.cssmode&&e.autoplay.running||!1===t)&&n()}),s)}function l(){return void 0===r&&(!e.autoplay.running&&(e.autoplay.running=!0,i("autoplaystart"),n(),!0))}function o(){return!!e.autoplay.running&&(void 0!==r&&(r&&(cleartimeout(r),r=void 0),e.autoplay.running=!1,i("autoplaystop"),!0))}function d(t){e.autoplay.running&&(e.autoplay.paused||(r&&cleartimeout(r),e.autoplay.paused=!0,0!==t&&e.params.autoplay.waitfortransition?["transitionend","webkittransitionend"].foreach((t=>{e.$wrapperel[0].addeventlistener(t,u)})):(e.autoplay.paused=!1,n())))}function p(){const t=a();"hidden"===t.visibilitystate&&e.autoplay.running&&d(),"visible"===t.visibilitystate&&e.autoplay.paused&&(n(),e.autoplay.paused=!1)}function u(t){e&&!e.destroyed&&e.$wrapperel&&t.target===e.$wrapperel[0]&&(["transitionend","webkittransitionend"].foreach((t=>{e.$wrapperel[0].removeeventlistener(t,u)})),e.autoplay.paused=!1,e.autoplay.running?n():o())}function h(){e.params.autoplay.disableoninteraction?o():d(),["transitionend","webkittransitionend"].foreach((t=>{e.$wrapperel[0].removeeventlistener(t,u)}))}function m(){e.params.autoplay.disableoninteraction||(e.autoplay.paused=!1,n())}e.autoplay={running:!1,paused:!1},t({autoplay:{enabled:!1,delay:3e3,waitfortransition:!0,disableoninteraction:!0,stoponlastslide:!1,reversedirection:!1,pauseonmouseenter:!1}}),s("init",(()=>{if(e.params.autoplay.enabled){l();a().addeventlistener("visibilitychange",p),e.params.autoplay.pauseonmouseenter&&(e.$el.on("mouseenter",h),e.$el.on("mouseleave",m))}})),s("beforetransitionstart",((t,s,a)=>{e.autoplay.running&&(a||!e.params.autoplay.disableoninteraction?e.autoplay.pause(s):o())})),s("sliderfirstmove",(()=>{e.autoplay.running&&(e.params.autoplay.disableoninteraction?o():d())})),s("touchend",(()=>{e.params.cssmode&&e.autoplay.paused&&!e.params.autoplay.disableoninteraction&&n()})),s("destroy",(()=>{e.$el.off("mouseenter",h),e.$el.off("mouseleave",m),e.autoplay.running&&o();a().removeeventlistener("visibilitychange",p)})),object.assign(e.autoplay,{pause:d,run:n,start:l,stop:o})},function({swiper:e,extendparams:t,on:s}){t({thumbs:{swiper:null,multipleactivethumbs:!0,autoscrolloffset:0,slidethumbactiveclass:"swiper-slide-thumb-active",thumbscontainerclass:"swiper-thumbs"}});let a=!1,i=!1;function r(){const t=e.thumbs.swiper;if(!t)return;const s=t.clickedindex,a=t.clickedslide;if(a&&d(a).hasclass(e.params.thumbs.slidethumbactiveclass))return;if(null==s)return;let i;if(i=t.params.loop?parseint(d(t.clickedslide).attr("data-swiper-slide-index"),10):s,e.params.loop){let t=e.activeindex;e.slides.eq(t).hasclass(e.params.slideduplicateclass)&&(e.loopfix(),e._clientleft=e.$wrapperel[0].clientleft,t=e.activeindex);const s=e.slides.eq(t).prevall(`[data-swiper-slide-index="${i}"]`).eq(0).index(),a=e.slides.eq(t).nextall(`[data-swiper-slide-index="${i}"]`).eq(0).index();i=void 0===s?a:void 0===a?s:a-t1?a:o:a-oe.previousindex?"next":"prev"}else n=e.realindex,l=n>e.previousindex?"next":"prev";r&&(n+="next"===l?i:-1*i),s.visibleslidesindexes&&s.visibleslidesindexes.indexof(n)<0&&(s.params.centeredslides?n=n>o?n-math.floor(a/2)+1:n+math.floor(a/2)-1:n>o&&s.params.slidespergroup,s.slideto(n,t?0:void 0))}let n=1;const l=e.params.thumbs.slidethumbactiveclass;if(e.params.slidesperview>1&&!e.params.centeredslides&&(n=e.params.slidesperview),e.params.thumbs.multipleactivethumbs||(n=1),n=math.floor(n),s.slides.removeclass(l),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let t=0;t{const{thumbs:t}=e.params;t&&t.swiper&&(n(),l(!0))})),s("slidechange update resize observerupdate",(()=>{e.thumbs.swiper&&l()})),s("settransition",((t,s)=>{const a=e.thumbs.swiper;a&&a.settransition(s)})),s("beforedestroy",(()=>{const t=e.thumbs.swiper;t&&i&&t&&t.destroy()})),object.assign(e.thumbs,{init:n,update:l})},function({swiper:e,extendparams:t,emit:s,once:a}){t({freemode:{enabled:!1,momentum:!0,momentumratio:1,momentumbounce:!0,momentumbounceratio:1,momentumvelocityratio:1,sticky:!1,minimumvelocity:.02}}),object.assign(e,{freemode:{ontouchmove:function(){const{toucheventsdata:t,touches:s}=e;0===t.velocities.length&&t.velocities.push({position:s[e.ishorizontal()?"startx":"starty"],time:t.touchstarttime}),t.velocities.push({position:s[e.ishorizontal()?"currentx":"currenty"],time:u()})},ontouchend:function({currentpos:t}){const{params:i,$wrapperel:r,rtltranslate:n,snapgrid:l,toucheventsdata:o}=e,d=u()-o.touchstarttime;if(t<-e.mintranslate())e.slideto(e.activeindex);else if(t>-e.maxtranslate())e.slides.length1){const t=o.velocities.pop(),s=o.velocities.pop(),a=t.position-s.position,r=t.time-s.time;e.velocity=a/r,e.velocity/=2,math.abs(e.velocity)150||u()-t.time>300)&&(e.velocity=0)}else e.velocity=0;e.velocity*=i.freemode.momentumvelocityratio,o.velocities.length=0;let t=1e3*i.freemode.momentumratio;const d=e.velocity*t;let p=e.translate+d;n&&(p=-p);let c,h=!1;const m=20*math.abs(e.velocity)*i.freemode.momentumbounceratio;let f;if(pe.mintranslate())i.freemode.momentumbounce?(p-e.mintranslate()>m&&(p=e.mintranslate()+m),c=e.mintranslate(),h=!0,o.allowmomentumbounce=!0):p=e.mintranslate(),i.loop&&i.centeredslides&&(f=!0);else if(i.freemode.sticky){let t;for(let e=0;e-p){t=e;break}p=math.abs(l[t]-p){e.loopfix()})),0!==e.velocity){if(t=n?math.abs((-p-e.translate)/e.velocity):math.abs((p-e.translate)/e.velocity),i.freemode.sticky){const s=math.abs((n?-p:p)-e.translate),a=e.slidessizesgrid[e.activeindex];t=s{e&&!e.destroyed&&o.allowmomentumbounce&&(s("momentumbounce"),e.settransition(i.speed),settimeout((()=>{e.settranslate(c),r.transitionend((()=>{e&&!e.destroyed&&e.transitionend()}))}),0))}))):e.velocity?(s("_freemodenomomentumrelease"),e.updateprogress(p),e.settransition(t),e.settranslate(p),e.transitionstart(!0,e.swipedirection),e.animating||(e.animating=!0,r.transitionend((()=>{e&&!e.destroyed&&e.transitionend()})))):e.updateprogress(p),e.updateactiveindex(),e.updateslidesclasses()}else{if(i.freemode.sticky)return void e.slidetoclosest();i.freemode&&s("_freemodenomomentumrelease")}(!i.freemode.momentum||d>=i.longswipesms)&&(e.updateprogress(),e.updateactiveindex(),e.updateslidesclasses())}}}})},function({swiper:e,extendparams:t}){let s,a,i;t({grid:{rows:1,fill:"column"}}),e.grid={initslides:t=>{const{slidesperview:r}=e.params,{rows:n,fill:l}=e.params.grid;a=s/n,i=math.floor(t/n),s=math.floor(t/n)===t/n?t:math.ceil(t/n)*n,"auto"!==r&&"row"===l&&(s=math.max(s,r*n))},updateslide:(t,r,n,l)=>{const{slidespergroup:o,spacebetween:d}=e.params,{rows:p,fill:c}=e.params.grid;let u,h,m;if("row"===c&&o>1){const e=math.floor(t/(o*p)),a=t-p*o*e,i=0===e?o:math.min(math.ceil((n-e*p*o)/p),o);m=math.floor(a/i),h=a-m*i+e*o,u=h+m*s/p,r.css({"-webkit-order":u,order:u})}else"column"===c?(h=math.floor(t/p),m=t-h*p,(h>i||h===i&&m===p-1)&&(m+=1,m>=p&&(m=0,h+=1))):(m=math.floor(t/a),h=t-m*a);r.css(l("margin-top"),0!==m?d&&`${d}px`:"")},updatewrappersize:(t,a,i)=>{const{spacebetween:r,centeredslides:n,roundlengths:l}=e.params,{rows:o}=e.params.grid;if(e.virtualsize=(t+r)*s,e.virtualsize=math.ceil(e.virtualsize/o)-r,e.$wrapperel.css({[i("width")]:`${e.virtualsize+r}px`}),n){a.splice(0,a.length);const t=[];for(let s=0;s{const{slides:t}=e,s=e.params.fadeeffect;for(let a=0;a{const{transformel:s}=e.params.fadeeffect;(s?e.slides.find(s):e.slides).transition(t),k({swiper:e,duration:t,transformel:s,allslides:!0})},overwriteparams:()=>({slidesperview:1,slidespergroup:1,watchslidesprogress:!0,spacebetween:0,virtualtranslate:!e.params.cssmode})})},function({swiper:e,extendparams:t,on:s}){t({cubeeffect:{slideshadows:!0,shadow:!0,shadowoffset:20,shadowscale:.94}}),f({effect:"cube",swiper:e,on:s,settranslate:()=>{const{$el:t,$wrapperel:s,slides:a,width:i,height:r,rtltranslate:n,size:l,browser:o}=e,p=e.params.cubeeffect,c=e.ishorizontal(),u=e.virtual&&e.params.virtual.enabled;let h,m=0;p.shadow&&(c?(h=s.find(".swiper-cube-shadow"),0===h.length&&(h=d('
'),s.append(h)),h.css({height:`${i}px`})):(h=t.find(".swiper-cube-shadow"),0===h.length&&(h=d('
'),t.append(h))));for(let e=0;e-1&&(m=90*s+90*o,n&&(m=90*-s-90*o)),t.transform(v),p.slideshadows){let e=c?t.find(".swiper-slide-shadow-left"):t.find(".swiper-slide-shadow-top"),s=c?t.find(".swiper-slide-shadow-right"):t.find(".swiper-slide-shadow-bottom");0===e.length&&(e=d(`
`),t.append(e)),0===s.length&&(s=d(`
`),t.append(s)),e.length&&(e[0].style.opacity=math.max(-o,0)),s.length&&(s[0].style.opacity=math.max(o,0))}}if(s.css({"-webkit-transform-origin":`50% 50% -${l/2}px`,"transform-origin":`50% 50% -${l/2}px`}),p.shadow)if(c)h.transform(`translate3d(0px, ${i/2+p.shadowoffset}px, ${-i/2}px) rotatex(90deg) rotatez(0deg) scale(${p.shadowscale})`);else{const e=math.abs(m)-90*math.floor(math.abs(m)/90),t=1.5-(math.sin(2*e*math.pi/360)/2+math.cos(2*e*math.pi/360)/2),s=p.shadowscale,a=p.shadowscale/t,i=p.shadowoffset;h.transform(`scale3d(${s}, 1, ${a}) translate3d(0px, ${r/2+i}px, ${-r/2/a}px) rotatex(-90deg)`)}const f=o.issafari||o.iswebview?-l/2:0;s.transform(`translate3d(0px,0,${f}px) rotatex(${e.ishorizontal()?0:m}deg) rotatey(${e.ishorizontal()?-m:0}deg)`)},settransition:t=>{const{$el:s,slides:a}=e;a.transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t),e.params.cubeeffect.shadow&&!e.ishorizontal()&&s.find(".swiper-cube-shadow").transition(t)},perspective:()=>!0,overwriteparams:()=>({slidesperview:1,slidespergroup:1,watchslidesprogress:!0,resistanceratio:0,spacebetween:0,centeredslides:!1,virtualtranslate:!0})})},function({swiper:e,extendparams:t,on:s}){t({flipeffect:{slideshadows:!0,limitrotation:!0,transformel:null}}),f({effect:"flip",swiper:e,on:s,settranslate:()=>{const{slides:t,rtltranslate:s}=e,a=e.params.flipeffect;for(let i=0;i{const{transformel:s}=e.params.flipeffect;(s?e.slides.find(s):e.slides).transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t),k({swiper:e,duration:t,transformel:s})},perspective:()=>!0,overwriteparams:()=>({slidesperview:1,slidespergroup:1,watchslidesprogress:!0,spacebetween:0,virtualtranslate:!e.params.cssmode})})},function({swiper:e,extendparams:t,on:s}){t({coverfloweffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideshadows:!0,transformel:null}}),f({effect:"coverflow",swiper:e,on:s,settranslate:()=>{const{width:t,height:s,slides:a,slidessizesgrid:i}=e,r=e.params.coverfloweffect,n=e.ishorizontal(),l=e.translate,o=n?t/2-l:s/2-l,d=n?r.rotate:-r.rotate,p=r.depth;for(let e=0,t=a.length;e0?l:0),s.length&&(s[0].style.opacity=-l>0?-l:0)}}},settransition:t=>{const{transformel:s}=e.params.coverfloweffect;(s?e.slides.find(s):e.slides).transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t)},perspective:()=>!0,overwriteparams:()=>({watchslidesprogress:!0})})},function({swiper:e,extendparams:t,on:s}){t({creativeeffect:{transformel:null,limitprogress:1,shadowperprogress:!1,progressmultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const a=e=>"string"==typeof e?e:`${e}px`;f({effect:"creative",swiper:e,on:s,settranslate:()=>{const{slides:t,$wrapperel:s,slidessizesgrid:i}=e,r=e.params.creativeeffect,{progressmultiplier:n}=r,l=e.params.centeredslides;if(l){const t=i[0]/2-e.params.slidesoffsetbefore||0;s.transform(`translatex(calc(50% - ${t}px))`)}for(let s=0;s0&&(f=r.prev,m=!0),u.foreach(((e,t)=>{u[t]=`calc(${e}px + (${a(f.translate[t])} * ${math.abs(d*n)}))`})),h.foreach(((e,t)=>{h[t]=f.rotate[t]*math.abs(d*n)})),i[0].style.zindex=-math.abs(math.round(o))+t.length;const g=u.join(", "),v=`rotatex(${h[0]}deg) rotatey(${h[1]}deg) rotatez(${h[2]}deg)`,w=p<0?`scale(${1+(1-f.scale)*p*n})`:`scale(${1-(1-f.scale)*p*n})`,b=p<0?1+(1-f.opacity)*p*n:1-(1-f.opacity)*p*n,x=`translate3d(${g}) ${v} ${w}`;if(m&&f.shadow||!m){let e=i.children(".swiper-slide-shadow");if(0===e.length&&f.shadow&&(e=z(r,i)),e.length){const t=r.shadowperprogress?d*(1/r.limitprogress):d;e[0].style.opacity=math.min(math.max(math.abs(t),0),1)}}const y=u(r,i);y.transform(x).css({opacity:b}),f.origin&&y.css("transform-origin",f.origin)}},settransition:t=>{const{transformel:s}=e.params.creativeeffect;(s?e.slides.find(s):e.slides).transition(t).find(".swiper-slide-shadow").transition(t),k({swiper:e,duration:t,transformel:s,allslides:!0})},perspective:()=>e.params.creativeeffect.perspective,overwriteparams:()=>({watchslidesprogress:!0,virtualtranslate:!e.params.cssmode})})},function({swiper:e,extendparams:t,on:s}){t({cardseffect:{slideshadows:!0,transformel:null}}),f({effect:"cards",swiper:e,on:s,settranslate:()=>{const{slides:t,activeindex:s}=e,a=e.params.cardseffect,{starttranslate:i,istouched:r}=e.toucheventsdata,n=e.translate;for(let l=0;l0&&p<1&&(r||e.params.cssmode)&&n-1&&(r||e.params.cssmode)&&n>i;if(w||b){const e=(1-math.abs((math.abs(p)-.5)/.5))**.5;g+=-28*p*e,f+=-.5*e,v+=96*e,h=-25*e*math.abs(p)+"%"}if(u=p<0?`calc(${u}px + (${v*math.abs(p)}%))`:p>0?`calc(${u}px + (-${v*math.abs(p)}%))`:`${u}px`,!e.ishorizontal()){const e=h;h=u,u=e}const x=`\n translate3d(${u}, ${h}, ${m}px)\n rotatez(${g}deg)\n scale(${p<0?""+(1+(1-f)*p):""+(1-(1-f)*p)})\n `;if(a.slideshadows){let e=o.find(".swiper-slide-shadow");0===e.length&&(e=z(a,o)),e.length&&(e[0].style.opacity=math.min(math.max((math.abs(p)-.5)/.5,0),1))}o[0].style.zindex=-math.abs(math.round(d))+t.length;u(a,o).transform(x)}},settransition:t=>{const{transformel:s}=e.params.cardseffect;(s?e.slides.find(s):e.slides).transition(t).find(".swiper-slide-shadow").transition(t),k({swiper:e,duration:t,transformel:s})},perspective:()=>!0,overwriteparams:()=>({watchslidesprogress:!0,virtualtranslate:!e.params.cssmode})})}];return h.use(j),h})); //# sourcemappingurl=swiper-bundle.min.js.map